Tg:=proc(A,B,n,g) local i,j: [seq( [seq(normal(expand((B[i][j]*B[i+1,j+1]+ g*B[i+1][j]*B[i][j+1])/A[i+1][j+1])),j=1..n-1)],i=1..n-1)]: end: det1g:=proc(B,g) local A,n,i,B1,B1o: n:=nops(B): A:=[[1$n]$n]: B1:=B: for i from 1 to n-1 do B1o:=B1: B1:= expand(Tg(A,B1,n-i+1,g)): A:=B1o: od: expand(B1[1][1]):end: Detg:=proc(n,b,g) local i,j: expand(det1g([seq([seq(b[i,j],i=1..n)],j=1..n)],g)):end: Dave:=proc(t,b,n) local i,j: [seq([seq(degree(t,b[i,j]),j=1..n)],i=1..n)]:end: MRR:=proc(n) local b,g,A,i: A:=Detg(n,b,g): {seq(Dave(op(i,A),b,n),i=1..nops(A))}:end: MRRp:=proc(n) local A,i: with(linalg):A:=MRR(n): seq(print(matrix(n,n,A[i])),i=1..nops(A)):end: