Hessenberg Algorithm - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Generic]

  

HessenbergAlgorithm

  

apply the Hessenberg algorithm to a square Matrix

 

Calling Sequence

Parameters

Description

Examples

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

> 

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

(1)
> 

C≔HessenbergAlgorithmQ⁡A

C≔1−921−5

(2)
> 

x3|x2|x|1·C

x3−9⁢x2+21⁢x−5

(3)

See Also

Hessenberg Form

LinearAlgebra[Generic]

LinearAlgebra[Generic][HessenbergForm]