# NAGtypes -- Common types used in Numerical Algebraic Geometry

## Description

The package defines types used by the package NumericalAlgebraicGeometry as well as other numerical algebraic geometry packages: e.g., interface packages PHCpack and Bertini::Bertini.

Datatypes:

• Point -- a numerical approximation of a point in a complex space
• PolySystem -- a polynomial system (usually with complex coefficients)
• WitnessSet -- a witness set representing (possibly positive-dimensional) solution components
• NumericalVariety -- a numerical description of a variety
• PolySpace -- a polynomial vector subspace
• DualSpace -- a dual functional vector subspace

See the corresponding documentation nodes for description of provided service functions.

We display the objects of all new types showing only partial data. Moreover, if an object is assigned to a global variable, only the name of the variable is shown. Use peek for more information.

 i1 : R = CC[x,y] o1 = R o1 : PolynomialRing i2 : I = ideal((x^2+y^2+2)*x,(x^2+y^2+2)*y); o2 : Ideal of R i3 : w1 = witnessSet(I , ideal(x-y), {point {{0.999999*ii,0.999999*ii}}, point {{-1.000001*ii,-1.000001*ii}}} ) o3 = w1 o3 : WitnessSet i4 : O = point {{0.,0.}} o4 = O o4 : Point i5 : numericalVariety {witnessSet(I, ideal R, {O}),w1} o5 = a numerical variety with components in dim 0: [dim=0,deg=1]-*may be reducible*- dim 1: w1 o5 : NumericalVariety i6 : V = oo o6 = V o6 : NumericalVariety i7 : peek V o7 = NumericalVariety{0 => {[dim=0,deg=1]-*may be reducible*-}} 1 => {w1} i8 : peek w1 o8 = WitnessSet{cache => CacheTable{...1...} } Equations => {-3} | x3+xy2+2x | {-3} | x2y+y3+2y | Points => {{.999999*ii, .999999*ii}} {{-ii, -ii} } Slice => | 1 -1 0 | i9 : peek O o9 = Point{Coordinates => {0, 0}}

• Anton Leykin

## Version

This documentation describes version 1.17 of NAGtypes.

## Source code

The source code from which this documentation is derived is in the file NAGtypes.m2. The auxiliary files accompanying it are in the directory NAGtypes/.

## Exports

• Types
• DualSpace -- a dual functional vector subspace
• Homotopy -- a homotopy abstract type
• NumericalVariety -- a numerical variety
• ParameterHomotopy -- a homotopy that involves parameters
• Point -- a type used to store a point in complex space
• PolySpace -- a polynomial vector subspace
• PolySystem -- a polynomial system
• ProjectiveWitnessSet -- a projective witness set
• SpecializedParameterHomotopy -- a homotopy obtained from a parameter homotopy by specializing parameters
• System -- a system of functions
• WitnessSet -- a witness set
• "Ambient" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "SlicingVariety" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• Functions and commands
• Methods
• "areEqual(BasicList,BasicList)" -- see areEqual -- determine if solutions are equal
• "areEqual(BasicList,Point)" -- see areEqual -- determine if solutions are equal
• "areEqual(CC,CC)" -- see areEqual -- determine if solutions are equal
• "areEqual(List,List)" -- see areEqual -- determine if solutions are equal
• "areEqual(Matrix,Matrix)" -- see areEqual -- determine if solutions are equal
• "areEqual(MutableMatrix,MutableMatrix)" -- see areEqual -- determine if solutions are equal
• "areEqual(Number,Number)" -- see areEqual -- determine if solutions are equal
• "areEqual(Point,BasicList)" -- see areEqual -- determine if solutions are equal
• "areEqual(Point,Point)" -- see areEqual -- determine if solutions are equal
• "Point == Point" -- see areEqual -- determine if solutions are equal
• areEqual(DualSpace,DualSpace) -- approximate equality of dual spaces
• areEqual(PolySpace,PolySpace) -- approximate equality of subspaces spanned by polynomials
• components(NumericalVariety) -- list components of a numerical variety
• "components(NumericalVariety,ZZ)" -- see components(NumericalVariety) -- list components of a numerical variety
• "components(NumericalVariety,ZZ,InfiniteNumber)" -- see components(NumericalVariety) -- list components of a numerical variety
• "components(NumericalVariety,ZZ,ZZ)" -- see components(NumericalVariety) -- list components of a numerical variety
• "dim(DualSpace)" -- see DualSpace -- a dual functional vector subspace
• "generators(DualSpace)" -- see DualSpace -- a dual functional vector subspace
• "net(DualSpace)" -- see DualSpace -- a dual functional vector subspace
• "point(DualSpace)" -- see DualSpace -- a dual functional vector subspace
• "ring(DualSpace)" -- see DualSpace -- a dual functional vector subspace
• "dualSpace(DualSpace)" -- see dualSpace -- construct a DualSpace
• "dualSpace(Matrix,Point)" -- see dualSpace -- construct a DualSpace
• "dualSpace(PolySpace,Point)" -- see dualSpace -- construct a DualSpace
• "evaluate(Matrix,Matrix)" -- see evaluate -- evaluate a polynomial system or matrix at a point
• "evaluate(Matrix,Point)" -- see evaluate -- evaluate a polynomial system or matrix at a point
• "evaluate(PolySystem,Matrix)" -- see evaluate -- evaluate a polynomial system or matrix at a point
• "evaluateJacobian(PolySystem,Point)" -- see evaluate -- evaluate a polynomial system or matrix at a point
• "generalEquations(WitnessSet)" -- see generalEquations -- random linear combinations of equations/generators
• "generalEquations(ZZ,Ideal)" -- see generalEquations -- random linear combinations of equations/generators
• "generalEquations(ZZ,List)" -- see generalEquations -- random linear combinations of equations/generators
• homogenize(PolySystem,Ring,RingElement) -- homogenize a polynomial system
• intersection(PolySpace,PolySpace) -- Intersection of polynomial spaces
• "isContained(DualSpace,DualSpace)" -- see isContained -- Is one space contained in the other
• "isContained(PolySpace,PolySpace)" -- see isContained -- Is one space contained in the other
• "isGEQ(List,List)" -- see isGEQ -- compare two points
• "isGEQ(Point,Point)" -- see isGEQ -- compare two points
• "isRealPoint(Point)" -- see isRealPoint -- determine whether a point is real
• norm(Thing,Point) -- p-norm of the point
• "numericalAffineSpace(PolynomialRing)" -- see numericalAffineSpace -- affine space as a numerical variety
• "check(NumericalVariety)" -- see NumericalVariety -- a numerical variety
• "degree(NumericalVariety)" -- see NumericalVariety -- a numerical variety
• "dim(NumericalVariety)" -- see NumericalVariety -- a numerical variety
• "net(NumericalVariety)" -- see NumericalVariety -- a numerical variety
• numericalVariety(List) -- construct a numerical variety
• "projectiveNumericalVariety(List)" -- see numericalVariety(List) -- construct a numerical variety
• "coordinates(Point)" -- see Point -- a type used to store a point in complex space
• "matrix(Point)" -- see Point -- a type used to store a point in complex space
• "net(Point)" -- see Point -- a type used to store a point in complex space
• "status(Point)" -- see Point -- a type used to store a point in complex space
• "point(List)" -- see point -- construct a Point
• "point(Matrix)" -- see point -- construct a Point
• "point(Point)" -- see point -- construct a Point
• "dim(PolySpace)" -- see PolySpace -- a polynomial vector subspace
• "generators(PolySpace)" -- see PolySpace -- a polynomial vector subspace
• "net(PolySpace)" -- see PolySpace -- a polynomial vector subspace
• "ring(PolySpace)" -- see PolySpace -- a polynomial vector subspace
• "polySpace(Matrix)" -- see polySpace -- construct a PolySpace
• "polySpace(PolySpace)" -- see polySpace -- construct a PolySpace
• "equations(PolySystem)" -- see PolySystem -- a polynomial system
• "ideal(PolySystem)" -- see PolySystem -- a polynomial system
• "isHomogeneous(PolySystem)" -- see PolySystem -- a polynomial system
• "jacobian(PolySystem)" -- see PolySystem -- a polynomial system
• "net(PolySystem)" -- see PolySystem -- a polynomial system
• "numFunctions(PolySystem)" -- see PolySystem -- a polynomial system
• "numParameters(PolySystem)" -- see PolySystem -- a polynomial system
• "numVariables(PolySystem)" -- see PolySystem -- a polynomial system
• "parameters(PolySystem)" -- see PolySystem -- a polynomial system
• "ring(PolySystem)" -- see PolySystem -- a polynomial system
• "polySystem(Ideal)" -- see polySystem -- construct a polynomial system
• "polySystem(List)" -- see polySystem -- construct a polynomial system
• "polySystem(Matrix)" -- see polySystem -- construct a polynomial system
• "polySystem(PolySystem)" -- see polySystem -- construct a polynomial system
• project(Point,ZZ) -- project a point
• "projectiveWitnessSet(Ideal,Matrix,Matrix,List)" -- see projectiveWitnessSet -- construct a ProjectiveWitnessSet
• "random(DualSpace)" -- see random(PolySpace) -- random element of a subspace
• random(PolySpace) -- random element of a subspace
• "random(ZZ,DualSpace)" -- see random(PolySpace) -- random element of a subspace
• "random(ZZ,PolySpace)" -- see random(PolySpace) -- random element of a subspace
• "realPoints(List)" -- see realPoints -- select real points
• "reduceSpace(DualSpace)" -- see reduceSpace -- reduce the generators of a space
• "reduceSpace(PolySpace)" -- see reduceSpace -- reduce the generators of a space
• "residual(List,Point)" -- see residual -- residual of a polynomial function at a point
• "residual(Matrix,Matrix)" -- see residual -- residual of a polynomial function at a point
• "residual(PolySystem,Point)" -- see residual -- residual of a polynomial function at a point
• "projectiveSliceEquations(Matrix,Ring)" -- see sliceEquations(Matrix,Ring) -- slicing linear functions
• sliceEquations(Matrix,Ring) -- slicing linear functions
• "solutionsWithMultiplicity(List)" -- see solutionsWithMultiplicity -- replaces clusters of approximately equal points by single points with multiplicity
• sortSolutions(List) -- sort the list of solutions
• substitute(PolySystem,Ring) -- substitute a ring in a polynomial system
• "evaluate(System,Matrix)" -- see System -- a system of functions
• "evaluate(System,Matrix,Matrix)" -- see System -- a system of functions
• "evaluate(System,Point)" -- see System -- a system of functions
• "evaluate(System,Point,Point)" -- see System -- a system of functions
• "evaluateJacobian(System,Matrix)" -- see System -- a system of functions
• "evaluateJacobian(System,Matrix,Matrix)" -- see System -- a system of functions
• "evaluateJacobian(System,Point)" -- see System -- a system of functions
• "evaluateJacobian(System,Point,Point)" -- see System -- a system of functions
• "numFunctions(System)" -- see System -- a system of functions
• "numParameters(System)" -- see System -- a system of functions
• "numVariables(System)" -- see System -- a system of functions
• "texMath(DualSpace)" -- see texMath(PolySpace) -- convert to TeX math format
• "texMath(Point)" -- see texMath(PolySpace) -- convert to TeX math format
• texMath(PolySpace) -- convert to TeX math format
• "texMath(PolySystem)" -- see texMath(PolySpace) -- convert to TeX math format
• "texMath(WitnessSet)" -- see texMath(PolySpace) -- convert to TeX math format
• toAffineChart(ZZ,List) -- coordinates of a point in the projective space in an affine chart
• "codim(WitnessSet)" -- see WitnessSet -- a witness set
• "degree(WitnessSet)" -- see WitnessSet -- a witness set
• "dim(WitnessSet)" -- see WitnessSet -- a witness set
• "equations(WitnessSet)" -- see WitnessSet -- a witness set
• "ideal(WitnessSet)" -- see WitnessSet -- a witness set
• "net(WitnessSet)" -- see WitnessSet -- a witness set
• "points(WitnessSet)" -- see WitnessSet -- a witness set
• "ring(WitnessSet)" -- see WitnessSet -- a witness set
• "slice(WitnessSet)" -- see WitnessSet -- a witness set
• "witnessSet(Ideal,Ideal,List)" -- see witnessSet -- construct a WitnessSet
• "witnessSet(Ideal,Matrix,List)" -- see witnessSet -- construct a WitnessSet
• "witnessSet(PolySystem,Matrix,List)" -- see witnessSet -- construct a WitnessSet
• "witnessSet(PolySystem,PolySystem,List)" -- see witnessSet -- construct a WitnessSet
• "ambient(SlicingVariety)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "ambient(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "codim(SlicingVariety)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "codim(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "degree(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "dim(Ambient)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "dim(SlicingVariety)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "dim(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "map(SlicingVariety)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "net(Ambient)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "net(SlicingVariety)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "net(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• "points(WSet)" -- see WSet -- (under construction!) new types and methods needed to generalize WitnessSet
• Symbols
• Norm -- p in the p-norm
• Parameters -- a collection of parameters
• "ConditionNumber" -- see Point -- a type used to store a point in complex space
• "Coordinates" -- see Point -- a type used to store a point in complex space
• "DecreasePrecision" -- see Point -- a type used to store a point in complex space
• "DeflationNumber" -- see Point -- a type used to store a point in complex space
• "ErrorBoundEstimate" -- see Point -- a type used to store a point in complex space
• "IncreasePrecision" -- see Point -- a type used to store a point in complex space
• "Infinity" -- see Point -- a type used to store a point in complex space
• "LastT" -- see Point -- a type used to store a point in complex space
• "MaxPrecision" -- see Point -- a type used to store a point in complex space
• "MinStepFailure" -- see Point -- a type used to store a point in complex space
• "Multiplicity" -- see Point -- a type used to store a point in complex space
• "NumberOfSteps" -- see Point -- a type used to store a point in complex space
• "NumericalRankFailure" -- see Point -- a type used to store a point in complex space
• "Origin" -- see Point -- a type used to store a point in complex space
• "RefinementFailure" -- see Point -- a type used to store a point in complex space
• "Regular" -- see Point -- a type used to store a point in complex space
• "Singular" -- see Point -- a type used to store a point in complex space
• "SolutionStatus" -- see Point -- a type used to store a point in complex space
• "WindingNumber" -- see Point -- a type used to store a point in complex space
• "Reduced" -- see polySpace -- construct a PolySpace
• "ContinuationParameter" -- see PolySystem -- a polynomial system
• "NumberOfPolys" -- see PolySystem -- a polynomial system
• "NumberOfVariables" -- see PolySystem -- a polynomial system
• "PolyMap" -- see PolySystem -- a polynomial system
• "SpecializationRing" -- see PolySystem -- a polynomial system
• ProjectiveNumericalVariety -- a projective numerical variety
• "AffineChart" -- see ProjectiveWitnessSet -- a projective witness set
• "Equations" -- see WitnessSet -- a witness set
• "IsIrreducible" -- see WitnessSet -- a witness set
• "Points" -- see WitnessSet -- a witness set
• "ProjectionDimension" -- see WitnessSet -- a witness set
• "Slice" -- see WitnessSet -- a witness set

## For the programmer

The object NAGtypes is .