Procedure from library linalg.lib (see linalg_lib).
linalg.lib
inverse_B(A); A = square matrix
list Inv with - Inv[1] = matrix I and - Inv[2] = poly p such that I*A = unitmat(n)*p;
p=1 if 1/det(A) is computable and p=det(A) if not; the computation uses busadj.
Example:
LIB "linalg.lib"; ring r=0,(x,y),lp; matrix A[3][3]=x,y,1,1,x2,y,x,6,0; print(A); list Inv=inverse_B(A); print(Inv[1]); print(Inv[2]); print(Inv[1]*A);
See also: inverse; inverse_L.