
%off nat;
%on rounded;

n:=4;


N := 4

for jj:=1:n do depend q(jj), s;


*** Q declared operator 

for jj:=1:n do depend p(jj), s;


*** P declared operator 


%-------- hamiltonian ----------------
for jj:=1:n do depend H, q(jj), p(jj);


for jj:=1:n do depend V, q(jj), p(jj);



%df(h,p(1));df(h,q(1));df(h,q(2));df(h,p(4));


%-------- symmetry ----------------
for ii:=1:n do depend fff, x(ii);


*** X declared operator 

depend fff,p;



for jj:=1:n do for ii:=1:n do depend fip(ii), q(jj), p(jj);


*** FIP declared operator 

for jj:=1:n do for ii:=1:n do depend fiq(ii), q(jj), p(jj);


*** FIQ declared operator 

for ii:=1:n do depend fi(ii), s;


*** FI declared operator 


for jj:=1:n do for ii:=1:n do depend xi, q(jj), p(jj);


depend xi, s;




procedure vv(fff);  

rrr:=xi*df(fff,s) + for ii:=1:n sum  
( fiq(ii)*df(fff,q(ii)) + fip(ii)*df(fff,p(ii)) );


VV


vv(p(1));


DF(P(1),S)*XI + FIP(1)

vv(q(2));


DF(Q(2),S)*XI + FIQ(2)

vv(s);


XI


vv(q(3));


DF(Q(3),S)*XI + FIQ(3)

vv(p(3));


DF(P(3),S)*XI + FIP(3)


%-------- first integrals -----------------------------

for jj:=1:n do for ii:=1:n do depend J(ii), p(jj), q(jj);


*** J declared operator 

for ii:=1:n do depend J(ii), s;





df(j(1),p(1));


DF(J(1),P(1))

df(j(1),q(2));


DF(J(1),Q(2))

df(j(2),s);


DF(J(2),S)



%-------- hamilton equations --------------------------
for ii:=1:n do 
<<
eqq(ii):=df(q(ii),s) - df(H, p(ii));
eqp(ii):=df(p(ii),s) + df(H, q(ii));
>>;


*** EQQ declared operator 

*** EQP declared operator 


for ii:=1:n do write( eqq(ii));


DF(Q(1),S) - DF(H,P(1))

DF(Q(2),S) - DF(H,P(2))

DF(Q(3),S) - DF(H,P(3))

DF(Q(4),S) - DF(H,P(4))

for ii:=1:n do write( eqp(ii));


DF(P(1),S) + DF(H,Q(1))

DF(P(2),S) + DF(H,Q(2))

DF(P(3),S) + DF(H,Q(3))

DF(P(4),S) + DF(H,Q(4))


%--------definition of hamiltonian h0 free -------------
h0:=for ii:=1:n sum p(ii)**2/2;


           2       2       2       2
       P(4)  + P(3)  + P(2)  + P(1)
H0 := -------------------------------
                     2

h:=h0;


          2       2       2       2
      P(4)  + P(3)  + P(2)  + P(1)
H := -------------------------------
                    2

h;


     2       2       2       2
 P(4)  + P(3)  + P(2)  + P(1)
-------------------------------
               2


for ii:=1:n do write( eqq(ii));


 - P(1) + DF(Q(1),S)

 - P(2) + DF(Q(2),S)

 - P(3) + DF(Q(3),S)

 - P(4) + DF(Q(4),S)

for ii:=1:n do write( eqp(ii));


DF(P(1),S)

DF(P(2),S)

DF(P(3),S)

DF(P(4),S)


%-------- Jacobi array ----------------------------------------------







Matrix m(3,2*n+1);



;

J(1):=h;


             2       2       2       2
         P(4)  + P(3)  + P(2)  + P(1)
J(1) := -------------------------------
                       2

J(1):=p(1);


J(1) := P(1)

J(2):=p(2);


J(2) := P(2)


J(3):=J(1)*vv(J(2)) - J(2)*vv(J(1));


J(3) :=  - P(2)*DF(P(1),S)*XI - P(2)*FIP(1) + P(1)*DF(P(2),S)*XI

         + P(1)*FIP(2)


k:=3;


K := 3


for jj:=1:k do m(jj,1):=df(J(jj),p);



for jj:=1:k do <<
for ii:=1:n do <<

m(jj,ii+1):=df(J(jj),q(ii));
m(jj,ii+n+1):=df(J(jj),p(ii));

>>;
>>;




m;


MAT((DF(P(1),P),0,0,0,0,1,0,0,0),

    (DF(P(2),P),0,0,0,0,0,1,0,0),

    ( - P(2)*DF(P(1),P,S)*XI - P(2)*DF(P(1),S)*DF(XI,P)

      - P(2)*DF(FIP(1),P) + P(1)*DF(P(2),P,S)*XI

      + P(1)*DF(P(2),S)*DF(XI,P) + P(1)*DF(FIP(2),P)

      - DF(P(2),P)*DF(P(1),S)*XI - DF(P(2),P)*FIP(1)

      + DF(P(2),S)*DF(P(1),P)*XI + DF(P(1),P)*FIP(2),

      - P(2)*DF(P(1),S)*DF(XI,Q(1)) - P(2)*DF(FIP(1),Q(1))

      + P(1)*DF(P(2),S)*DF(XI,Q(1)) + P(1)*DF(FIP(2),Q(1)),

      - P(2)*DF(P(1),S)*DF(XI,Q(2)) - P(2)*DF(FIP(1),Q(2))

      + P(1)*DF(P(2),S)*DF(XI,Q(2)) + P(1)*DF(FIP(2),Q(2)),

      - P(2)*DF(P(1),S)*DF(XI,Q(3)) - P(2)*DF(FIP(1),Q(3))

      + P(1)*DF(P(2),S)*DF(XI,Q(3)) + P(1)*DF(FIP(2),Q(3)),

      - P(2)*DF(P(1),S)*DF(XI,Q(4)) - P(2)*DF(FIP(1),Q(4))

      + P(1)*DF(P(2),S)*DF(XI,Q(4)) + P(1)*DF(FIP(2),Q(4)),

      - P(2)*DF(P(1),P(1),S)*XI - P(2)*DF(P(1),S)*DF(XI,P(1))

      - P(2)*DF(FIP(1),P(1)) + P(1)*DF(P(2),S)*DF(XI,P(1))

      + P(1)*DF(FIP(2),P(1)) + DF(P(2),S)*XI + FIP(2),

      - P(2)*DF(P(1),S)*DF(XI,P(2)) - P(2)*DF(FIP(1),P(2))

      + P(1)*DF(P(2),P(2),S)*XI + P(1)*DF(P(2),S)*DF(XI,P(2))

      + P(1)*DF(FIP(2),P(2)) - DF(P(1),S)*XI - FIP(1),

      - P(2)*DF(P(1),S)*DF(XI,P(3)) - P(2)*DF(FIP(1),P(3))

      + P(1)*DF(P(2),S)*DF(XI,P(3)) + P(1)*DF(FIP(2),P(3)),

      - P(2)*DF(P(1),S)*DF(XI,P(4)) - P(2)*DF(FIP(1),P(4))

      + P(1)*DF(P(2),S)*DF(XI,P(4)) + P(1)*DF(FIP(2),P(4))))




matrix minm(k,k);


for ii:=1:k do for jj:=1:k do minm(ii,jj):=m(ii,jj);



minm;


MAT((DF(P(1),P),0,0),

    (DF(P(2),P),0,0),

    ( - P(2)*DF(P(1),P,S)*XI - P(2)*DF(P(1),S)*DF(XI,P)

      - P(2)*DF(FIP(1),P) + P(1)*DF(P(2),P,S)*XI

      + P(1)*DF(P(2),S)*DF(XI,P) + P(1)*DF(FIP(2),P)

      - DF(P(2),P)*DF(P(1),S)*XI - DF(P(2),P)*FIP(1)

      + DF(P(2),S)*DF(P(1),P)*XI + DF(P(1),P)*FIP(2),

      - P(2)*DF(P(1),S)*DF(XI,Q(1)) - P(2)*DF(FIP(1),Q(1))

      + P(1)*DF(P(2),S)*DF(XI,Q(1)) + P(1)*DF(FIP(2),Q(1)),

      - P(2)*DF(P(1),S)*DF(XI,Q(2)) - P(2)*DF(FIP(1),Q(2))

      + P(1)*DF(P(2),S)*DF(XI,Q(2)) + P(1)*DF(FIP(2),Q(2))))


det(minm);


0





shut jjhh;


