clifford-0.1.0.1: A Clifford algebra library

Safe HaskellNone

Numeric.Clifford.Multivector

Synopsis

Documentation

data Multivector n f whereSource

Constructors

BladeSum :: forall n f. (SingI n, C f, Ord f) => [Blade n f] -> Multivector n f 

Fields

_terms :: [Blade n f]
 

Instances

(C f, Ord f, SingI Nat n) => C f (Multivector n f) 
(C f, Ord f, SingI Nat n) => C f (Multivector n f) 
(C f, SingI Nat n, Ord f) => Monoid (Sum (Multivector n f)) 
(C f, SingI Nat n, Ord f) => Monoid (Product (Multivector n f)) 
Eq (Multivector n f) 
(C f, SingI Nat n, Ord f) => Num (Multivector n f) 
Ord (Multivector n f) 
Show f => Show (Multivector n f) 
NFData f => NFData (Multivector n f) 
(C f, C f, Ord f, SingI Nat n) => C (Multivector n f) 
(C f, Ord f, SingI Nat n) => C (Multivector n f) 
(C f, Ord f, SingI Nat n) => C (Multivector n f) 

dimension :: forall n f. SingI n => Multivector n f -> NaturalSource

addLikeTerms' :: (Eq f, SingI Nat n, C f) => [Blade n f] -> [Blade n f]Source

groupLikeTerms :: Eq f => [Blade n f] -> [[Blade n f]]Source

compensatedSum' :: C f => [f] -> fSource

multiplyOutBlades :: (SingI n, C a) => [Blade n a] -> [Blade n a] -> [Blade n a]Source

multiplyList :: (Ord t1, SingI Nat t, C t1) => [Multivector t t1] -> Multivector t t1Source

sumList :: (Ord t1, SingI Nat t, C t1) => [Multivector t t1] -> Multivector t t1Source

sumLikeTerms :: (C f, SingI n) => [[Blade n f]] -> [Blade n f]Source

e :: (C f, Ord f, SingI n) => f -> [Natural] -> Multivector n fSource

scalar :: (Ord f, SingI Nat n, C f) => f -> Multivector n fSource

two :: C a => aSource

mul :: C a => a -> a -> aSource

magnitude :: C c => Multivector n c -> cSource

(/) :: (C f, Ord f, SingI n) => Multivector n f -> f -> Multivector n fSource

(</) :: (Ord f, SingI Nat n, C f) => Multivector n f -> Multivector n f -> Multivector n fSource

(/>) :: (Ord f, SingI Nat n, C f) => Multivector n f -> Multivector n f -> Multivector n fSource

(</>) :: (Ord f, SingI Nat n, C f) => Multivector n f -> Multivector n f -> Multivector n fSource

integratePoly :: (Ord b, SingI Nat n, C b) => Multivector n b -> [Multivector n b] -> [Multivector n b]Source

converge :: (Eq a, Show a) => [a] -> aSource

aitkensAcceleration :: (Ord t1, SingI Nat t, C t1) => [Multivector t t1] -> [Multivector t t1]Source

exp :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

takeEvery :: Int -> [a] -> [a]Source

cosh :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

sinh :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

seriesPlusMinus :: C a => [a] -> [a]Source

seriesMinusPlus :: C a => [a] -> [a]Source

sin :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

sinTerms :: (Ord f, SingI Nat n, C f) => Multivector n f -> [Multivector n f]Source

cos :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

cosTerms :: (Ord f, SingI Nat n, C f) => Multivector n f -> [Multivector n f]Source

expTerms :: (Ord f, SingI Nat n, C f) => Multivector n f -> [Multivector n f]Source

dot :: (Ord t1, SingI Nat t, C t1) => Multivector t t1 -> Multivector t t1 -> Multivector t t1Source

wedge :: (Ord t1, SingI Nat t, C t1) => Multivector t t1 -> Multivector t t1 -> Multivector t t1Source

(∧) :: (Ord t1, SingI Nat t, C t1) => Multivector t t1 -> Multivector t t1 -> Multivector t t1Source

(⋅) :: (Ord t1, SingI Nat t, C t1) => Multivector t t1 -> Multivector t t1 -> Multivector t t1Source

inverse :: (Ord f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

recip :: (Ord f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

root :: (Show f, Ord f, C f, SingI d) => Integer -> Multivector d f -> Multivector d fSource

pow :: (Ord f, Show f, SingI Nat n, C f, C a) => Multivector n f -> a -> Multivector n fSource

halleysMethod :: (Show a, Ord a, C a, SingI d) => (Multivector d a -> Multivector d a) -> (Multivector d a -> Multivector d a) -> (Multivector d a -> Multivector d a) -> Multivector d a -> [Multivector d a]Source

secantMethod :: (Ord f, SingI Nat n, C f) => (Multivector n f -> Multivector n f) -> Multivector n f -> Multivector n f -> [Multivector n f]Source

log :: (Ord f, Show f, SingI Nat n, C f) => Multivector n f -> Multivector n fSource

makeSerialize ''Blade) $(derive makeSerialize ''Multivector) $(derive makeData ''Blade) $(derive makeTypeable ''Blade) $(derive makeData ''Multivector) $(derive makeTypeable ''Multivector)

makeArbitrary ''Multivector)