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
|