| Mu Analysis and Synthesis Toolbox | ![]() |
Compute an ordered, complex Schur form matrix
Syntax
[v,t,flgout,reig_min] = csord(m,epp,flgord,flgjw,flgeig)
Description
The csord function produces an ordered, complex Schur form matrix of the input CONSTANT square matrix m with
The MATLAB function schur is called, which results in an unordered Schur form matrix. The subroutine cgivens forms a complex Givens rotation matrix, which orders the t matrix as you define it. The v matrix is the transformation matrix. A series of optional input flags can be set:
The output flag flgout is nominally 0. flout is set to 1 if there are j
-axis eigenvalues, set to 2 if there are an unequal number of positive and negative eigenvalues, or set to 3 if both conditions occur. The fourth output argument, reig_min, is the minimum, magnitude real part of the eigenvalues of m.
ric_schr routine calls csord to solve for a stabilizing solution to a matrix Riccati equation. In this case, the m matrix has a special structure, and failure modes are flagged to avoid extra, unnecessary computations.
Algorithm
The eigenvalues are reordered by iterating through each of them and interchanging them via a bubble sort based on the input flag, flgord. The subroutine cgivens exchanges the out of order eigenvalues.
Reference
Golub, G.H. and C.F. Van Loan, Matrix Computations, The Johns Hopkins University Press, 1983.
See Also
cgivens, ric_schr, rsf2csf, schur
![]() | crand, crandn, sysrand, varyrand | dhfnorm | ![]() |