CliffordAlgebra(n, K, bLin)
clifford.spad line 348
[edit on github]
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.
- * : (%, %) -> %
- from Magma
- * : (%, K) -> %
- from RightModule(K)
- * : (K, %) -> %
- from LeftModule(K)
- * : (Integer, %) -> %
- from AbelianGroup
- * : (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
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> %
- from MagmaWithUnit
- = : (%, %) -> Boolean
- from BasicType
- \/ : (%, %) -> %
Implement regressive inner, meet product operator need to check precedence when used as an infix operator
- ^ : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> %
- from Magma
- annihilate? : (%, %) -> Boolean
- from Rng
- antiCommutator : (%, %) -> %
- from NonAssociativeSemiRng
- associator : (%, %, %) -> %
- from NonAssociativeRng
- characteristic : () -> NonNegativeInteger
- from NonAssociativeRing
- coefficient : (%, List(PositiveInteger)) -> K
coefficient(x, [i1, i2, ..., iN])
extracts the coefficient of e(i1)*e(i2)*...*e(iN)
in x
.
- coerce : K -> %
- from Algebra(K)
- coerce : Integer -> %
- from NonAssociativeRing
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- 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 is i
-th basis vector in K^n
and phi is canonical embedding of K^n
into Clifford algebra.
- 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
- ee : List(PositiveInteger) -> %
to allow entries like: ee[1, 2]
- 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 by c*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 of x
or "failed" if x
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")
- from CancellationAbelianMonoid
- toTable : Mapping(%, %) -> 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 : Mapping(%, %, %) -> 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
- ~ : % -> %
reverse, complement, canonical dual basis
- ~= : (%, %) -> Boolean
- from BasicType
RightModule(%)
Monoid
LeftModule(K)
AbelianMonoid
CancellationAbelianMonoid
MagmaWithUnit
NonAssociativeRing
AbelianGroup
RightModule(K)
LeftModule(%)
SetCategory
Rng
Magma
SemiGroup
NonAssociativeRng
Module(K)
BiModule(%, %)
unitsKnown
CoercibleTo(OutputForm)
AbelianSemiGroup
Algebra(K)
NonAssociativeAlgebra(K)
NonAssociativeSemiRing
BiModule(K, K)
Ring
SemiRng
NonAssociativeSemiRng
BasicType
SemiRing