Cat::AlgebraWithBasis --
the category of associative algebras with a distinguished basis
Introduction represents the category of associative
Cat::AlgebraWithBasis(R)R-algebras with a distinguished basis.
Generating the category
Cat::AlgebraWithBasis(R)
ParametersR | - | A domain which must be from the category Cat::Ring. |
Cat::Algebra(R), Cat::ModuleWithBasis(R)
DetailsCat::AlgebraWithBasis(R) is an R-algebra with a distinguished
basis. The multiplication is typically implemented by extending by
linearity its definition on the basis elements. "_mult" is set to
operators::_mult, which in turn uses operators::mult2.
Furthermore, the later is overloaded with the following signatures
and associated implementations:
"mult2"
"multcoeffs"
"multcoeffsLeft"
Cat::AlgebraWithBasis just has to implement "mult2",
"multcoeffs", and "multcoeffsLeft". Then,
"_mult" will be implemented appropriately to handle all the
possible ways it can be called in (binary and n-ary internal
multiplications of elements, left and right multiplications by
scalar, ...). This differs from the plain Cat::Algebra
category for which the domain has to provide this "_mult"
method. In a future version, this feature will be extended to
Cat::Algebra.
If the unit of the algebra is a basis element, the index of
this basis element can be provided here, instead of defining
"one".
fromCoeffRing( <dom::coeffRing c>)c*dom::one of the
coefficient c as an element of this ring.
ground( <dom x>)x on the unit of the algebra."oneBasis" is defined.
mult2Basis(dom::basisIndices x, dom::basisIndices y)x
and y. "multBasis"; so, the domain
may define either one of them, or both, at the programmers
convenience.
mult2(dom x, dom y)x by y.x and y are required to be of this domain; no
coercion is attempted."mult2Basis" by bilinearity.
multBasis( <dom::basisIndices x, ...>)
mult( <dom x, ...>)"("one))"mult2" by associativity.
Sometime in the future, it may instead extend "multBasis" by
multilinearity.
Cat::AlgebraWithBasis is a new category
MuPAD Combinat, an open source algebraic combinatorics package