# Using Sage Symbolic Functions in Scipy fsolve

I need to find the roots of a system of multivariate non-linear (algebraic) functions and Sage's `solve`

function is running indefinitely. (Where "indefinitely" means "more than 30 mins".) I only require numerical solutions so I was hoping to use Scipy's `fsolve`

function instead. However, the functions that I'm generating are Sage symbolic functions, which have been mightly convenient to work with, and I'm having trouble getting them into a format that `fsolve`

will understand. Does anyone have any suggestions?

The documentation for Scipy's `fsolve`

can be found here. It looks like a Python function is sufficient.

As a toy example, I've tried the following:

```
sage: from scipy.optimize import fsolve
sage: var('x,y')
sage: f = x^2 + y^2
sage: def ff(v):
return f(x=v[0],y=v[0])
sage: fsolve(ff,[1,1])
```

It seems like the naive approach but I'm receiving the error `TypeError: no canonical coercion from <type 'numpy.int64'> to Symbolic Ring`

. Perhaps this is an issue with Sage properly dealing with Numpy/Scipy data types?