1 | initial version |
If you just want to have a numerical solution to a small set of (nonlinear) equations, why not simply 'fsolve' them?
from scipy.optimize import fsolve
def equations(p):
a, b, c = p
return (c + b*abs(a)**2 - 10, c + b*abs(a)**4 - 6, c + b*abs(a)**5 - 5)
a,b,c = fsolve(equations, (1, 1, 1))
print a,b,c
print equations((a,b,c))
0.640388203202 16.5345651552 3.2192235936
(-2.5757174171303632e-13, -2.3625545964023331e-13,-1.9895196601282805e-13)
The 'abs()' is there to provide at least some additional constraining on a,b,c
I don't know if this is elegant - but it is straightforward.