Help:=proc(): print(`Cramer(a,b,n),DenC(a,b,n)`): print(`DenCC(a,n)`): end: #Cramer(a,b,n): inputs symbols a and b #and pos. integer n, outputs the #symbolic solution of a[1,1]x[1]+...+a[1,n]x[n]=b[1] #... a[n,1]x[1]+ ... + a[n,n]x[n]=b[n] Cramer:=proc(a,b,n) local x,i,j,eq,var: var:=[seq(x[i],i=1..n)]: eq:={seq(add(a[i,j]*x[j],j=1..n) - b[i], i=1..n)}: subs(solve(eq,{op(var)}),var ): end: DenC:=proc(a,n) local b: denom(Cramer(a,b,n)[1]):end: Sign1:= proc(pi) local n,i,j:n:=nops(pi): sign(mul(mul(pi[j]-pi[i],j=i+1..n),i=1..n)): end: Weight:=proc(a,pi) local i: Sign1(pi)*mul(a[i,pi[i]],i=1..nops(pi)): end: DenCC:=proc(a,n) local S,i: with(combinat): S:=permute(n): add(Weight(a,S[i]),i=1..nops(S)): end: