~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to man/linear/schur.man

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH schur G "April 1993" "Scilab Group" "Scilab Function"
 
2
.so ../sci.an
 
3
.SH NAME
 
4
schur - [ordered] Schur decomposition
 
5
.SH CALLING SEQUENCE
 
6
.nf
 
7
[U,T] = schur(A) 
 
8
[U,dim]=schur(A,flag)
 
9
[U,dim]=schur(A,myfunction)
 
10
.fi
 
11
.SH PARAMETERS
 
12
.TP 10
 
13
A
 
14
: real or complex matrix. For ordered forms \fVA\fR is
 
15
assumed real.
 
16
.TP
 
17
flag
 
18
: character string (\fV'c'\fR or \fV'd'\fR)
 
19
.TP
 
20
myfunction
 
21
: an ``external'' function (this parameter can also be a list or character string)
 
22
.TP
 
23
U
 
24
: orthogonal or unitary square matrix
 
25
.TP
 
26
T
 
27
: matrix
 
28
.TP
 
29
dim
 
30
: integer
 
31
.SH DESCRIPTION
 
32
Schur forms, ordered Schur forms
 
33
.SH Usual schur form
 
34
.Vb [U,T] = schur(A)
 
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).
 
50
.LP
 
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.
 
62
.LP
 
63
This function must be of the following type (here \fVa_function\fR is "\fVrule\fR"):
 
64
.nf
 
65
function [flag]=rule(x)
 
66
 
 
67
flag=...
 
68
.fi
 
69
\fVx\fR is a vector with three components which characterizes
 
70
either a real eigenvalue or a pair of complex conjugate
 
71
eigenvalues.
 
72
.LP
 
73
If \fVx(1)=1\fR, a real eigenvalue is considered and this
 
74
eigenvalue is \fVx(2)/x(3)\fR.
 
75
.LP
 
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)
 
79
is \fVx(3)\fR.
 
80
.LP
 
81
On return, flag should be 1 if the real eigenvalue is 
 
82
selected or the pair of eigenvalues is selected and
 
83
0 otherwise.
 
84
.SH Example of function
 
85
.nf
 
86
        function [flag]=disc(x)
 
87
        ls =x(1);flag=0;
 
88
        select  ls
 
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
 
91
        end
 
92
.fi
 
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
 
96
equivalent.
 
97
.LP
 
98
Another useful example is \fV%choose\fR 
 
99
(see function code in \fVSCIDIR/macros/percent\fR)
 
100
.SH EXAMPLE
 
101
.nf
 
102
A=diag([-0.9,-2,2,0.9]);X=rand(A);A=inv(X)*A*X;
 
103
[U,d]=schur(A,'c');
 
104
A1=U'*A*U;
 
105
spec(A1(1:d,1:d))      //stable cont. eigenvalues
 
106
[U,d]=schur(A,'c');
 
107
A1=U'*A*U;
 
108
spec(A1(1:d,1:d))      //stable disc. eigenvalues
 
109
.fi
 
110
.SH SEE ALSO
 
111
gschur, ricc, pbig, psmall