# What is Qiskit's Transpiler method for unitary synthesis?

As I could found in here how the transpile works in qiskit, I understood that transpile gets arbitrary Unitary gate $$U$$ and some set of basis gates as input, and produce some quantum circuit of $$U$$ implemented with those basis gates.

So, I understood this transpile process as some sort of 'synthesis' problem that has been shown in some literature, but I can't find which synthesis method does Qiskit implemented for their transpile process. Will there be any references or docs that I can refer to?

The function transpile uses unitary synthesis methods. That's done by a transpiler pass called UnitarySynthesis (source code here). Depending on the size of the gate to synthesize it has different methods. For example, single-qubit gates are converted into Euler angle rotations by qiskit.quantum_info.synthesis.OneQubitEulerDecomposer (source code here).