#4748: pass to quotient ring for exp
------------------------------+---------------------------------------------
 Reporter:  robertwb          |       Owner:  somebody  
     Type:  defect            |      Status:  new       
 Priority:  minor             |   Milestone:  sage-4.1.1
Component:  basic arithmetic  |    Keywords:            
 Reviewer:                    |      Author:            
   Merged:                    |  
------------------------------+---------------------------------------------
Description changed by robertwb:

Old description:

> This works
> {{{
> sage: sqrt(1+x+O(x^5))
> 1 + 1/2*x - 1/8*x^2 + 1/16*x^3 - 5/128*x^4 + O(x^5)
> }}}
>
> One would expect this to work:
>
> {{{
> sage: R.<x> = ZZ[[]]
> sage: exp(x+O(x^5))
> Traceback (most recent call last):
>   File "<ipython console>", line 1, in <module>
>   File "/Users/robert/sage/current/local/lib/python2.5/site-
> packages/sage/calculus/calculus.py", line 8415, in __call__
>     return x.exp()
>   File "power_series_ring_element.pyx", line 1383, in
> sage.rings.power_series_ring_element.PowerSeries.exp
> (sage/rings/power_series_ring_element.c:9850)
>   File "power_series_ring_element.pyx", line 1305, in
> sage.rings.power_series_ring_element.PowerSeries.solve_linear_de
> (sage/rings/power_series_ring_element.c:9707)
>   File "power_series_ring_element.pyx", line 1648, in
> sage.rings.power_series_ring_element._solve_linear_de
> (sage/rings/power_series_ring_element.c:11103)
>   File "power_series_ring_element.pyx", line 1650, in
> sage.rings.power_series_ring_element._solve_linear_de
> (sage/rings/power_series_ring_element.c:11124)
>   File "/Users/robert/sage/sage-3.1.3/local/lib/python2.5/site-
> packages/sage/rings/polynomial/polynomial_ring.py", line 252, in __call__
>     return C(self, x, check, is_gen, construct=construct)
>   File "polynomial_integer_dense_flint.pyx", line 224, in
> sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint.__init__
> (sage/rings/polynomial/polynomial_integer_dense_flint.cpp:4981)
>   File "parent.pyx", line 293, in sage.structure.parent.Parent.__call__
> (sage/structure/parent.c:3828)
>   File "parent.pyx", line 284, in sage.structure.parent.__call__
> (sage/structure/parent.c:3712)
>   File "rational.pyx", line 2288, in sage.rings.rational.Q_to_Z._call_
> (sage/rings/rational.c:14682)
> TypeError: no conversion of this rational to integer
> }}}

New description:

 This works
 {{{
 sage: R.<x> = ZZ[]
 sage: sqrt(1+x+O(x^5))
 1 + 1/2*x - 1/8*x^2 + 1/16*x^3 - 5/128*x^4 + O(x^5)
 }}}

 One would expect this to work:

 {{{
 sage: R.<x> = ZZ[[]]
 sage: exp(x+O(x^5))
 Traceback (most recent call last):
   File "<ipython console>", line 1, in <module>
   File "/Users/robert/sage/current/local/lib/python2.5/site-
 packages/sage/calculus/calculus.py", line 8415, in __call__
     return x.exp()
   File "power_series_ring_element.pyx", line 1383, in
 sage.rings.power_series_ring_element.PowerSeries.exp
 (sage/rings/power_series_ring_element.c:9850)
   File "power_series_ring_element.pyx", line 1305, in
 sage.rings.power_series_ring_element.PowerSeries.solve_linear_de
 (sage/rings/power_series_ring_element.c:9707)
   File "power_series_ring_element.pyx", line 1648, in
 sage.rings.power_series_ring_element._solve_linear_de
 (sage/rings/power_series_ring_element.c:11103)
   File "power_series_ring_element.pyx", line 1650, in
 sage.rings.power_series_ring_element._solve_linear_de
 (sage/rings/power_series_ring_element.c:11124)
   File "/Users/robert/sage/sage-3.1.3/local/lib/python2.5/site-
 packages/sage/rings/polynomial/polynomial_ring.py", line 252, in __call__
     return C(self, x, check, is_gen, construct=construct)
   File "polynomial_integer_dense_flint.pyx", line 224, in
 
sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint.__init__
 (sage/rings/polynomial/polynomial_integer_dense_flint.cpp:4981)
   File "parent.pyx", line 293, in sage.structure.parent.Parent.__call__
 (sage/structure/parent.c:3828)
   File "parent.pyx", line 284, in sage.structure.parent.__call__
 (sage/structure/parent.c:3712)
   File "rational.pyx", line 2288, in sage.rings.rational.Q_to_Z._call_
 (sage/rings/rational.c:14682)
 TypeError: no conversion of this rational to integer
 }}}

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4748#comment:3>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
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-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to