jonathanfishbein1 / elm-quantum / Quantum

Quantum Computing Simulator in Elm

Types

Unitary Operations

variance : Ket (ComplexNumbers.ComplexNumber Basics.Float) -> HermitianMatrix Basics.Float -> Result String (Real Basics.Float)

variance

Binary Operations

multiplyInvertableMatrixKet : RowVector.InnerProductSpace a -> InvertableMatrix a -> Ket a -> Result String (Ket a)

Multiply a Vector by a Matrix

Quantum Operators

h : InvertableMatrix (Real Basics.Float)

Hadamard Operation

hComplex : UnitaryMatrix Basics.Float

Hadamard Operation

x : InvertableMatrix (Real Basics.Float)

NOT Operation

squareRootNot : InvertableMatrix (Real Basics.Float)

square root of NOT Operation

sigmaXReal : InvertableMatrix (Real Basics.Float)

SigmaX Operation

sigmaX : UnitaryMatrix Basics.Float

SigmaX Operation

sigmaY : UnitaryMatrix Basics.Float

SigmaX Operation

sigmaZ : UnitaryMatrix Basics.Float

SigmaX Operation

z : InvertableMatrix (Real Basics.Float)

z Operation

toffoli : InvertableMatrix (Real Basics.Float)

Toffoli Operation

fredkin : InvertableMatrix Basics.Float

Fredkin Operation

t : UnitaryMatrix Basics.Float

t Operation

s : UnitaryMatrix Basics.Float

s Operation

cNOT : InvertableMatrix (Real Basics.Float)

controlled-NOT Operation

and : InvertableMatrix (Real Basics.Float)

and Operation

probabilityOfState : RowVector.InnerProductSpace a -> Ket a -> Bra a -> Result String a

Calculate the probability of end state, the Bra.Bra, with given start state, the Ket.Ket

multiplyHermitianMatrixKet : HermitianMatrix Basics.Float -> Ket (ComplexNumbers.ComplexNumber Basics.Float) -> Result String (Ket (ComplexNumbers.ComplexNumber Basics.Float))

Multiply a Vector by a Matrix

expectedValue : Ket (ComplexNumbers.ComplexNumber Basics.Float) -> HermitianMatrix Basics.Float -> Result String (Real Basics.Float)

Calculate the expected value when a Ket.Ket is multiplied by a Hermitian Matrix

varianceHermitianOperator : Ket (ComplexNumbers.ComplexNumber Basics.Float) -> HermitianMatrix Basics.Float -> Result String (HermitianMatrix Basics.Float)

varianceHermitianOperator