LinearAlgebra[Generic]
HessenbergAlgorithm
apply the Hessenberg algorithm to a square Matrix
Calling Sequence
Parameters
Description
Examples
HessenbergAlgorithm[F](A)
F
-
the domain of computation, a field
A
square Matrix of values in F
Given an n x n Matrix A of elements in F, a field, HessenbergAlgorithm[F](A) returns a Vector V of n+1 values from F encoding the characteristic polynomial of A as V[1] x^n + V[2] x^(n-1) + .... + V[n] x + V[n+1]
The algorithm converts a copy of A into upper Hessenberg form H using O(n^3) operations in F then expands the determinant of x I - H in a further O(n^3) operations in F. The algorithm requires that F be a field and should only be used if F is finite as there is severe expression swell in computing H.
The (indexed) parameter F, which specifies the domain of computation, a field, must be a Maple table/module which has the following values/exports:
F[`0`]: a constant for the zero of the ring F
F[`1`]: a constant for the (multiplicative) identity of F
F[`+`]: a procedure for adding elements of F (nary)
F[`-`]: a procedure for negating and subtracting elements of F (unary and binary)
F[`*`]: a procedure for multiplying two elements of F (commutative)
F[`/`]: a procedure for dividing two elements of F
F[`=`]: a boolean procedure for testing if two elements in F are equal
with⁡LinearAlgebraGeneric:
Q`0`,Q`1`,Q`+`,Q`-`,Q`*`,Q`/`,Q`=`≔0,1,`+`,`-`,`*`,`/`,`=`:
A≔Matrix⁡2,1,4,3,2,1,0,0,5
A≔214321005
C≔HessenbergAlgorithmQ⁡A
C≔1−921−5
x3|x2|x|1·C
x3−9⁢x2+21⁢x−5
See Also
Hessenberg Form
LinearAlgebra[Generic][HessenbergForm]
Download Help Document