
7.1 PLURAL
A Computer Algebra Subsystem for Noncommutative Polynomial Algebras
 What is and what does PLURAL?
PLURAL is a kernel extension of SINGULAR,
providing many algorithms for computations within certain noncommutative 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 noncommutative rings.
With PLURAL, one can set up a noncommutative
algebra, say
, with
a PoincaréBirkhoffWitt (PBW) basis, (see Galgebras for stepbystep building instructions and also Noncommutative libraries
for procedures for setting many important algebras easily).
Functionalities of PLURAL (enlisted in Functions (plural)) are accessible as soon as the basering becomes noncommutative (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 twosided 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 factoralgebras
by twosided 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 noncommutative 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 noncommutative parameters.
Defining parameters, one cannot impose noncommutative relations
on them. Moreover, it is impossible to introduce parameters which do not commute with variables.
 PLURAL conventions
 *multiplication (plural)
in the noncommutative 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 twosided ideal T , use command twostd in order to compute
the twosided 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 factoralgebras modulo twosided ideals (see qring (plural)).
