# PolySpace -- a polynomial vector subspace

## Description

This type stores a finite dimensional vector subspace of a polynomial ring, given by a spanning set. The spanning set is generally assumed to be a basis although this is not enforced. The following methods can be used to access a PolySpace:

• gens -- a one-row matrix of the generators
• dim -- the number of generators
• ring -- the ring of the generators

## Methods that use an object of class PolySpace :

• "addition(PolySpace,PolySpace)" -- see addition -- Union of polynomial spaces
• areEqual(PolySpace,PolySpace) -- approximate equality of subspaces spanned by polynomials
• "dualSpace(PolySpace,Point)" -- see dualSpace -- construct a DualSpace
• "isContained(PolySpace,PolySpace)" -- see isContained -- Is one space contained in the other
• "dim(PolySpace)"
• "generators(PolySpace)"
• "net(PolySpace)"
• "ring(PolySpace)"
• "polySpace(PolySpace)" -- see polySpace -- construct a PolySpace
• random(PolySpace) -- random element of a subspace
• "random(ZZ,PolySpace)" -- see random(PolySpace) -- random element of a subspace
• "reduceSpace(PolySpace)" -- see reduceSpace -- reduce the generators of a space
• texMath(PolySpace) -- convert to TeX math format

## For the programmer

The object PolySpace is a type, with ancestor classes MutableHashTable < HashTable < Thing.