As a check for my implementation, how many bits does the largest coefficient have?
Bill. On 16 May, 01:28, Roman Pearce <rpear...@gmail.com> wrote: > Maple 14 on iMac Core i5 2.66 GHz 8GB (64-bit): > > f := x*y^3*z^2 + x^2*y^2*z + x*y^3*z + x*y^2*z^2 + y^3*z^2 + y^3*z + > 2*y^2*z^2 + 2*x*y*z + y^2*z + y*z^2 + y^2 + 2*y*z + z; > curr := 1: > TIMER := time[real](): > for i from 1 to 100 do > curr := expand(curr*f): > lprint(i=time[real]()-TIMER): > end do: > > K=70 is 115.24 sec > K=100 is 533.79 sec > > However there is a lot of overhead here because f is small and curr is > huge. 90% of the time is spent converting to and from Maple's data > structure. If you stay in the sdmp data structure: > > f := x*y^3*z^2 + x^2*y^2*z + x*y^3*z + x*y^2*z^2 + y^3*z^2 + y^3*z + > 2*y^2*z^2 + 2*x*y*z + y^2*z + y*z^2 + y^2 + 2*y*z + z; > f := sdmp(f,plex(x,y,z),pack=3): > curr := sdmp(1,plex(x,y,z),pack=3): > TIMER := time[real](): > for i from 1 to 100 do > curr := sdmp:-Multiply(f,curr): > lprint(i=time[real]()-TIMER): > end do: > > K=70 is 13.78 sec > K=100 is 53.92 sec > > So there's plenty of room for improvement in dealing with large > polynomials. The polynomial f^100 has 3.7 million terms. > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group athttp://groups.google.com/group/sage-devel > URL:http://www.sagemath.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org