harold.hessenberg_realization¶
-
harold.
hessenberg_realization
(G, compute_T=False, form='c', invert=False, output='system')¶ A state transformation is applied in order to get the following form where A is a Hessenberg matrix and B (or C if ‘form’ is set to ‘o’ ) is row/col compressed
[x x x x x|x x] [x x x x x|0 x] [0 x x x x|0 0] [0 0 x x x|0 0] [0 0 0 x x|0 0] [---------|---] [x x x x x|x x] [x x x x x|x x]
Parameters: - G (State, Transfer, 3-tuple) – A system representation or the A, B, C matrix triplet of a State realization. Static Gain models are returned unchanged.
- compute_T (bool, optional) – If set to True, the array that would bring the system into the desired form will also be returned. Default is False.
- form (str, optional) – The switch for selecting between observability and controllability
Hessenberg forms. Valid entries are
c
ando
. - invert (bool, optional) – Select which side the B or C matrix will be compressed. For example, the default case returns the B matrix with (if any) zero rows at the bottom. invert option flips this choice either in B or C matrices depending on the “form” switch.
- output (str, optional) – In case only the resulting matrices and not a system representation is
needed, this keyword can be used with the value
'matrices'
. The default is'system'
. If 3-tuple is given and ‘output’ is still ‘system’ then the feedthrough matrix is taken to be 0.
Returns: - Gh (State, tuple) – A realization or the matrices are returned depending on the ‘output’ keyword.
- T (ndarray) – If ‘compute_T’ is set to True, the array for the state transformation is returned.