Se.SBackend
A Symbolic backend to simulate quantum circuits
type qstate = Symbolic.Expr.t array
val init : int -> Symbolic.Expr.t array
Initialises a state vector given a number of qubits.
val controls_check : int -> Circuit.adr list -> bool
Check if an iteration should execute based on the controls of the gate.
type matrix =
Symbolic.Expr.t * Symbolic.Expr.t * Symbolic.Expr.t * Symbolic.Expr.t
val cpx_inv_sqrt_2 : Symbolic.Expr.t
val cpx_2_pi : Symbolic.Expr.t
val cpx_pow_2 : int -> Symbolic.Expr.t
val cpx_omega : int -> Symbolic.Expr.t
val matrix_for_gate : Circuit.gate_kind -> matrix
Returns the symbolic matrix corresponding to a gate kind.
val apply_gate : Circuit.gate -> qstate -> unit
Applies a gate to a state vector using symbolic QWM (2^(n-1) iterations).