#### 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.

User manual for Singular version 4-0-3, 2016, generated by texi2html.