Ask Your Question
1

numeric approximation??

asked 2011-09-26 21:53:39 +0200

nalaurethsulfate gravatar image

updated 2011-09-26 22:02:49 +0200

So I have an equation that solved (symbolically) looks something like this:

r == 1/488486532917088881338043645348028612608*sqrt(1271541785242875384103984923680382406444427305742938801212457) - 80406364132947/169706962694363951398912

and when I do anything to evaluate this numerically I get a TypeError? Right now I am copying and pasting this output into wolfram alpha, but really there has to be a better way?

Furthermore if I try to evaluate the equation with find_root(...) I get this error:

File "expression.pyx", line 984, in sage.symbolic.expression.Expression.__float__ (sage/symbolic/expression.cpp:5596) TypeError: unable to simplify to float approximation

?!

edit retag flag offensive close merge delete

Comments

Can you post the code that produces the solution r?

benjaminfjones gravatar imagebenjaminfjones ( 2011-09-26 23:11:05 +0200 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2011-09-26 23:47:30 +0200

DSM gravatar image

My guess is that you're trying to call .n() or float not on the number but on the _equation_. For example:

sage: ans = solve((x-11/sqrt(13))**2,x)
sage: ans
[x == 11/13*sqrt(13)]
sage: ans[0]
x == 11/13*sqrt(13)
sage: ans[0].n()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[...]
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._numerical_approx (sage/symbolic/expression.cpp:17880)()
TypeError: cannot evaluate symbolic expression numerically

You really want to get at the expression on the right:

sage: ans[0].rhs().n()
3.05085107923876

or maybe

sage: ans = solve((x-11/sqrt(13))**2,x,solution_dict=True)
sage: ans[0]
{x: 11/13*sqrt(13)}
sage: ans[0][x]
11/13*sqrt(13)
sage: ans[0][x].n()
3.05085107923876
edit flag offensive delete link more

Comments

Wow thanks. Worked like a charm. I was thinking that may be my problem, but didn't know how to access that. Thanks again.

nalaurethsulfate gravatar imagenalaurethsulfate ( 2011-09-27 02:21:03 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2011-09-26 21:53:39 +0200

Seen: 6,677 times

Last updated: Sep 26 '11