#                                        Ren-Cang Li, June 1, 1996
#                                        na.rcli@na-net.ornl.gov

with(linalg):
nstep:=7: nstep12:=floor(nstep/2):
cs:=[z,y,x,1-x]:

delta[nstep12]:=cs[1]:
for i from nstep12-1 to 0 by -1 do 
    delta[i]:=cs[nstep12+1-i]-cs[nstep12-i]: 
od:

a1:=delta[0]:
a3:=delta[0]^3: 
a5:=delta[0]^5: b5:=0:

for i from 1 to nstep12 do
    Newa1 := a1 + 2*delta[i];
    Newa3 := a3 + 2*delta[i]^3;
    Newa5 := a5 + 2*delta[i]^5;
    Newb5 := b5 - (a1*a3*delta[i])/6 - (a3*delta[i]^2)/6 
		+ (a1^2*delta[i]^3)/6 + (a1*delta[i]^4)/6;
   a1:=simplify(expand( Newa1 ));
   a3:=simplify(expand( Newa3 )); 
   a5:=simplify(expand( Newa5 )); b5:=simplify(expand( Newb5 ));
od:

f[1]:=a3: 
f[2]:=a5: f[3]:=b5:

for i from 1 to 3 do
    for j from 1 to nstep12 do
        g[i][j]:=diff(f[i],c[j]);
    od:
od:
