# WitnessSet -- a witness set

## Description

This type stores a witness set of an equidimensional solution component. The following methods can be used to access a WitnessSet:
• ideal -- get the defining ideal of the algebraic superset
• equations -- get the list of defining polynomials of the algebraic superset
• slice -- get linear functions defining the slicing plane
• points -- get the list of witness points (which are zeroes of all above)
Also one may determine
• dim -- the dimension
• codim -- the codimension
• deg -- the degree (the number of witness points)
• ring -- the ring of the defining polynomials
Only dimension and degree are displayed (by net); to see the data stored in a witness set use peek.

## For developers:

Required keys in a WitnessSet are
• Equations -- an ideal
• Slice -- a list or
• Points-- a list of points
• cache.IsIrreducible -- takes values null(not determined), true, or false
Optional keys:
• ProjectionDimension -- an integer, the witness set describes a lifted variety (its projection on the first ProjectionDimension coordinates is the variety the witness set represents)

## Methods that use a witness set :

• "generalEquations(WitnessSet)" -- see generalEquations -- random linear combinations of equations/generators
• "texMath(WitnessSet)" -- see texMath(PolySpace) -- convert to TeX math format
• "codim(WitnessSet)"
• "degree(WitnessSet)"
• "dim(WitnessSet)"
• "equations(WitnessSet)"
• "ideal(WitnessSet)"
• "net(WitnessSet)"
• "points(WitnessSet)"
• "ring(WitnessSet)"
• "slice(WitnessSet)"

## For the programmer

The object WitnessSet is a type, with ancestor classes WSet < HashTable < Thing.