Ket Module
Ket Type
{ abelianGroup : AbelianGroup (Ket a)
, vectorScalarMultiplication : a -> Ket a -> Ket a
, field : Field a
}
Type to represent a Vector Space
{ vectorSpace : VectorSpace a
, innerProduct : Ket a -> Ket a -> a
, length : Ket a -> Real Basics.Float
, distance : Ket a -> Ket a -> Real Basics.Float
}
Type to represent an Inner Product Space
ket0 : Ket (Real Basics.Float)
Ket representing zero state
ket1 : Ket (Real Basics.Float)
Ket representing one state
ketPlus : Ket (Real Basics.Float)
Ket representing + state
ketMinus : Ket (Real Basics.Float)
Ket representing + state
ketComplex0 : Ket (ComplexNumbers.ComplexNumber Basics.Float)
Ket representing zero state with complex numbers
ketComplex1 : Ket (ComplexNumbers.ComplexNumber Basics.Float)
Ket representing one state with complex numbers
ketComplexPlus : Ket (ComplexNumbers.ComplexNumber Basics.Float)
Ket representing + state with complex numbers
ketComplexMinus : Ket (ComplexNumbers.ComplexNumber Basics.Float)
Ket representing + state with complex numbers
ketEmpty : Ket a
Empty ket
scalarMultiplication : Field a -> a -> Ket a -> Ket a
Multiply a Ket by a Scalar
dimension : Ket a -> Basics.Int
Count of number of elements in a Ket
sum : Monoid a -> Ket a -> a
Calculate the sum of a Ket
foldl : (a -> b -> b) -> b -> Ket a -> b
Left fold over a Ket
map : (a -> b) -> Ket a -> Ket b
Map over a vector
lengthReal : Ket (Real Basics.Float) -> Real Basics.Float
Calculate the length of a Real valued Vector
lengthComplex : Ket (ComplexNumbers.ComplexNumber Basics.Float) -> Real Basics.Float
Calculate the length of a Complex valued Vector
normaliseReal : Ket (Real Basics.Float) -> Ket (Real Basics.Float)
Adjust a real valued column vector so that its length is exactly one
normaliseComplex : Ket (ComplexNumbers.ComplexNumber Basics.Float) -> Ket (ComplexNumbers.ComplexNumber Basics.Float)
Adjust a complex valued column vector so that its length is exactly one
conjugate : Ket (ComplexNumbers.ComplexNumber number) -> Ket (ComplexNumbers.ComplexNumber number)
Take the complex conjugate of a Complex Numbered Vector
add : Field a -> Ket a -> Ket a -> Ket a
Add two Kets
equal : (a -> a -> Basics.Bool) -> Ket a -> Ket a -> Basics.Bool
Compare two vectors for equality using a comparator
getAt : Basics.Int -> Ket a -> Maybe a
Get the value in a Ket at the specified index
setAt : Basics.Int -> a -> Ket a -> Ket a
Set the value in a Ket at the specified index