
%off nat;
on rounded;



procedure delta(ii,jj);
begin 
if ii eq jj then return 1 else return 0; 
end;


DELTA


procedure addone(x); rrr:=x+1;


ADDONE


% random numbers with uniform distribution generated in Mathematica 
%no=Table[Random[Real],{i,1,100 }]

noise:=
{0.7611189572266488, 0.809932949360867, 
  0.32754272053822, 0.3711809230728502, 
  0.2198155852281288, 0.2810910296348176, 
  0.5994259353572776, 0.987082750593675, 
  0.6503306993502929, 0.6922800675720912, 
  0.7549523349478609, 0.445705988068098}$



n:=2;


N := 2

m:=2;


M := 2

%--------------------------------------------------
%A(1):=10$ A(2):=30$
AA:=TP(MAT( (A(1), A(2) )));


*** A declared operator 

      [A(1)]
AA := [    ]
      [A(2)]


%--------------------------------------------------

matrix KM(n,n);


for tt:=1:n do for pp:=1:m do km(tt,pp):=k(tt,pp);


*** K declared operator 


%k(1,1):=0.6$ k(1,2):=0.3$
%k(2,1):=0.4$ k(2,2):=0.6$

%-----------------
RR:=TP(MAT( (R(1), R(2) )));


*** R declared operator 

      [R(1)]
RR := [    ]
      [R(2)]


NNO:=TP(MAT( (NO(1), NO(2) )));


*** NO declared operator 

       [NO(1)]
NNO := [     ]
       [NO(2)]


%NO(1):=100; NO(2):=20;

RR:= KM*AA + NNO;


      [A(2)*K(1,2) + A(1)*K(1,1) + NO(1)]
RR := [                                 ]
      [A(2)*K(2,2) + A(1)*K(2,1) + NO(2)]




%---- SYMMETRY -------------------------------------
matrix ONE(n,n);


for ii:=1:n do ONE(ii,ii):=1;



SSA:=KM**-1;


       [            K(2,2)                           - K(1,2)           ]
       [-------------------------------  -------------------------------]
       [ K(2,2)*K(1,1) - K(2,1)*K(1,2)    K(2,2)*K(1,1) - K(2,1)*K(1,2) ]
SSA := [                                                                ]
       [            - K(2,1)                         K(1,1)             ]
       [-------------------------------  -------------------------------]
       [ K(2,2)*K(1,1) - K(2,1)*K(1,2)    K(2,2)*K(1,1) - K(2,1)*K(1,2) ]

  SSB:=KM*AA - AA;


       [A(2)*K(1,2) + A(1)*K(1,1) - A(1)]
SSB := [                                ]
       [A(2)*K(2,2) - A(2) + A(1)*K(2,1)]



MATRIX X(2,1);



procedure symet(x); 
BEGIN
RETURN rslt:=SSA*X + SSB;
END;


SYMET



ggm:=MAT( (g(1,1), g(1,2) ),( g(2,1), g(2,2)) );


*** G declared operator 

       [G(1,1)  G(1,2)]
GGM := [              ]
       [G(2,1)  G(2,2)]


%ggm:=MAT( (1, 2),( 2, 1 ) );

ffm:=MAT( (f(1,1), f(1,2) ),( f(2,1), f(2,2)) );


*** F declared operator 

       [F(1,1)  F(1,2)]
FFM := [              ]
       [F(2,1)  F(2,2)]


%ffm:=MAT( (f(1,1), 1 ),( 1, f(2,2)) );

FACTOR A;


xxx:=KM*AA;


       [A(2)*K(1,2) + A(1)*K(1,1)]
XXX := [                         ]
       [A(2)*K(2,2) + A(1)*K(2,1)]


matrix mama(n,n);


mama(1,1):=xxx(1,1);


MAMA(1,1) := A(2)*K(1,2) + A(1)*K(1,1)

mama(2,2):=xxx(2,1);


MAMA(2,2) := A(2)*K(2,2) + A(1)*K(2,1)

mama;


[A(2)*K(1,2) + A(1)*K(1,1)              0            ]
[                                                    ]
[            0              A(2)*K(2,2) + A(1)*K(2,1)]



eqq:=ggm*mama*ffm - mama;


EQQ := MAT((A(2)

            *(F(2,1)*G(1,2)*K(2,2) + F(1,1)*G(1,1)*K(1,2) - K(1,2)) +

             A(1)

            *(F(2,1)*G(1,2)*K(2,1) + F(1,1)*G(1,1)*K(1,1) - K(1,1)),

            A(2)*(F(2,2)*G(1,2)*K(2,2) + F(1,2)*G(1,1)*K(1,2))

             + A(1)*(F(2,2)*G(1,2)*K(2,1) + F(1,2)*G(1,1)*K(1,1))),

           (A(2)*(F(2,1)*G(2,2)*K(2,2) + F(1,1)*G(2,1)*K(1,2))

             + A(1)*(F(2,1)*G(2,2)*K(2,1) + F(1,1)*G(2,1)*K(1,1)),

            A(2)

            *(F(2,2)*G(2,2)*K(2,2) + F(1,2)*G(2,1)*K(1,2) - K(2,2)) +

             A(1)

            *(F(2,2)*G(2,2)*K(2,1) + F(1,2)*G(2,1)*K(1,1) - K(2,1))))




eqq;


MAT((A(2)*(F(2,1)*G(1,2)*K(2,2) + F(1,1)*G(1,1)*K(1,2) - K(1,2))

      + A(1)*(F(2,1)*G(1,2)*K(2,1) + F(1,1)*G(1,1)*K(1,1) - K(1,1)),

     A(2)*(F(2,2)*G(1,2)*K(2,2) + F(1,2)*G(1,1)*K(1,2))

      + A(1)*(F(2,2)*G(1,2)*K(2,1) + F(1,2)*G(1,1)*K(1,1))),

    (A(2)*(F(2,1)*G(2,2)*K(2,2) + F(1,1)*G(2,1)*K(1,2))

      + A(1)*(F(2,1)*G(2,2)*K(2,1) + F(1,1)*G(2,1)*K(1,1)),

     A(2)*(F(2,2)*G(2,2)*K(2,2) + F(1,2)*G(2,1)*K(1,2) - K(2,2))

      + A(1)*(F(2,2)*G(2,2)*K(2,1) + F(1,2)*G(2,1)*K(1,1) - K(2,1))))



for tt:=1:n do 
for pp:=1:m do 
for ss:=1:m do write(coeffn(eqq(tt,pp), a(ss),1) );


F(2,1)*G(1,2)*K(2,1) + F(1,1)*G(1,1)*K(1,1) - K(1,1)

F(2,1)*G(1,2)*K(2,2) + F(1,1)*G(1,1)*K(1,2) - K(1,2)

F(2,2)*G(1,2)*K(2,1) + F(1,2)*G(1,1)*K(1,1)

F(2,2)*G(1,2)*K(2,2) + F(1,2)*G(1,1)*K(1,2)

F(2,1)*G(2,2)*K(2,1) + F(1,1)*G(2,1)*K(1,1)

F(2,1)*G(2,2)*K(2,2) + F(1,1)*G(2,1)*K(1,2)

F(2,2)*G(2,2)*K(2,1) + F(1,2)*G(2,1)*K(1,1) - K(2,1)

F(2,2)*G(2,2)*K(2,2) + F(1,2)*G(2,1)*K(1,2) - K(2,2)




eqq;


MAT((A(2)*(F(2,1)*G(1,2)*K(2,2) + F(1,1)*G(1,1)*K(1,2) - K(1,2))

      + A(1)*(F(2,1)*G(1,2)*K(2,1) + F(1,1)*G(1,1)*K(1,1) - K(1,1)),

     A(2)*(F(2,2)*G(1,2)*K(2,2) + F(1,2)*G(1,1)*K(1,2))

      + A(1)*(F(2,2)*G(1,2)*K(2,1) + F(1,2)*G(1,1)*K(1,1))),

    (A(2)*(F(2,1)*G(2,2)*K(2,2) + F(1,1)*G(2,1)*K(1,2))

      + A(1)*(F(2,1)*G(2,2)*K(2,1) + F(1,1)*G(2,1)*K(1,1)),

     A(2)*(F(2,2)*G(2,2)*K(2,2) + F(1,2)*G(2,1)*K(1,2) - K(2,2))

      + A(1)*(F(2,2)*G(2,2)*K(2,1) + F(1,2)*G(2,1)*K(1,1) - K(2,1))))



shut aax2;


