nag_trans_hessenberg_controller (g13exc) computes a unitary state-space transformation U, which reduces the matrix pair
to give a compound matrix in one of the following controller Hessenberg forms:
if
, or
if
. If
, then the matrix
is trapezoidal and if
then the matrix
is full.
van Dooren P and Verhaegen M (1985) On the use of unitary state-space transformations. In: Contemporary Mathematics on Linear Algebra and its Role in Systems Theory 47 AMS, Providence
- 1:
n – IntegerInput
On entry: the actual state dimension, , i.e., the order of the matrix .
Constraint:
.
- 2:
m – IntegerInput
On entry: the actual input dimension, .
Constraint:
.
- 3:
reduceto – Nag_ControllerFormInput
On entry: indicates whether the matrix pair
is to be reduced to upper or lower controller Hessenberg form as follows:
- Upper controller Hessenberg form).
- Lower controller Hessenberg form).
Constraint:
or .
- 4:
a[] – doubleInput/Output
-
Note: the th element of the matrix is stored in .
On entry: the leading by part of this array must contain the state transition matrix to be transformed.
On exit: the leading by part of this array contains the transformed state transition matrix .
- 5:
tda – IntegerInput
-
On entry: the stride separating matrix column elements in the array
a.
Constraint:
.
- 6:
b[] – doubleInput/Output
-
Note: the th element of the matrix is stored in .
On entry: the leading by part of this array must contain the input matrix to be transformed.
On exit: the leading by part of this array contains the transformed input matrix .
- 7:
tdb – IntegerInput
-
On entry: the stride separating matrix column elements in the array
b.
Constraint:
.
- 8:
u[] – doubleInput/Output
-
Note: the th element of the matrix is stored in .
On entry: if
u is not
NULL, then the leading
by
part of this array must contain either a transformation matrix (e.g., from a previous call to this function) or be initialized as the identity matrix. If this information is not to be input then
u must be set to
NULL.
On exit: if
u is not
NULL, then the leading
by
part of this array contains the product of the input matrix
and the state-space transformation matrix which reduces the given pair to observer Hessenberg form.
- 9:
tdu – IntegerInput
-
On entry: the stride separating matrix column elements in the array
u.
Constraint:
if
u is defined.
- 10:
fail – NagError *Input/Output
-
The NAG error argument (see
Section 3.6 in the Essential Introduction).
The algorithm is backward stable.
Not applicable.