It's worse than that... sage: t=((1/10)*I/pi)^(3/2) sage: t (1/10*I/pi)^(3/2) sage: t^2
This doesn't return. An I had to insist to interrupt (had to strike C-C 6 times in emacs' sage-shell-mode...) ^C^C^C^C^C^C--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) <ipython-input-31-f00da4fd424a> in <module>() ----> 1 t**Integer(2) /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/structure/element.pyx in sage.structure.element.Element.__pow__ (build/cythonized/sage/structure/element.c:14088)() 2038 return (<Element>left)._pow_(right) 2039 if BOTH_ARE_ELEMENT(cl): -> 2040 return coercion_model.bin_op(left, right, pow) 2041 2042 cdef long value /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/structure/coerce.pyx in sage.structure.coerce.CoercionModel.bin_op (build/cythonized/sage/structure/coerce.c:9800)() 1153 return (<Action>action)._act_(x, y) 1154 else: -> 1155 return (<Action>action)._act_(y, x) 1156 1157 # Now coerce to a common parent and do the operation there /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/structure/coerce_actions.pyx in sage.structure.coerce_actions.IntegerPowAction._act_ (build/cythonized/sage/structure/coerce_actions.c:10173)() 861 integer_check_long(n, &value, &err) 862 if not err: --> 863 return e._pow_long(value) 864 return e._pow_int(n) 865 /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/structure/element.pyx in sage.structure.element.Element._pow_long (build/cythonized/sage/structure/element.c:14635)() 2115 Generic path for powering with a C long. 2116 """ -> 2117 return self._pow_int(n) 2118 2119 /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression._pow_int (build/cythonized/sage/symbolic/expression.cpp:25386)() 4049 pi^4 4050 """ -> 4051 return self._pow_(self._parent(other)) 4052 4053 def derivative(self, *args): /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression._pow_ (build/cythonized/sage/symbolic/expression.cpp:25211)() 4033 relational_operator(self._gobj)) 4034 else: -> 4035 x = g_pow(self._gobj, nexp._gobj) 4036 return new_Expression_from_GEx(self._parent, x) 4037 /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/rings/number_field/number_field_element.pyx in sage.rings.number_field.number_field_element.NumberFieldElement.__pow__ (build/cythonized/sage/rings/number_field/number_field_element.cpp:22076)() 2316 if (isinstance(base, NumberFieldElement) and 2317 (isinstance(exp, Integer) or type(exp) is int or exp in ZZ)): -> 2318 return generic_power(base, exp) 2319 2320 if (isinstance(base, NumberFieldElement) and exp in QQ): /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/arith/power.pyx in sage.arith.power.generic_power (build/cythonized/sage/arith/power.c:2376)() 81 raise NotImplementedError("non-integral exponents not supported") 82 if not err: ---> 83 return generic_power_long(a, value) 84 85 if n < 0: /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/arith/power.pyx in sage.arith.power.generic_power_long (build/cythonized/sage/arith/power.c:2663)() 100 u = -u 101 a = invert(a) --> 102 return generic_power_pos(a, u) 103 104 /usr/local/sage-P3-2/local/lib/python3.7/site-packages/sage/arith/power.pyx in sage.arith.power.generic_power_pos (build/cythonized/sage/arith/power.c:2796)() 118 n >>= 1 119 while n: --> 120 sig_check() 121 apow *= apow 122 if n & 1: KeyboardInterrupt: sage: This, IMNSHO, is a (quite serious) bug, affecting a very basic functionality of Sage. That's why I have opened Trac#28620 <https://trac.sagemath.org/ticket/28620#ticket> against "symbolics", and flagged it as "critical" HTH, Le mardi 15 octobre 2019 17:17:41 UTC+2, Dima Pasechnik a écrit : > > On Tue, Oct 15, 2019 at 3:57 PM 'Florian Hanisch' via sage-devel > <sage-...@googlegroups.com <javascript:>> wrote: > > > > Hi, > > > > this might be a duplicate (sorry) but I could not find this issue > described anywhere else. I have been running the code > > > > k=1.0 > > (I*k/(2*pi*5))^(6/2) > > > > and got the result > > > > (1.00000046096651e-4294967297*I)/pi^3 > > > > This is clearly way too small, adding CC(...) to get a numerical value > does not resolve > > the problem. However, simply replacing 6/2 by 3 yields the correct > result: > > > > (I*k/(2*pi*5))^(3) > > result: -0.00100000000000000*I/pi^3 > > > > Did I make some stupid and obvious error or is this just a strange bug ? > I am using > > sage 8.6 (jupyter notebook) on a linux computer (Centos 7, 64 bit). I > tried these code > > snippets on cocalc and ran into the same problems. Friends of mine have > also reported the > > problem on sage 8.8. > > yes, it appears to be a bug. here is a slightly easier example: > > sage: t > (0.100000000000000*I/pi)^(3/2) > sage: t.n()^2 > -6.77626357803440e-21 - 0.0000322515344331995*I > sage: t.n() > # a correct numerical value > -0.00401569012955429 + 0.00401569012955429*I > sage: t^2 > # pynac bug ? > (1.00000046096651e-4294967297*I)/pi^3 > > maxima is doing it right: > > sage: maxima(t) > ((0.1*%i)/%pi)^(3/2) > sage: maxima(t)^2 > -(0.001*%i)/%pi^3 > > > > > > > > Thanks a lot, > > > > Florian > > > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "sage-devel" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to sage-...@googlegroups.com <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/ba2015a4-6249-4d4b-98ce-5d8e115fd95a%40googlegroups.com. > > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/b9deec8b-273c-477a-9ab4-4e159fb088ef%40googlegroups.com.