XEtaAlgebraBasisCategory(C, F)

qetapowersamba.spad line 441 [edit on github]

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 structure x.

coerce: % -> OutputForm

from CoercibleTo OutputForm

component: (F, XHashTable(PositiveInteger, PositiveInteger)) -> Integer

Let k = qetaIndex(u), g := grade(u,k), and I = sort(keys idx). component(u, idx) returns c where c is -k if empty?(I). c is the idx(max(J)) if J = [i for i in I | grade(u, k) = grade(u, idx.i)] is nonempty. If J is empty, then c = -k otherwise.

indexPermutation: % -> XHashTable(PositiveInteger, PositiveInteger)

indexPermutaion(x) returns a computed permutation of the component indices of F 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 to i=1 where n=maxIndex() of F, 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.

CoercibleTo OutputForm