#4477: [with patch; needs review] Allow exp() function for PowerSeriesRing 
element
to compute with valid non-zero constant term
------------------------------+---------------------------------------------
 Reporter:  sengupta          |        Owner:  sengupta  
     Type:  enhancement       |       Status:  assigned  
 Priority:  minor             |    Milestone:  sage-3.2.2
Component:  basic arithmetic  |   Resolution:            
 Keywords:                    |  
------------------------------+---------------------------------------------
Comment (by robertwb):

 Is this expected?

 {{{
 sage: R.<x> = ZZ[[]]
 sage: x.exp()
 Traceback (most recent call last):
   File "<ipython console>", line 1, in <module>
   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 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
 }}}

 The sqrt function automatically passes to the rationals.
 {{{
 sage: (1+x).sqrt()
 1 + 1/2*x - 1/8*x^2 + 1/16*x^3 - 5/128*x^4 + 7/256*x^5 - 21/1024*x^6 +
 33/2048*x^7 - 429/32768*x^8 + 715/65536*x^9 - 2431/262144*x^10 +
 4199/524288*x^11 - 29393/4194304*x^12 + 52003/8388608*x^13 -
 185725/33554432*x^14 + 334305/67108864*x^15 - 9694845/2147483648*x^16 +
 17678835/4294967296*x^17 - 64822395/17179869184*x^18 +
 119409675/34359738368*x^19 + O(x^20)
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4477#comment:10>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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