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

D.3.2.1 inverse

Procedure from library linalg.lib (see linalg_lib).

Usage:
inverse(A [,opt]); A a square matrix, opt integer

Return:
 
          a matrix:
          - the inverse matrix of A, if A is invertible;
          - the 1x1 0-matrix if A is not invertible (in the polynomial ring!).
          There are the following options:
          - opt=0 or not given: heuristically best option from below
          - opt=1 : apply std to (transpose(E,A)), ordering (C,dp).
          - opt=2 : apply interred (transpose(E,A)), ordering (C,dp).
          - opt=3 : apply lift(A,E), ordering (C,dp).

Note:
parameters and minpoly are allowed; opt=2 is only correct for matrices with entries in a field

Example:
 
LIB "linalg.lib";
ring r=0,(x,y,z),lp;
matrix A[3][3]=
1,4,3,
1,5,7,
0,4,17;
print(inverse(A));"";
==> 57, -56,13,
==> -17,17, -4,
==> 4,  -4, 1  
==> 
matrix B[3][3]=
y+1,  x+y,    y,
z,    z+1,    z,
y+z+2,x+y+z+2,y+z+1;
print(inverse(B));
==> -xz+y+1, -xz-x+y,   xz-y,    
==> z,       z+1,       -z,      
==> xz-y-z-2,xz+x-y-z-2,-xz+y+z+1
print(B*inverse(B));
==> 1,0,0,
==> 0,1,0,
==> 0,0,1 
See also: inverse_B; inverse_L.