# What is the general unitary matrix for two- and three-qubit states?

As pointed out in the QisKit tutorial here, for one qubit there exists a general unitary (see the expression for it in the previous link). I wonder if there exists equally unambiguous expressions for two and three qubits that allow transformation from separable states to all the interesting states, like entangled states in the case of two qubits or GHZ states in the case of three qubits. I was looking at how plot_bloch_multivector works as shown here. Is this in the right direction? An educated guess could be using the SU(N) matrices? It is a 4x4 matrix for two qubits and a 8x8 matrix for three qubits; and then decompose such SU(N) matrices in terms of Pauli and Clifford gates? I don't know if this is possible because the SU(N) matrices are supposed to be given in a parametric form. Another alternative that seems compelling is using Givens rotations, which are a general technique used to parametrize unitary matrices. However, I have no idea on how to implement this.

For a $$U \in SU(2^{1})$$, the one qubit case, the Euler angle representation can be found in any good textbook on quantum mechanics or Lie algebras: $$U=\mathrm{e}^{\mathrm{i} \sigma_3 \alpha_1} \mathrm{e}^{\mathrm{i} \sigma_2 \alpha_2} \mathrm{e}^{\mathrm{i} \sigma_3 \alpha_3}$$ For a $$U \in SU(3)$$, not directly related to qubits, the Euler angle parametrization can be written as: $$U=\mathrm{e}^{\mathrm{i} \lambda_3 \alpha_1} \mathrm{e}^{\mathrm{i} \lambda_2 \alpha_2} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_3} \mathrm{e}^{\mathrm{i} \lambda_5 \alpha_4} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_5} \mathrm{e}^{\mathrm{i} \lambda_2 \alpha_6} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_7} \mathrm{e}^{\mathrm{i} \lambda_8 \alpha_8}$$ For a $$U \in SU(2^2)$$, the two qubits case, the Euler angle parametrization can be written as \begin{aligned} U=\mathrm{e}^{\mathrm{i} \lambda_3 \alpha_1} \mathrm{e}^{\mathrm{i} \lambda_2 \alpha_2} & \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_3} \mathrm{e}^{\mathrm{i} \lambda_5 \alpha_4} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_5} \mathrm{e}^{\mathrm{i} \lambda_{10} \alpha_6} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_7} \mathrm{e}^{\mathrm{i} \lambda_2 \alpha_8} \\ & \times \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_9} \mathrm{e}^{\mathrm{i} \lambda_5 \alpha_{10}} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_{11}} \mathrm{e}^{\mathrm{i} \lambda_2 \alpha_{12}} \mathrm{e}^{\mathrm{i} \lambda_3 \alpha_{13}} \mathrm{e}^{\mathrm{i} \lambda_8 \alpha_{14}} \mathrm{e}^{\mathrm{i} \lambda_{15} \alpha_{15}} . \end{aligned} This paper propose a recipe to find the Euler angle parametrization for a $$U \in S U(N)$$ for arbitrary $$N$$. Furthermore, here is a generalization of this to the Block vector formalism.
• In contrast to @drumadoir answer, a good parametrization for two qubits case is not a matter of taking Kronecker products of one qubit parametrization. The number of parameters does not grow as $3^n$. Jun 16, 2023 at 11:37