CliffordAlgebra(n, K, bLin)¶
clifford.spad line 348 [edit on github]
K: Field
bLin: SquareMatrix(n, K)
CliffordAlgebra(n
, K
, bLin) defines a module of dimension 2^n
over K
, given a bilinear form bLin on K^n
. Examples of Clifford Algebras are: gaussians, quaternions, exterior algebras and spin algebras.
- 0: %
from AbelianMonoid
- 1: %
from MagmaWithUnit
- *: (%, %) -> %
from Magma
- *: (%, K) -> %
from RightModule K
- *: (Integer, %) -> %
from AbelianGroup
- *: (K, %) -> %
from LeftModule K
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> %
from AbelianGroup
- -: (%, %) -> %
from AbelianGroup
- /\: (%, %) -> %
Implement exterior grassmann product operator need to check precedence when used as an infix operator
- \/: (%, %) -> %
Implement regressive inner, meet product operator need to check precedence when used as an infix operator
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- ~: % -> %
reverse, complement, canonical dual basis
- annihilate?: (%, %) -> Boolean
from Rng
- antiCommutator: (%, %) -> %
- associator: (%, %, %) -> %
from NonAssociativeRng
- characteristic: () -> NonNegativeInteger
from NonAssociativeRing
- coefficient: (%, List PositiveInteger) -> K
coefficient(x, [i1, i2, ..., iN])
extracts the coefficient ofe(i1)*e(i2)*...*e(iN)
inx
.
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: Integer -> %
from NonAssociativeRing
- coerce: K -> %
from Algebra K
- commutator: (%, %) -> %
from NonAssociativeRng
- conj: % -> %
implements Clifford conjugate for a multivector by involution and reverse of each term separately using: grade: 0 1 2 3… multi: 1
-1
-1
1…
- e: PositiveInteger -> %
e(n)
produces phi(e_i) where e_i isi
-th basis vector inK^n
and phi is canonical embedding ofK^n
into Clifford algebra.
- ee: List PositiveInteger -> %
to allow entries like: ee[1, 2]
- eFromBinaryMap: NonNegativeInteger -> %
eFromBinaryMap(n)
sets the appropriate Grassmann basis, for example: eFromBinaryMap(0) = 1 (scalar) eFromBinaryMap(1) =e1
eFromBinaryMap(2) =e2
eFromBinaryMap(3) = e1/e2
- ePseudoscalar: () -> %
unit pseudoscalar
- grade: % -> NonNegativeInteger
return the max grade of multivector, for example 1 is grade 0
e1
is grade 1 e1/e2 is grade 2 and so on
- gradeInvolution: % -> %
x
= ((-1
)^grade(x
))*x
- latex: % -> String
from SetCategory
- lc: (%, %) -> %
left contraction inner product
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
from MagmaWithUnit
- monomial: (K, List PositiveInteger) -> %
monomial(c, [i1, i2, ..., iN])
produces the value given byc*e(i1)*e(i2)*...*e(iN)
.
- multivector: List K -> %
to allow entries like: 1+2*e1+3*e2+4*e1e2 = multivector[1, 2, 3, 4]
- one?: % -> Boolean
from MagmaWithUnit
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- plenaryPower: (%, PositiveInteger) -> %
from NonAssociativeAlgebra K
- rc: (%, %) -> %
right contraction inner product
- recip: % -> Union(%, failed)
recip(x)
computes the multiplicative inverse ofx
or “failed” ifx
is not invertible.
- reverse: % -> %
implements reverse for a single term by using: grade: 0 1 2 3… multi: 1 1
-1
-1
…
- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> %
from Magma
- rightRecip: % -> Union(%, failed)
from MagmaWithUnit
- sample: %
from AbelianMonoid
- setMode: (String, Boolean) -> Boolean
setMode(s, b)
allows override of parameters such as orthogonal used for debugging
- subtractIfCan: (%, %) -> Union(%, failed)
- toTable: (% -> %) -> Matrix %
displays table of unary function such as inverse, reverse, complement, or dual basis could have returned type ‘List List %’ but matrix displays better
- toTable: ((%, %) -> %) -> Matrix %
displays multiplication table for binary operation which is represented as a function with two parameters. row number represents first operand in binary order column number represents second operand in binary order could have returned type ‘List List %’ but matrix displays better
- zero?: % -> Boolean
from AbelianMonoid
Algebra K
BiModule(%, %)
BiModule(K, K)
Module K