I am new to Quantum Computing. I would really appreciate if some one could offer me some ideas, suggestions and/or useful references to solve the following problem about realizing an arbitrary operator by a quantum circuit.
If I start with a general two-qubit operator $\hat{U}$ (which corresponds to a 4 by 4 unitary matrix $U$ in the computational basis), what is the strategy to (1) decompose $U$ into the basic gates, such as the $CNOT$ gate, the Hadamard gate $H$, and the single-qubit rotational gates ($R_x$, $R_y$ and $R_z$); (2) design the corresponding quantum circuit to realize this two-qubit operator $\hat{U}$ (either with ancillary qubits or not)?
In other words, what is the strategy (1) to convert the following unitary matrix (two-qubit operator $\hat{U}$ in the computational basis $\{ |00\rangle, \ |01\rangle, \ |10\rangle, \ |10\rangle \}$) \begin{align} U= \begin{pmatrix} a & b & c & d \\ b^{\ast} & f & g & h \\ c^{\ast} & g^{\ast} & i & j \\ d^{\ast} & h^{\ast} & j^{\ast} & k \end{pmatrix} \ , \end{align} into the basic gates (e.g., $CNOT$, $H$, $R_x$, $R_y$ and $R_z$ gates); and (2) to realize the unitary matrix $U$ in a quantum circuit?
Thank you!