AlgebraPackage(R, A)¶
naalg.spad line 592 [edit on github]
AlgebraPackage assembles a variety of useful functions for general algebras.
- basis: Vector A -> Vector A if R has EuclideanDomain
basis(va)
selects a basis from the elements ofva
.
- basisOfCenter: () -> List A
basisOfCenter()
returns a basis of the space of allx
ofA
satisfyingcommutator(x, a) = 0
andassociator(x, a, b) = associator(a, x, b) = associator(a, b, x) = 0
for alla
,b
inA
.
- basisOfCentroid: () -> List Matrix R
basisOfCentroid()
returns a basis of the centroid, i.e. the endomorphism ring ofA
considered as(A, A)
-bimodule.
- basisOfCommutingElements: () -> List A
basisOfCommutingElements()
returns a basis of the space of allx
ofA
satisfying0 = commutator(x, a)
for alla
inA
.
- basisOfLeftAnnihilator: A -> List A
basisOfLeftAnnihilator(a)
returns a basis of the space of allx
ofA
satisfying0 = x*a
.
- basisOfLeftNucleus: () -> List A
basisOfLeftNucleus()
returns a basis of the space of allx
ofA
satisfying0 = associator(x, a, b)
for alla
,b
inA
.
- basisOfLeftNucloid: () -> List Matrix R
basisOfLeftNucloid()
returns a basis of the space of endomorphisms ofA
as right module. Note: left nucloid coincides with left nucleus ifA
has a unit.
- basisOfMiddleNucleus: () -> List A
basisOfMiddleNucleus()
returns a basis of the space of allx
ofA
satisfying0 = associator(a, x, b)
for alla
,b
inA
.
- basisOfNucleus: () -> List A
basisOfNucleus()
returns a basis of the space of allx
ofA
satisfyingassociator(x, a, b) = associator(a, x, b) = associator(a, b, x) = 0
for alla
,b
inA
.
- basisOfRightAnnihilator: A -> List A
basisOfRightAnnihilator(a)
returns a basis of the space of allx
ofA
satisfying0 = a*x
.
- basisOfRightNucleus: () -> List A
basisOfRightNucleus()
returns a basis of the space of allx
ofA
satisfying0 = associator(a, b, x)
for alla
,b
inA
.
- basisOfRightNucloid: () -> List Matrix R
basisOfRightNucloid()
returns a basis of the space of endomorphisms ofA
as left module. Note: right nucloid coincides with right nucleus ifA
has a unit.
- biRank: A -> NonNegativeInteger
biRank(x)
determines the number of linearly independent elements inx
,x*bi
,bi*x
,bi*x*bj
,i, j=1, ..., n
, whereb=[b1, ..., bn]
is a basis. Note: ifA
has a unit, then doubleRank, weakBiRank and biRank coincide.
- doubleRank: A -> NonNegativeInteger
doubleRank(x)
determines the number of linearly independent elements inb1*x
, …,x*bn
, whereb=[b1, ..., bn]
is a basis.
- leftRank: A -> NonNegativeInteger
leftRank(x)
determines the number of linearly independent elements inx*b1
, …,x*bn
, whereb=[b1, ..., bn]
is a basis.
- radicalOfLeftTraceForm: () -> List A
radicalOfLeftTraceForm()
returns basis for null space ofleftTraceMatrix()
, if the algebra is associative, alternative or a Jordan algebra, then this space equals the radical (maximal nil ideal) of the algebra.
- rightRank: A -> NonNegativeInteger
rightRank(x)
determines the number of linearly independent elements inb1*x
, …,bn*x
, whereb=[b1, ..., bn]
is a basis.
- weakBiRank: A -> NonNegativeInteger
weakBiRank(x)
determines the number of linearly independent elements in thebi*x*bj
,i, j=1, ..., n
, whereb=[b1, ..., bn]
is a basis.