clifford-0.1.0.13: A Clifford algebra library

Safe HaskellNone

Numeric.Clifford.LinearOperators

Documentation

data LinearOperator' p q f g whereSource

Constructors

LinearOperator' :: (Multivector p q f -> Multivector p q g) -> LinearOperator' p q f g 

Fields

_operator' :: Multivector p q f -> Multivector p q g
 
LinearOperator :: (Multivector p q f -> Multivector p q f) -> LinearOperator' p q f f 

Fields

_operator :: Multivector p q f -> Multivector p q f
 

Instances

Category (LinearOperator' p q) 
(C f, Ord f, C g, Ord g, SingI Nat p, SingI Nat q, ~ * f g) => Monoid (LinearOperator' p q f g) 

type LinearOperatorCreator p q f = (C f, Ord f, SingI p, SingI q) => Multivector p q f -> LinearOperator p q fSource

createFunctionalFromElements :: forall p q f. (C f, Ord f, SingI p, SingI q) => [[f]] -> Multivector p q f -> Multivector p q fSource

createLinearOperatorFromElements :: forall p q f. (C f, Ord f, SingI p, SingI q) => [[f]] -> LinearOperator p q fSource

reflect :: (Num a, C a) => a -> a -> aSource

rotate :: (Ord t2, SingI Nat t, SingI Nat t1, C t2) => Multivector t t1 t2 -> Multivector t t1 t2 -> Multivector t t1 t2Source

rotatePlaneAngle :: (Ord b, Show b, SingI Nat p, SingI Nat q, C b) => Multivector p q b -> Multivector p q b -> Multivector p q b -> Multivector p q bSource

project :: (Ord t2, SingI Nat t, SingI Nat t1, C t2) => Multivector t t1 t2 -> Multivector t t1 t2 -> Multivector t t1 t2Source