# Problem with sign / sgn and .n()

I have an urgent problem with the sign function. I have done a symbolic calculation and want to evaluate the result numerically. The symbolic terms have a sgn() function within, which gives me an error when I try to evaluate the expression numerically. Please find the error below. I do not have the slightest ideas why sage can not evaluate that (simple) expression:

sign(1050*cos(61075634/181449129) + 900).n()

How can i solve that problem?

Best Markus

Error:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_60.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + .....

execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>

File "/tmp/tmp4W3s9l/___code___.py", line 4, in <module>
exec compile(u'qwer.n()
File "", line 1, in <module>

File "expression.pyx", line 4053, in sage.symbolic.expression.Expression._numerical_approx (sage/symbolic/expression.cpp:17894)
TypeError: cannot evaluate symbolic expression numerically


edit by kcrisman: Here's a minimal example:

sage: M = sgn(cos(3/2))
sage: M.n()


It doesn't suffice to do sgn(cos(1)), because that turns out to be 1.

edit retag close merge delete

1

That looks like a bug to me. I'll see if I can track it down and file a bug report.

( 2011-12-06 18:57:17 +0200 )edit
1

Yup. Problem seems to be that in M.n?? we see that it's looking for is_a_numeric(x._gobj) but apparently that fails, as does the constant, so it thinks we are looking at evaluating sgn(cos(x)) instead of sgn(cos(3/2)). Hopefully Burcin will see this and magically know the answer :) But otherwise it's SD 35.5 fodder!

( 2011-12-06 20:37:42 +0200 )edit

Thanks for the answers. Would you mind explaining me what a SD 35.5. fodder ist?

( 2011-12-22 15:28:55 +0200 )edit

@Louis Cypher: "SD" stands for Sage Days, workshops at which Sage development is done. Fodder is food for animals, or in this context "something to do at the workshop". See http://wiki.sagemath.org/days35.5

( 2011-12-22 15:57:54 +0200 )edit

OK, thanks. This : http://ask.sagemath.org/question/1014/pi-and-e-not-evaluated-when-i-use-my-own-classes might be a related problem. There are also some sage constants that are not evaluated at all.

( 2011-12-22 17:37:56 +0200 )edit

Sort by » oldest newest most voted

I have reported this as http://trac.sagemath.org/ticket/16587

more