numeric-quest-0.2: Math and quantum mechanics

Safe HaskellSafe-Infered

QuantumVector

Documentation

class DiracVector a whereSource

Methods

add :: a -> a -> aSource

scale :: Scalar -> a -> aSource

reduce :: a -> aSource

basis :: a -> [a]Source

components :: a -> [Scalar]Source

compose :: [Scalar] -> [a] -> aSource

dimension :: a -> IntSource

norm :: a -> DoubleSource

normalize :: a -> aSource

Instances

Ord a => DiracVector (Bra a) 
Ord a => DiracVector (Ket a) 

data Ket a Source

Constructors

KetZero 
Ket a 
Scalar :|> (Ket a) 
(Ket a) :+> (Ket a) 

Instances

(Eq a, Ord a) => Eq (Ket a) 
(Show a, Eq a, Ord a) => Show (Ket a) 
Ord a => DiracVector (Ket a) 

(*>) :: (Ord a, Ord b) => Ket a -> Ket b -> Ket (Tuple a b)Source

(|>) :: Ord a => Scalar -> Ket a -> Ket aSource

(+>) :: Ord a => Ket a -> Ket a -> Ket aSource

reduceKet :: Ord a => Ket a -> Ket aSource

ketBasis :: Ord a => Ket a -> [Ket a]Source

toBra :: Ord a => Ket a -> Bra aSource

data Bra a Source

Constructors

BraZero 
Bra a 
Scalar :<| (Bra a) 
(Bra a) :<+ (Bra a) 

Instances

(Eq a, Ord a) => Eq (Bra a) 
(Show a, Eq a, Ord a) => Show (Bra a) 
Ord a => DiracVector (Bra a) 

(<*) :: (Ord a, Ord b) => Bra a -> Bra b -> Bra (Tuple a b)Source

(<|) :: Ord a => Scalar -> Bra a -> Bra aSource

(<+) :: Ord a => Bra a -> Bra a -> Bra aSource

reduceBra :: Ord a => Bra a -> Bra aSource

braBasis :: Ord a => Bra a -> [Bra a]Source

toKet :: Ord a => Bra a -> Ket aSource

(<>) :: Ord a => Bra a -> Ket a -> ScalarSource

d :: Eq a => a -> a -> ScalarSource

closure :: (DiracVector a, DiracVector b) => (a -> b) -> a -> bSource

(><) :: (DiracVector b, DiracVector a) => (a -> b) -> a -> bSource

label :: t -> Ket t1 -> Ket (t, t1)Source

label' :: (Ord a, Ord b) => Ket (a, b) -> Ket bSource

data Tuple a b Source

Constructors

a :* b 

Instances

(Eq a, Eq b) => Eq (Tuple a b) 
(Ord a, Ord b) => Ord (Tuple a b) 
(Show a, Show b) => Show (Tuple a b)