The user can specify the number of decimal places desired to refine solutions.
Let us compute a square root with a working precision of 64 decimal places:
i1 : R = CC[x,y]; S = {x^2 - 1/3, x*y - 1}; ourRoots = solveSystem(S); |
i4 : r0 = ourRoots#0#Coordinates#1 o4 = 1.73205080756888 o4 : CC (of precision 53) |
i5 : newRoots = refineSolutions(S,ourRoots,64) o5 = {{.57735, 1.73205}, {-.57735, -1.73205}} o5 : List |
i6 : newRoots#0 -- recall that solutions are of type Point o6 = {.57735, 1.73205} o6 : Point |
i7 : r1 = newRoots#0#Coordinates#1 o7 = 1.73205080756887735414922460641658082304678611432812598193257967 o7 : CC (of precision 213) |
The object refineSolutions is a method function with options.