Thanks for this data. Your timings look like mine for the ones that overlap. The difference between 1Gh and 933Mhz is not that great, and I guess the other parameters are close too. It is odd that Maple 7 is so much slower than Maple4 etc. Maybe the change to longer forms slowed it down. I tried downloading form3.0, and I find it mysterious. Maybe I am not using it correctly. My first version took 101.23 seconds. I repeated it and it took 97 seconds This is what I did: C:\form>form sample3.frm form sample3.frm FORM by J.Vermaseren,version 3.0(Jan 28 2001) Run at: Thu Mar 28 10:26:41 2002 Symbols x,y,z; Local q=(1+x+y+z)^20; Local q1=q+1; Local res=q*q1; .end ..... This changed program however took only 0.98 second: C:\form>form sample7.frm form sample7.frm FORM by J.Vermaseren,version 3.0(Jan 28 2001) Run at: Thu Mar 28 10:50:53 2002 Symbols x,y,z; Local q2=(1+x+y+z)^20*(1+(1+x+y+z)^20); .end Time = 1.04 sec Generated terms = 14112 q2 Terms in output = 12341 Bytes used = 305378 Richard B. Kreckel wrote:
Hi,
On Sun, 24 Mar 2002, Richard Fateman wrote:
This seems to me to be a design that should be revisited. For the univariate case it is particularly bad since multiplying polynomials of degree u and v gives you only degree u+v, and you will have allocated (u+1)*(v+1) cells.
Sure. Done now.
When this problem works on GiNaC I'd like to know its speed!
Here are timings on a P-III, 1GHz, 512kB cache, running Linux, with approximate memory usage:
System time Memory --------------------------------------------------+--------+--------- GiNaC-1.0.8 (from CVS), using GCC-3.1 prerelease: 57.3s 8MB MuPAD 1.4.2: 119.2s 25MB MuPAD 2.0: 117.0s 30MB Form 3.0: 0.5s 6MB Maxima 5.6 (GCL 2.4.0): 51.0s 8MB MapleVR3: 16.7s 7MB MapleVR4: 17.9s 8MB MapleVR5: 18.4s 8MB Mathematica 4.1: 80.5s 11MB Reduce 3.6: Segmentation Fault Yacas 1.0.48: N/A (smaller examples fail to expand fully)
Richard, I noticed a mistake in the printed version of the Mathematica program (missing Expand[]) and the MockMMA doesn't seem right to me either. Note that Form can really only do ring operations like in this test, but its speed there should come as no surprise. You probably just cannot beat it with any more general system.
Regards -richy.