# HP Forums

Full Version: Cofactors and adjoint matrix
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hi,
this code doesn't run:
Code:

minor();

EXPORT cofactors(m)
BEGIN
local tempmat, cofact, r, c, j, k;
r:=rowDim(m);
c:=colDim(m);
cofact:=  MAKEMAT(0,r,c);
tempmat:= m;
FOR j FROM 1 TO r DO
FOR k FROM 1 to c DO
cofact:= minor(tempmat, j, k);
tempmat(j,k):= cofact;
END; // inner for
END; //for
RETURN tempmat;
END;

minor(mat, r,c)
BEGIN
mat:= delrows(mat,r);
mat:= delcols(mat,c);
RETURN mat;
END;

BEGIN
END;

Is it not possible to have a matrix as item od another matrix?

I think the problem is in the line < tempmat(j,k):= cofact; >, in fact...
Any help?

Salvo
ok, found!

this should run.

Code:

minor();

EXPORT cofactors(m)
BEGIN
local tempmat, cofact, deter;
local r, c, j, k;
r:=rowDim(m);
c:=colDim(m);
cofact:=  MAKEMAT(0,r,c);
tempmat:= m;
FOR j FROM 1 TO r DO
FOR k FROM 1 to c DO
cofact:= minor(m, j, k);
deter:= ((-1)^(j+k)) * det(cofact);
tempmat(j,k):= deter;
END; // inner for
END; //for
RETURN tempmat;
END;

minor(mat, r,c)
BEGIN
mat:= delrows(mat,r);
mat:= delcols(mat,c);
RETURN mat;
END;