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:
– Integer
Input
-
On entry: the actual state dimension, , i.e., the order of the matrix .
Constraint:
.
-
2:
– Integer
Input
-
On entry: the actual input dimension, .
Constraint:
.
-
3:
– Nag_ControllerForm
Input
-
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:
– double
Input/Output
-
Note: the th element of the matrix is stored in .
On entry: the leading part of this array must contain the state transition matrix to be transformed.
On exit: the leading part of this array contains the transformed state transition matrix .
-
5:
– Integer
Input
-
On entry: the stride separating matrix column elements in the array
a.
Constraint:
.
-
6:
– double
Input/Output
-
Note: the th element of the matrix is stored in .
On entry: the leading part of this array must contain the input matrix to be transformed.
On exit: the leading part of this array contains the transformed input matrix .
-
7:
– Integer
Input
-
On entry: the stride separating matrix column elements in the array
b.
Constraint:
.
-
8:
– double
Input/Output
-
Note: the th element of the matrix is stored in .
On entry: if
u is not
NULL, then the leading
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
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:
– Integer
Input
-
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 7 in the Introduction to the
NAG Library CL Interface).
The algorithm is backward stable.
Background information to multithreading can be found in the
Multithreading documentation.
Please consult the
X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the
Users' Note for your implementation for any additional implementation-specific information.