# solveRationalSystem -- approximates solutions to a rational system of equations

## Synopsis

• Usage:
solveRationalSystem (f)
• Inputs:
• f, a list, a system of rational equations with a finite number of solutions
• Optional inputs:
• Verbose => ..., -- option to specify whether additional output is wanted
• Outputs:
• a list, containing the solutions of f, each of type Point
• Consequences:
• 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.

## Description

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 = {{.543689, .295598, .160713}, {-.771845-1.11514*ii, -.647799+1.72143*ii, 2.41964-.606291*ii}, {-.771845+1.11514*ii, -.647799-1.72143*ii, 2.41964+.606291*ii}} 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 => 4.87567 } Coordinates => {.543689, .295598, .160713} LastT => 1 SolutionStatus => Regular```