2.10.2 Systems of non-linear equations

The following examples were provided by Jason Grout: To solve a system of equations symbolically, one can use:

sage: var('x y p q')
(x, y, p, q)
sage: eq1 = p+q==9
sage: eq2 = q*y+p*x==-6
sage: eq3 = q*y^2+p*x^2==24
sage: solve([eq1,eq2,eq3,p==1],p,q,x,y)
[[p == 1, q == 8, x == (-4*sqrt(10) - 2)/3, y == (sqrt(2)*sqrt(5) - 4)/6],
 [p == 1, q == 8, x == (4*sqrt(10) - 2)/3, y == (-sqrt(2)*sqrt(5) - 4)/6]]

But for a numerical solution, you can instead try:

sage: var('x y p q')
(x, y, p, q)
sage: eq1 = p+q==9
sage: eq2 = q*y+p*x==-6
sage: eq3 = q*y^2+p*x^2==24
sage: solns = solve([eq1,eq2,eq3,p==1],p,q,x,y, solution_dict=True)
sage: [[soln[p].n(), soln[q].n(),soln[x].n(), soln[y].n()] for soln in solns]
[[1.00000000000000, 8.00000000000000, -4.88303688022451, -0.139620389971937],
 [1.00000000000000, 8.00000000000000, 3.54970354689117, -1.19371294336140]]

See About this document... for information on suggesting changes.