Home Online Manual
Top
Back: inverse_B
Forward: sym_gauss
FastBack:
FastForward:
Up: linalg_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.3.2.3 inverse_L

Procedure from library linalg.lib (see linalg_lib).

Usage:
inverse_L(A); A = square matrix

Return:
list Inv representing a left inverse of A, i.e
- Inv[1] = matrix I and
- Inv[2] = poly p
such that I*A = unitmat(n)*p;

Note:
p=1 if 1/det(A) is computable and p=det(A) if not;
the computation computes first det(A) and then uses lift

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);
==> x,y, 1,
==> 1,x2,y,
==> x,6, 0 
list Inv=inverse_L(A);
print(Inv[1]);
==> -6y,  6,    -x2+y2,
==> xy,   -x,   -xy+1, 
==> -x3+6,xy-6x,x3-y   
print(Inv[2]);
==> -x3+xy2-6xy+6
print(Inv[1]*A);
==> -x3+xy2-6xy+6,0,            0,           
==> 0,            -x3+xy2-6xy+6,0,           
==> 0,            0,            -x3+xy2-6xy+6
See also: inverse; inverse_B.