#10720: nth_root in power series
-----------------------------+----------------------------------------------
   Reporter:  pernici        |       Owner:  tbd
       Type:  PLEASE CHANGE  |      Status:  new
   Priority:  major          |   Milestone:     
  Component:  PLEASE CHANGE  |    Keywords:     
     Author:                 |    Upstream:  N/A
   Reviewer:                 |      Merged:     
Work_issues:                 |  
-----------------------------+----------------------------------------------
 In this patch the nth-root of power series `y = x^n` is introduced using
 the Newton method for `y = x^-n`
 {{{
 x' = (1+1/n)*x - y*x^(n+1)/n               (1)
 }}}

 {{{
 sage: R.<t> = QQ[]
 sage: p = (1 + 2*t + 5*t^2 + 7*t^3 + O(t^4))^3
 sage: p.nth_root(3)
 1 + 2*t + 5*t^2 + 7*t^3 + O(t^4)
 sage: p = (1 + 2*t + 5*t^2 + 7*t^3 + O(t^4))^-3
 sage: p.nth_root(-3)
 1 + 2*t + 5*t^2 + 7*t^3 + O(t^4)
 }}}

 The iterations are division-free;
 in the case `n=2` one can compare this division-free iteration
 with the iteration used in the Newton method for `sqrt`
 {{{
 x' = (x +y/x)/2                            (2)
 }}}


 `nth_root` can be used to compute the square root of series which
 currently `sqrt` does not support
 {{{
 sage: R.<x,y> = QQ[]
 sage: S.<t> = R[[]]
 sage: p = 1 + x*t + (x^2+y^2)*t^2 + O(t^3)
 sage: p1 = p.nth_root(2); p1
 1 + 1/2*x*t + (3/8*x^2 + 1/2*y^2)*t^2 + O(t^3)
 sage: p1^2
 1 + x*t + (x^2 + y^2)*t^2 + O(t^3)
 }}}

 In particular it can be used in the multivariate series considered
 in ticket #1956 .

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10720>
Sage <http://www.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