Home Online Manual
Top
Back: diag_test
Forward: charpoly
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.7 busadj

Procedure from library linalg.lib (see linalg_lib).

Usage:
busadj(A); A = square matrix (of size nxn)

Return:
list L:
 
         L[1] contains the (n+1) coefficients of the characteristic
              polynomial X of A, i.e.
              X = L[1][1]+..+L[1][k]*t^(k-1)+..+(L[1][n+1])*t^n
         L[2] contains the n (nxn)-matrices Hk which are the coefficients of
              the busadjoint bA = adjoint(E*t-A) of A, i.e.
              bA = (Hn-1)*t^(n-1)+...+Hk*t^k+...+H0,  ( Hk=L[2][k+1] )

Example:
 
LIB "linalg.lib";
ring r = 0,(t,x),lp;
matrix A[2][2] = 1,x2,x,x2+3x;
print(A);
==> 1,x2,  
==> x,x2+3x
list L = busadj(A);
poly X = L[1][1]+L[1][2]*t+L[1][3]*t2; X;
==> t2-tx2-3tx-t-x3+x2+3x
matrix bA[2][2] = L[2][1]+L[2][2]*t;
print(bA);               //the busadjoint of A;
==> t-x2-3x,x2,
==> x,      t-1
print(bA*(t*unitmat(2)-A));
==> t2-tx2-3tx-t-x3+x2+3x,0,                   
==> 0,                    t2-tx2-3tx-t-x3+x2+3x