 
 
 
15.2.8  Characteristic polynomial using Hessenberg algorithm
The pcar_hessenberg
command finds the characteristic polynomial of a
matrix. It computes the polynomial using the Hessenberg
algorithm1 which is more efficient (O(n3) deterministic) if
the coefficients of the matrix are in a finite field or use a finite
representation like approximate numeric coefficients. Note however that
this algorithm behaves badly if the coefficients are, for example, in
ℚ.
- 
pcar_hessenberg takes one mandatory argument and one
optional argument:
- 
A, a square matrix.
- Optionally, x, a variable name.
 
- pcar_hessenberg(A ⟨,x⟩) returns the characteristic
polynomial of A. It is written as the list of its coefficients if no
variable name was provided or written as an expression with respect to
x if there is a second argument.
Examples
| pcar_hessenberg([[4,1,-2],[1,2,-1],[2,1,0]] % 37) | 
|  | | |  | ⎡ ⎣
 | 1%37, | ⎛ ⎝
 | −6 | ⎞ ⎠
 | %37,12%37, | ⎛ ⎝
 | −8 | ⎞ ⎠
 | %37 | ⎤ ⎦
 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
| pcar_hessenberg([[4,1,-2],[1,2,-1],[2,1,0]] % 37,x) | 
|  | | |  | ⎛ ⎝
 | 1%37 | ⎞ ⎠
 | x3+ | ⎛ ⎝
 | ⎛ ⎝
 | −6 | ⎞ ⎠
 | %37 | ⎞ ⎠
 | x2+ | ⎛ ⎝
 | 12%37 | ⎞ ⎠
 | x+ | ⎛ ⎝
 | −8 | ⎞ ⎠
 | %37 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
Hence, the characteristic polynomial of [
] in
ℤ/37 ℤ is x3−6x2+12x−8.
 
 
