1 | initial version |

It's because your f function above is returning a numpy array, rather than a number.

```
sage: f(1,2)
array([[ 0.45712591]])
sage: f(1,2)[0,0]
0.45712590955624677
```

So you need to extract that number out. You did it in your last example above. Here's another way:

```
spherical_plot3d(lambda x,y: f(x,y)[0,0],(x,0,2*pi),(y,0,pi))
```

2 | No.2 Revision |

It's because your f function above is returning a numpy array, rather than a number.

```
sage: f(1,2)
array([[ 0.45712591]])
sage: f(1,2)[0,0]
0.45712590955624677
```

So you need to extract that number out. You did it in your last example above. Here's another way:

```
spherical_plot3d(lambda x,y: f(x,y)[0,0],(x,0,2*pi),(y,0,pi))
```

Here is yet another way, since numpy arrays with a single value like that can be cast to floats.

```
spherical_plot3d(lambda x,y: float(f(x,y)),(x,0,2*pi),(y,0,pi))
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.