1
.TH schur G "April 1993" "Scilab Group" "Scilab Function"
4
schur - [ordered] Schur decomposition
9
[U,dim]=schur(A,myfunction)
14
: real or complex matrix. For ordered forms \fVA\fR is
18
: character string (\fV'c'\fR or \fV'd'\fR)
21
: an ``external'' function (this parameter can also be a list or character string)
24
: orthogonal or unitary square matrix
32
Schur forms, ordered Schur forms
35
produces a Schur matrix \fVT\fR
36
and a unitary matrix \fVU\fR so that \fVA = U*T*U'\fR and \fVU'*U = eye(U)\fR.
37
By itself, schur(\fVA\fR) returns \fVT\fR.
38
If \fVA\fR is complex, the Complex Schur Form is returned in matrix \fVT\fR.
39
The Complex Schur Form is upper triangular with the eigenvalues
40
of \fVA\fR on the diagonal.
41
If \fVA\fR is real, the Real Schur Form is returned. The Real Schur
42
Form has the real eigenvalues on the diagonal and the complex
43
eigenvalues in 2-by-2 blocks on the diagonal.
44
.SH Ordered stable form
45
.Vb [U,dim]=schur(A,'c')
46
returns an unitary matrix \fVU\fR which transforms \fVA\fR into schur form.
47
In addition, the dim first columns of \fVU\fR make a basis of the
48
eigenspace of \fVA\fR associated with eigenvalues with negative
49
real parts (stable "continuous time" eigenspace).
51
.Vb [U,dim]=schur(A,'d')
52
returns an unitary matrix \fVU\fR which transforms \fVA\fR into schur form.
53
In addition, the \fVdim\fR first columns of \fVU\fR span a basis of the
54
eigenspace of \fVA\fR associated with eigenvalues with magnitude
55
lower than 1 (stable "discrete time" eigenspace).
56
.SH General eigenspace
57
.Vb [U,dim]=schur(A,a_function)
58
returns an unitary matrix \fVU\fR which transforms \fVA\fR into schur form.
59
In addition, the \fVdim\fR first columns of \fVU\fR span a basis of the
60
eigenspace of \fVA\fR associated with the eigenvalues which are
61
selected by the function \fVa_function\fR.
63
This function must be of the following type (here \fVa_function\fR is "\fVrule\fR"):
65
function [flag]=rule(x)
69
\fVx\fR is a vector with three components which characterizes
70
either a real eigenvalue or a pair of complex conjugate
73
If \fVx(1)=1\fR, a real eigenvalue is considered and this
74
eigenvalue is \fVx(2)/x(3)\fR.
76
If \fVx(1)=2\fR, a pair of complex conjugate eigenvalues is
77
considered. The sum of these two eigenvalues (twice
78
the real part) is \fVx(2)\fR and the product (squared magnitude)
81
On return, flag should be 1 if the real eigenvalue is
82
selected or the pair of eigenvalues is selected and
84
.SH Example of function
86
function [flag]=disc(x)
89
case 1 then if abs(x(2)) < ro*abs(x(3)) then flag=1;end
90
case 2 then if x(3) < ro*ro then flag=1;end
93
The function \fVdisc\fR selects the eigenvalues with magnitude lower
94
than a given scalar \fVro\fR. And for \fVro=1\fR the calling sequence
95
\fV[U,dim]=schur(A,'d')\fR and \fV[U,dim]=schur(A,disc)\fR are
98
Another useful example is \fV%choose\fR
99
(see function code in \fVSCIDIR/macros/percent\fR)
102
A=diag([-0.9,-2,2,0.9]);X=rand(A);A=inv(X)*A*X;
105
spec(A1(1:d,1:d)) //stable cont. eigenvalues
108
spec(A1(1:d,1:d)) //stable disc. eigenvalues
111
gschur, ricc, pbig, psmall