LinearAlgebra[Generic][HessenbergAlgorithm] - apply the Hessenberg algorithm to a square Matrix
|
Calling Sequence
|
|
HessenbergAlgorithm[F](A)
|
|
Parameters
|
|
F
|
-
|
the domain of computation, a field
|
A
|
-
|
square Matrix of values in F
|
|
|
|
|
Description
|
|
•
|
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
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
|
|
Download Help Document
Was this information helpful?