next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
NumericalAlgebraicGeometry :: refine(List,List)

refine(List,List) -- refine numerical solutions to a system of polynomial equations

Synopsis

Description

Uses Newton's method to correct the given solutions so that the resulting approximation has its estimated relative error bounded by ErrorTolerance. The number of iterations made is at most Iterations.

i1 : R = CC[x,y];
i2 : T = {x^2+y^2-1, x*y};
i3 : sols = { {1.1_CC,0.1}, {-0.1_CC,1.2} };
i4 : refine(T, sols, Software=>M2, ErrorTolerance=>.001, Iterations=>10)

o4 = {{1, 2.17629e-17}, {-4.81205e-29, 1}}

o4 : List

In case of a singular (multiplicity>1) solution, while solveSystem and track return the end of the homotopy paths marked as a 'failure', it is possible to improve the quality of approximation with refine. The resulting point will be marked as singular:

i5 : R = CC[x,y];
i6 : S = {x^2-1,y^2-1};
i7 : T = {x^2+y^2-1, (x-y)^2};
i8 : solsS = {(1,1),(-1,-1)};
i9 : solsT = track(S,T,solsS)

o9 = {[M,t=.999998], [M,t=.999998]}

o9 : List
i10 : solsT / coordinates

o10 = {{.70667, .707543}, {-.70667, -.707543}}

o10 : List
i11 : refSols = refine(T, solsT)

o11 = {(.707107, .707107), (-.707107, -.707107)}

o11 : List
i12 : refSols / status

o12 = {Singular, Singular}

o12 : List

See also