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:
– IntegerInput
-
On entry: the actual state dimension, , i.e., the order of the matrix .
Constraint:
.
- 2:
– IntegerInput
-
On entry: the actual input dimension, .
Constraint:
.
- 3:
– 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:
– 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:
– IntegerInput
-
On entry: the stride separating matrix column elements in the array
a.
Constraint:
.
- 6:
– 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:
– IntegerInput
-
On entry: the stride separating matrix column elements in the array
b.
Constraint:
.
- 8:
– 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:
– IntegerInput
-
On entry: the stride separating matrix column elements in the array
u.
Constraint:
if
u is defined.
- 10:
– NagError *Input/Output
-
The NAG error argument (see
Section 3.7 in How to Use the NAG Library and its Documentation).
The algorithm is backward stable.