newsynth-0.4.0.0: Exact and approximate synthesis of quantum circuits

Safe HaskellNone
LanguageHaskell98

Quantum.Synthesis.EulerAngles

Contents

Description

This module provides functions for converting between matrices in U(2) and their Euler angle representation.

Synopsis

Documentation

euler_angles :: (Floating a, ArcTan2 a) => Matrix Two Two (Cplx a) -> (a, a, a, a) Source #

Decompose a unitary operator U into Euler angles (α, β, γ, δ). These angles are computed so that

  • U = eiα Rz(β) Rx(γ) Rz(δ).

matrix_of_euler_angles :: Floating a => (a, a, a, a) -> Matrix Two Two (Cplx a) Source #

Compute the operator

  • U = eiα Rz(β) Rx(γ) Rz(δ).

from the given Euler angles.