Hi,
I use the function abs to know the distance between two
ComplexNumbers. Sometimes it returns a RealNumber, but sometimes it
returns a SymbolicComposition. When it returns SymbolicComposition, I
can not use it in a function expecting a RealNumber, and does not work
when I try to cast it myself (with RR).
Is there something I misunderstand?
Anyway, may-you sugest a workarround?
Rose
p.s. It fails also with sqrt(norm(z)).
example:
sage:z.rayon()
0.333333333333333
sage:z.rayon
abs((1.414213562373095*(1.414213562373095*I + 1) +
1.00000000000000*I)/(1.414213562373095 -
1.00000000000000*I*(1.414213562373095*I + 1)) - 1.414213562373095*I)
sage:type(z.rayon())
<class 'sage.calculus.calculus.SymbolicComposition'>
sage:RR(z.rayon())
Traceback (click to the left for traceback)
...
TypeError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/rosie/.sage/sage_notebook/worksheets/admin/1/code/
59.py", line 6, in <module>
RR(z.rayon())
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sympy/plotting/", line 1, in <module>
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 6066, in
_mpfr_
x = f(g._mpfr_(field))
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 3924, in
_mpfr_
return field(self._obj)
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4703, in
_convert
return typ(g)
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4749, in
_mpfr_
return self._convert(field)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 4697, in
_convert
fops = [typ(op) for op in self._operands]
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/calculus/calculus.py", line 3924, in
_mpfr_
return field(self._obj)
File "real_mpfr.pyx", line 299, in
sage.rings.real_mpfr.RealField.__call__ (sage/rings/real_mpfr.c:3108)
File "/home/rosie/sage-3.0.1-ubuntu32-intel-sse2-i686-Linux/local/
lib/python2.5/site-packages/sage/functions/constants.py", line 856, in
_mpfr_
raise TypeError
TypeError
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---