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 bound by ErrorTolerance; the number of iterations 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,1.2} };
i4 : refine(T, sols, Software=>M2, ErrorTolerance=>.001, Iterations=>10)

o4 = {{1, 4.66507e-9}, {-8.37549e-8, 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 = {(.707093, .70712), (-.707093, -.70712)}

o11 : List
i12 : refSols / status

o12 = {Singular, Singular}

o12 : List