LinearAlgebra[Generic] - Maple Programming Help

Home : Support : Online Help : Mathematics : Linear Algebra : LinearAlgebra Package : Generic Subpackage : LinearAlgebra/Generic/HessenbergAlgorithm

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

 > $\mathrm{with}\left(\mathrm{LinearAlgebra}[\mathrm{Generic}]\right):$
 > ${Q}_{\mathrm{0}},{Q}_{\mathrm{1}},{Q}_{\mathrm{+}},{Q}_{\mathrm{-}},{Q}_{\mathrm{*}},{Q}_{\mathrm{/}},{Q}_{\mathrm{=}}≔0,1,\mathrm{+},\mathrm{-},\mathrm{*},\mathrm{/},\mathrm{=}:$
 > $A≔\mathrm{Matrix}\left(\left[\left[2,1,4\right],\left[3,2,1\right],\left[0,0,5\right]\right]\right)$
 ${A}{≔}\left[\begin{array}{rrr}{2}& {1}& {4}\\ {3}& {2}& {1}\\ {0}& {0}& {5}\end{array}\right]$ (1)
 > $C≔\mathrm{HessenbergAlgorithm}[Q]\left(A\right)$
 ${C}{≔}\left[\begin{array}{r}{1}\\ {-}{9}\\ {21}\\ {-}{5}\end{array}\right]$ (2)
 > $⟨{x}^{3}|{x}^{2}|x|1⟩\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}.\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}C$
 ${{x}}^{{3}}{-}{9}{}{{x}}^{{2}}{+}{21}{}{x}{-}{5}$ (3)