CliffordAlgebra(n, K, bLin)ΒΆ

clifford.spad line 348

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 precidence when used as an infix operator
=: (%, %) -> Boolean
from BasicType
\/: (%, %) -> %
Implement regressive inner, meet product operator need to check precidence when used as an infix operator
^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
^: (%, PositiveInteger) -> %
from Magma
~: % -> %
reverse, complement, canonical dual basis
~=: (%, %) -> Boolean
from BasicType
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: % -> 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 is i-th basis vector in K^n and phi is canonical embedding of K^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
hash: % -> SingleInteger
from SetCategory
hashUpdate!: (HashState, %) -> HashState
from SetCategory
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
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
allows override of parameters such as orthogonal used for debugging
subtractIfCan: (%, %) -> Union(%, failed)
from CancellationAbelianMonoid
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

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra K

BasicType

BiModule(%, %)

BiModule(K, K)

CancellationAbelianMonoid

CoercibleTo OutputForm

LeftModule %

LeftModule K

Magma

MagmaWithUnit

Module K

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

RightModule %

RightModule K

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

unitsKnown