|
7.1 PLURAL
A Computer Algebra Subsystem for Non-commutative Polynomial Algebras
- What is and what does PLURAL?
PLURAL is a kernel extension of SINGULAR,
providing many algorithms for computations within certain non-commutative algebras
(see Mathematical background (plural) for detailed information on algebras and algorithms).
It uses the same data structures, sometimes interpreting them in a different way
and/or modifying them for its own purposes.
In spite of such a difference, one can always transfer
objects between commutative rings of SINGULAR
and non-commutative rings.
With PLURAL, one can set up a non-commutative
-algebra, say
, with
a Poincaré-Birkhoff-Witt (PBW) basis, (see G-algebras for step-by-step building instructions and also Non-commutative libraries
for procedures for setting many important algebras easily).
Functionalities of PLURAL (enlisted in Functions (plural)) are accessible as soon as the basering becomes non-commutative (see nc_algebra).
One can perform various computations with polynomials and ideals in
and with
vectors and submodules of a free module
.
One can work also within factor algebras of
-algebras (see qring (plural) type)
by two-sided ideals (see twostd).
- What PLURAL does not:
-
PLURAL does not perform computations in the free algebra or in its general factor algebras (instead, these
computations can be possibly done due to LETTERPLACE).
In PLURAL one can only work with
-algebras and with their factor-algebras
by two-sided ideals (
-algebras).
- PLURAL requires a monomial ordering but it does not work generally with local and mixed orderings.
Right now, one can use only global orderings in PLURAL (see General definitions for orderings),
save for SCA, where we provide the possibility of computations in a tensor product of a non-commutative algebra
(with a global ordering) with a commutative algebra (with any ordering). In the future, this will be enhanced for
other algebras, as well.
- PLURAL does not handle non-commutative parameters.
Defining parameters, one cannot impose non-commutative relations
on them. Moreover, it is impossible to introduce parameters which do not commute with variables.
- PLURAL conventions
- *-multiplication (plural)
in the non-commutative case, the correct multiplication of y by
x must be written as y*x .
Both expressions yx and xy are equal, since they are
interpreted as commutative expressions. See example in poly expressions (plural).
Note, that PLURAL output consists only of monomials, hence the signs * are omitted.
ideal (plural)
Unless stated otherwise, an ideal as understood by PLURAL, is a list of generators
of a left ideal. For more information see ideal (plural).
For a two-sided ideal T , use command twostd in order to compute
the two-sided Groebner basis of T .
module (plural)
- Unless stated otherwise, a
module as understood by PLURAL, is
either a fininitely generated left submodule of a free module (of finite rank)
or a factor module of a free module (of finite rank) by its left submodule (see module (plural) for details).
qring (plural)
In PLURAL it is only possible to build factor-algebras modulo two-sided ideals (see qring (plural)).
|