Le jeudi 27 novembre 2014 02:46:26 UTC+1, Robert Dodier a écrit : > > On 2014-11-26, Han Frederic <h...@math.jussieu.fr <javascript:>> wrote: > > > Hi, I have tried the factorization with giacpy. (cf trac 12375). > > I had to expexpand first before factoring and did this: > > > > sage: from giacpy import libgiac > > sage: x=libgiac('x') > > sage: s=exp(1024*(x+1))-1 > > sage: %time s.expexpand().factor() > > CPU times: user 0 ns, sys: 0 ns, total: 0 ns > > Wall time: 1.32 ms > > > (exp(x+1)-1)*(exp(x+1)+1)*(exp(x+1)^2+1)*(exp(x+1)^4+1)*(exp(x+1)^8+1)*(exp(x+1)^16+1)*(exp(x+1)^32+1)*(exp(x+1)^64+1)*(exp(x+1)^128+1)*(exp(x+1)^256+1)*(exp(x+1)^512+1) > > > > That's terrific. Do you know anything about the implementation of Giac? > I downloaded the source code and after poking around a bit, I can't > tell where factoring such an expression actually occurs. Does Giac > handle that itself, or does it punt to PARI or something else? > What is the effect of expexpand in the example above? > > Thanks for any information, > > Robert Dodier > > expexpand do this:
sage: s exp(1024*(x+1))-1 sage: s.expexpand() exp(x+1)^1024-1 so I guess that factor works as if it was a polynomial in one variable. (I have asked on giac forum to obtain confirmation about the implementation for one variable, but I think that for multivariable giac does it alone: so I have tried this: sage: x,y=libgiac('x,y') sage: s=exp(1024*(x+1))-exp(768*(y+2)) sage: %time s.expexpand().factor() CPU times: user 1.21 s, sys: 16 ms, total: 1.23 s Wall time: 1.22 s -(exp(y+2)^3-exp(x+1)^4)*(exp(y+2)^3+exp(x+1)^4)*(exp(y+2)^6+exp(x+1)^8)*(exp(y+2)^12+exp(x+1)^16)*(exp(y+2)^24+exp(x+1)^32)*(exp(y+2)^48+exp(x+1)^64)*(exp(y+2)^96+exp(x+1)^128)*(exp(y+2)^192+exp(x+1)^256)*(exp(y+2)^384+exp(x+1)^512) best Frederic -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.