#10720: nth_root in power series
-----------------------------------+----------------------------------------
   Reporter:  pernici              |       Owner:  pernici     
       Type:  PLEASE CHANGE        |      Status:  new         
   Priority:  minor                |   Milestone:  sage-4.6.2  
  Component:  commutative algebra  |    Keywords:  power series
     Author:  mario pernici        |    Upstream:  N/A         
   Reviewer:                       |      Merged:              
Work_issues:                       |  
-----------------------------------+----------------------------------------
Changes (by newvalueoldvalue):

  * author:  => mario pernici
  * component:  PLEASE CHANGE => commutative algebra
  * priority:  major => minor
  * owner:  tbd => pernici
  * milestone:  => sage-4.6.2
  * keywords:  => power series


Old description:

> 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 .

New description:

 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#comment:1>
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