;; July 25, 2009: physics matrix from Manocha paper, p. 114.  
;; takes from 1.9 to 6 secs by various methods. 10 meg (i.e. virtually 0.)  That would translate to maybe 19 to 60 secs on his computer.  He gets
;; 94 secs.  Even multiplying by 20 gives 38 to 120 secs.
;; best is with for i=1,32 do Fin(i,i);DC;Pre;KD;DC;N  with &u=2.  &u=5 also good.  Fin(1,32) is bad!

;; On substituted matrix, get from .458 secs to .8 secs. He gets 21 minutes.  about 250 times faster, after hardware allowance.

;; Maple 12, white Imac, crashed after 870 secs, used 700 meg. (plenty more was available)
;; Mathematica 6.0, same Imac, 6 mins 25 secs, 190 meg.

;; June 14, 2010:  1.4 sec with &u=5.

;; Oct 18: .917 with &u=2, new laptop and fer64.

;; Dec 2014:  fastest time is &D=3 with Det of non sparse version.

;; Sep 2015:  fastest in 0.823 secs.  Others are less than 1.2 secs.

&(e = 1);
&(m = 1);
&(a = 1);
&(D = 10);
&(t = 1);


&(J=jj);
&(J=ee);
&(J=rr);
&(J=ka);

&(J=al);
&(J=be);
&(J=ga);
&(J=de);
&(J=et);
&(J=e1);
&(J=e2);
&(J=e3);
&(J=e4);

d := de;
k := ka;
g := ga;
e := et;
b := be;

[m] := [[  e1, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  0,  0,  0,  0, 
            0,  e1, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  al, 0,  0,  0,  0,  0,  0, 
            0,  0,  e2, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  0,  0, 
            0,  0,  0,  e2, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  be, 0,  0,  0,  0, 
            de, 0,  et, 0,  ga, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  0,  0,  0,  0,  de, 0,  et, 0, 
            0,  de, 0,  -et, 0,  ga, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  0,  0,  0,  0,  de, 0,  -et, 
            -et, 0,  de, 0,  -et, 0,  ga, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  0,  0,  0,  0,  -et, 0,  de, 0, 
            0,  et, 0,  de, 0,  et, 0,  ga, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  0,  0,  0,  0,  et, 0,  de, 
            de, 0,  0,  ka, de, 0,  0,  ka, ga, 0,  0,  ka, de, 0,  0,  ka, de, 0,  0,  ka, 0,  0,  0,  0,  de, 0,  0,  ka, de, 0,  0,  ka, 
            0,  de, -ka, 0,  0,  de, -ka, 0,  0,  ga, -ka, 0,  0,  de, -ka, 0,  0,  de, -ka, 0,  0,  0,  0,  0,  0,  de, -ka, 0,  0,  de, -ka, 0, 
            0,  -ka, de, 0,  0,  -ka, de, 0,  0,  -ka, ga, 0,  0,  -ka, de, 0,  0,  -ka, de, 0,  0,  0,  0,  0,  0,  -ka, de, 0,  0,  -ka, de, 0, 
            ka, 0,  0,  de, ka, 0,  0,  de, ka, 0,  0,  ga, ka, 0,  0,  de, ka, 0,  0,  de, 0,  0,  0,  0,  ka, 0,  0,  de, ka, 0,  0,  de, 
            de, 0,  0,  et, de, 0,  0,  et, de, 0,  0,  et, ga, 0,  0,  et, 0,  0,  0,  0,  de, 0,  0,  et, de, 0,  0,  et, de, 0,  0,  et, 
            0,  de, et, 0,  0,  de, et, 0,  0,  de, et, 0,  0,  ga, et, 0,  0,  0,  0,  0,  0,  de, et, 0,  0,  de, et, 0,  0,  de, et, 0, 
            0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, ga, 0,  0,  0,  0,  0,  0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, de, 0, 
            -et, 0,  0,  de, -et, 0,  0,  de, -et, 0,  0,  de, -et, 0,  0,  ga, 0,  0,  0,  0,  -et, 0,  0,  de, -et, 0,  0,  de, -et, 0,  0,  de, 
            de, 0,  0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, 0,  0,  0,  0,  de + 1, 0,  0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, de, 0,  0,  -et, 
            0,  de, -et, 0,  0,  de, -et, 0,  0,  de, -et, 0,  0,  0,  0,  0,  0,  ga, -et, 0,  0,  de, -et, 0,  0,  de, -et, 0,  0,  de, -et, 0, 
            0,  et, de, 0,  0,  et, de, 0,  0,  et, de, 0,  0,  0,  0,  0,  0,  et, ga, 0,  0,  et, de, 0,  0,  et, de, 0,  0,  et, de, 0, 
            et, 0,  0,  de, et, 0,  0,  de, et, 0,  0,  de, 0,  0,  0,  0,  et, 0,  0,  ga, et, 0,  0,  de, et, 0,  0,  de, et, 0,  0,  de, 
            de, 0,  0,  -ka, de, 0,  0,  -ka, 0,  0,  0,  0,  de, 0,  0,  -ka, de, 0,  0,  -ka, ga, 0,  0,  -ka, de, 0,  0,  -ka, de, 0,  0,  -ka, 
            0,  de, ka, 0,  0,  de, ka, 0,  0,  0,  0,  0,  0,  de, ka, 0,  0,  de, ka, 0,  0,  ga, ka, 0,  0,  de, ka, 0,  0,  de, ka, 0, 
            0,  ka, de, 0,  0,  ka, de, 0,  0,  0,  0,  0,  0,  ka, de, 0,  0,  ka, de, 0,  0,  ka, ga, 0,  0,  ka, de, 0,  0,  ka, de, 0, 
            -ka, 0,  0,  de, -ka, 0,  0,  de, 0,  0,  0,  0,  -ka, 0,  0,  de, -ka, 0,  0,  de, -ka, 0,  0,  ga, -ka, 0,  0,  de, -ka, 0,  0,  de, 
            de, 0,  -et, 0,  0,  0,  0,  0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  ga, 0,  -et, 0,  de, 0,  -et, 0, 
            0,  de, 0,  et, 0,  0,  0,  0,  0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  ga, 0,  et, 0,  de, 0,  et, 
            et, 0,  de, 0,  0,  0,  0,  0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  de, 0,  et, 0,  ga, 0,  et, 0,  de, 0, 
            0,  -et, 0,  de, 0,  0,  0,  0,  0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  de, 0,  -et, 0,  ga, 0,  -et, 0,  de, 
            0,  0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3 + 1, 0,  0,  0, 
            0,  0,  0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3, 0,  0,  0,  e3 + 1, 0,  0, 
            0,  0,  0,  0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4 + 1, 0, 
            0,  0,  0,  0,  0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4, 0,  0,  0,  e4 + 1   ]];
            
&x;