# zeroDimensionalDual -- dual space of a zero-dimensional polynomial ideal

## Synopsis

• Usage:
S = zeroDimensionalDual(p, I)
• Inputs:
• Optional inputs:
• Tolerance => ..., default value null, optional argument for numerical tolernace
• Outputs:

## Description

This function computes a reduced basis of the dual space of a zero-dimensional ideal. It does not check if the ideal is zero-dimensional and if not then termination will fail. Elements are expressed as elements of the polynomial ring of the ideal although this is an abuse of notation. They are really elements of the dual ring.

 i1 : R = QQ[a,b]; i2 : I = ideal{a^3,b^3} 3 3 o2 = ideal (a , b ) o2 : Ideal of R i3 : D = zeroDimensionalDual(origin(R), I) o3 = | 1 b a 1/2b2 ab 1/2a2 1/2ab2 1/2a2b 1/4a2b2 | o3 : DualSpace i4 : dim D o4 = 9

The dimension of the dual space at p is the multiplicity of the solution at p.

 i5 : S = CC[x,y]; i6 : J = ideal{(y-2)^2,y-x^2} 2 2 o6 = ideal (y - 4y + 4, - x + y) o6 : Ideal of S i7 : p = point matrix{{1.4142136_CC,2_CC}}; i8 : D = zeroDimensionalDual(p, J) o8 = | 1 .353553x+y | o8 : DualSpace i9 : dim D o9 = 2

## Caveat

The computation will not terminate if I is not locally zero-dimensional at the chosen point. This is not checked.