Objects in SYMMETRICA
Symmetrica was written in the programming language C. The design of
the routines was in a object oriented way.
Symmetrica there is only one type of object. One component of the
object is a tag identifying the specific kind of object. Using this tag the (meta-) routines
switch to the specific routine (e.g. mult_permutation).
The advantage of this method is that we only have one routine for different
kind of objects. So is the routine for the inversion of a matrix independent of the
objects inside the matrix. We only need a routine to invert the entries.
But we have a overhead in the object to store the tag, and a
overhead in runtime to switch to the specific routine. This method is simliar to virtual classes
Now a complete listing of available types of objects.
VECTOR of arbitray objects
BITVECTOR 0-1 vector as bit vector
BRUCH fraction of two arbitrary objects
polynomial with arbitrary coefficents
SCHUR Schur function with arbitrary coefficents
MATRIX of arbitray objects
HOMSYM complete symmetric function
SCHUBERT Schubert polynomial
INTEGERVECTOR VECTOR object with INTEGER objects
INTEGERMATRIX MATRIX object with INTEGER objects
SYMCHAR charcter of the symmetric group
LIST list of arbitray objects
BINTREE binary tree of arbitray objects
POWSYM symmetric power sum
ELMSYM elementary symmetric function
KRANZ element of wreath product of symmetric groups
FINITEFIELD element of a finite field
GROUPALGEBRA element of the group algebra of a permutation group
MONOPOLY polynomial in one variable
Send comments or suggestions to: