XEtaAlgebraBasisCategory(C, F)¶
qetapowersamba.spad line 441 [edit on github]
F: XEtaGradedAlgebra C
XEtaAlgebraBasisCategory(C
, F
) is a category for a data structure that can be used for reduction modulo an algebra basis (samba basis).
- basisElements: % -> Vector XHashTable(Integer, List F)
basisElements(x)
returns the basis elements that are stored in the structurex
.
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- component: (F, XHashTable(PositiveInteger, PositiveInteger)) -> Integer
Let
k
= qetaIndex(u
),g
:=
grade(u
,k
), andI
= sort(keys idx). component(u
, idx) returnsc
wherec
is-k
if empty?(I
).c
is the idx(max(J
)) ifJ
= [i
fori
inI
| grade(u
,k
) = grade(u
, idx.i
)] is nonempty. IfJ
is empty, thenc
=-k
otherwise.
- indexPermutation: % -> XHashTable(PositiveInteger, PositiveInteger)
indexPermutaion(
x
) returns a computed permutation of the component indices ofF
so that it fit best during the computation. The reduction and creation of the basis according to the theory is done from i=n down toi=1
where n=maxIndex() ofF
, i.e. the grade in the last component will be reduced first. indexPermutation(x
).n
then gives the actual component index that corresponds to “last”. By this dynamical reordering we try to keep the grades small.
- multipliers: % -> XHashTable(PositiveInteger, F)
multipliers(x)
returns the elements by which it can be multiplied with an arbitrary positive power.