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