#1956: implement multivariate power series arithmetic
-------------------------------------------+--------------------------------
   Reporter:  was                          |       Owner:  malb                 
    
       Type:  enhancement                  |      Status:  needs_review         
    
   Priority:  major                        |   Milestone:  sage-4.6             
    
  Component:  commutative algebra          |    Keywords:  multivariate power 
series
     Author:  Niles Johnson                |    Upstream:  N/A                  
    
   Reviewer:  Martin Albrecht, Simon King  |      Merged:                       
    
Work_issues:                               |  
-------------------------------------------+--------------------------------

Comment(by malb):

 You are right, I cannot reproduce my problem. As instructed above, I can
 indeed apply the patch cleanly.

 Some more comments (I'm really not the best person to review this code):

 Here are some performance figures:

 {{{
 #!python
 sage: R.<t,u,v> = PowerSeriesRing(QQ); R
 Multivariate Power Series Ring in t, u, v over Rational Field
 sage: f = R.random_element(prec=20,bound=20)
 sage: fp = f.polynomial()
 sage: %timeit f^2 # power series
 125 loops, best of 3: 2.89 ms per loop

 sage: %timeit fp^2 # polynomials
 625 loops, best of 3: 82.4 µs per loop

 sage: R.<t,u,v> = PowerSeriesRing(GF(127)); R
 Multivariate Power Series Ring in t, u, v over Finite Field of size 127
 sage: f = R.random_element(prec=20,bound=20)
 sage: fp = f.polynomial()

 sage: %timeit f^2 # power series
 625 loops, best of 3: 1.06 ms per loop

 sage: %timeit fp^2 # polynomials
 625 loops, best of 3: 15.3 µs per loop
 }}}

 I also noticed that this is rather slow:

 {{{
 #!python
 sage: sage: R.<t,u,v> = PowerSeriesRing(GF(127)); R
 Multivariate Power Series Ring in t, u, v over Finite Field of size 127
 sage: f = R.random_element(prec=20,bound=20)
 sage: p = f.polynomial()
 sage: fp = f.polynomial()
 sage: %timeit R(fp)
 25 loops, best of 3: 11.1 ms per loop
 }}}

 Conversion to Magma didn't seem to work at all, or am I doing it wrong?

 {{{
 #!python
 sage: magma(f)
 In file "/home/malb/.sage//temp/road/7093//interface//tmp7130", line 1,
 column 16:
 >> _sage_[4]:=-63*u^4 + 11*t*v^8 - 17*t^3*u^4*v^3 - 61*t^4*u^5*v^2 +
 16*t^5*u^
                   ^
 User error: Identifier 'u' has not been declared or assigned
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/1956#comment:46>
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