numeric-quest-0.2.0.1: Math and quantum mechanics

Safe HaskellSafe-Inferred
LanguageHaskell98

QuantumVector

Documentation

class DiracVector a where Source

Minimal complete definition

add, scale, reduce, basis, components, compose, norm

Methods

add :: a -> a -> a Source

scale :: Scalar -> a -> a Source

reduce :: a -> a Source

basis :: a -> [a] Source

components :: a -> [Scalar] Source

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

dimension :: a -> Int Source

norm :: a -> Double Source

normalize :: a -> a Source

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) infixl 7 Source

(|>) :: Ord a => Scalar -> Ket a -> Ket a infix 6 Source

(+>) :: Ord a => Ket a -> Ket a -> Ket a infixl 5 Source

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

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

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

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) infixl 7 Source

(<|) :: Ord a => Scalar -> Bra a -> Bra a infix 6 Source

(<+) :: Ord a => Bra a -> Bra a -> Bra a infixl 5 Source

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

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

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

(<>) :: Ord a => Bra a -> Ket a -> Scalar infix 4 Source

d :: Eq a => a -> a -> Scalar Source

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

(><) :: (DiracVector b, DiracVector a) => (a -> b) -> a -> b infix 5 Source

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

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

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)