converts the rational system into a Laurent system, invokes the commands phc -b and phc -z,
adds slack variables if needed (i.e. if system is overdetermined),
writes the system to temporary file,
launches the blackbox solver,
stores the output of phc in a temporary file,
parses and outputs the solutions.
This function returns numerical approximations of all complex solutions of a rational system. The function converts the system to a Laurent polynomial system and then calls PHCpack’s blackbox solver.
i1 : R = QQ[x,y,z]; |
i2 : system = {y-x^2, z-x^3, (x+y+z-1)/x}; |
i3 : sols = solveRationalSystem(system) o3 = {{-.771845+1.11514*ii, -.647799-1.72143*ii, 2.41964+.606291*ii}, ------------------------------------------------------------------------ {-.771845-1.11514*ii, -.647799+1.72143*ii, 2.41964-.606291*ii}, ------------------------------------------------------------------------ {.543689, .295598, .160713}} o3 : List |
The solutions are of type Point. Each Point comes with diagnostics. For example, LastT is the end value of the continuation parameter; if it equals 1, then the solver reached the end of the path properly.
i4 : peek first sols o4 = Point{ConditionNumber => 33.5121 } Coordinates => {-.771845+1.11514*ii, -.647799-1.72143*ii, 2.41964+.606291*ii} LastT => 1 SolutionStatus => Regular |