This is really an mpmath question...
On Wednesday, January 9, 2013 4:25:39 PM UTC-5, Marshall Hampton wrote:
>
> I'm bumping this up since I can't figure it out and I'm talking to Mike at
> the Sage booth at JMMS. Can anyone answer this?
>
>>
>>
926 multidimensional = isinstance(fx, (list, tuple,
ctx.matrix))
927 except TypeError:
--> 928 fx = f(x0[0])
929 multidimensional = False
930 if 'multidimensional' in kwargs:
TypeError: g() takes exactly 3 arguments (1 given)
So the problem is that we are raising a TypeError and then of course g does
*not* take just one argument x0[0] = .57 in this case. Hmm.
try:
fx = f(*x0)
multidimensional = isinstance(fx, (list, tuple, ctx.matrix))
But this assignment should work (and does "by hand"). The only thing that
changes x0 is
if isinstance(x0, (list, tuple)):
x0 = [ctx.convert(x) for x in x0]
Got it.
sage: Z = (0.57, 0.85, 0.49)
sage: Z = [mpmath.convert(z) for z in Z]
sage: Z
[mpf('0.56999999999999995'), mpf('0.84999999999999998'),
mpf('0.48999999999999999')]
sage: fx = g(*Z)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
TypeError: no canonical coercion from <type
'sage.libs.mpmath.ext_main.mpc'> to Symbolic Ring
So what you need to do is ... tricky. Can someone take it from here? I
tried several things (changes to g) to get those mpmath things to behave
well (converting back to Sage) but the fact that g is symbolic makes it
hard. It should be possible, though!
- kcrisman
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/sage-support?hl=en.