LinearAlgebra[Generic] - Maple Programming Help

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

LinearAlgebra[Generic]

 HessenbergForm
 compute the Hessenberg form of a square Matrix

 Calling Sequence HessenbergForm[F](A) HessenbergForm[F](A,output=out)

Parameters

 F - a table or module, the domain of computation, a field A - square Matrix of values in F out - one of H, U or a list containing one or more of these names

Description

 • HessenbergForm[F](A) returns the upper Hessenberg form H of A.
 • Given an n x n Matrix A of elements in a field F, the algorithm converts a copy of A into upper Hessenberg form H using 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,-7,-3,4\right],\left[1,-3,-4,5\right],\left[-7,10,5,-7\right],\left[-7,10,5,-7\right]\right]\right)$
 ${A}{≔}\left[\begin{array}{rrrr}{2}& {-}{7}& {-}{3}& {4}\\ {1}& {-}{3}& {-}{4}& {5}\\ {-}{7}& {10}& {5}& {-}{7}\\ {-}{7}& {10}& {5}& {-}{7}\end{array}\right]$ (1)
 > $H≔\mathrm{HessenbergForm}[Q]\left(A\right)$
 ${H}{≔}\left[\begin{array}{rrrr}{2}& {-}{14}& {1}& {4}\\ {1}& {-}{10}& {1}& {5}\\ {0}& {-}{46}& {5}& {28}\\ {0}& {0}& {0}& {0}\end{array}\right]$ (2)
 > $H,U≔\mathrm{HessenbergForm}[Q]\left(A,\mathrm{output}=\left['H','U'\right]\right)$
 ${H}{,}{U}{≔}\left[\begin{array}{rrrr}{2}& {-}{14}& {1}& {4}\\ {1}& {-}{10}& {1}& {5}\\ {0}& {-}{46}& {5}& {28}\\ {0}& {0}& {0}& {0}\end{array}\right]{,}\left[\begin{array}{rrrr}{1}& {0}& {0}& {0}\\ {0}& {1}& {0}& {0}\\ {0}& {7}& {1}& {0}\\ {0}& {0}& {-}{1}& {1}\end{array}\right]$ (3)
 > $\mathrm{MatrixMatrixMultiply}[Q]\left(\mathrm{MatrixMatrixMultiply}[Q]\left(U,A\right),\mathrm{MatrixInverse}[Q]\left(U\right)\right)$
 $\left[\begin{array}{rrrr}{2}& {-}{14}& {1}& {4}\\ {1}& {-}{10}& {1}& {5}\\ {0}& {-}{46}& {5}& {28}\\ {0}& {0}& {0}& {0}\end{array}\right]$ (4)