out aax1;
%off nat;
on rounded;

procedure delta(ii,jj);
begin 
if ii eq jj then return 1 else return 0; 
end;

procedure addone(x); rrr:=x+1;

% 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;
m:=2;
%--------------------------------------------------
%A(1):=10$ A(2):=30$
AA:=TP(MAT( (A(1), A(2) )));
%--------------------------------------------------

matrix KM(n,n);
for tt:=1:n do for pp:=1:m do km(tt,pp):=k(tt,pp);

%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) )));
NNO:=TP(MAT( (NO(1), NO(2) )));
%NO(1):=100; NO(2):=20;

RR:= KM*AA + NNO;


%---- SYMMETRY -------------------------------------
matrix ONE(n,n);
for ii:=1:n do ONE(ii,ii):=1;

SSA:=KM**-1;  SSB:=KM*AA - AA;

MATRIX X(2,1);

procedure symet(x); 
BEGIN
RETURN rslt:=SSA*X + SSB;
END;


ggm:=MAT( (g(1,1), g(1,2) ),( 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)) );
%ffm:=MAT( (f(1,1), 1 ),( 1, f(2,2)) );

FACTOR A;

tp(tp(ggm*(KM*AA))*ffm);

eqq:=tp(tp(ggm*(KM*AA))*ffm) - KM*AA;

for tt:=1:n do for pp:=1:m do write( coeffn(eqq(tt,1), a(pp),1) );

for tt:=1:n do for pp:=1:m do coeffn(eqq(tt,1), a(pp),1) ;


G(2,2):= - ( F(2,1)*G(2,1)*K(1,1) + F(1,1)*G(1,2)*K(2,1)
 + F(1,1)*G(1,1)*K(1,1) - K(1,1) )/F(2,1)*K(2,1) ;


eqq;



bye;
end;
%---- SYMMETRYX -------------------------------------

FACTOR A;


SYMET(KM*AA);
KM*AA;

SYMET(RR);
RR;


YY:=SYMET(RR);

YRR:=YY - RR;


KONE:=(KM**-1) - ONE;
KONE**-1;


(KONE**-1)*YRR;


NNO;

shut aax1;
bye;
end;