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

« back to all changes in this revision

Viewing changes to man/linear/schur.cat

  • 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
schur            Scilab Group            Scilab Function              schur
 
2
NAME
 
3
   schur - [ordered] Schur decomposition
 
4
  
 
5
CALLING SEQUENCE
 
6
 [U,T] = schur(A) 
 
7
 [U,dim]=schur(A,flag)
 
8
 [U,dim]=schur(A,myfunction)
 
9
PARAMETERS
 
10
 A          : real or complex matrix. For ordered forms A is assumed real.
 
11
            
 
12
 flag       : character string ('c' or 'd')
 
13
            
 
14
 myfunction : an ``external'' function (this parameter can also be a list
 
15
            or character string)
 
16
            
 
17
 U          : orthogonal or unitary square matrix
 
18
            
 
19
 T          : matrix
 
20
            
 
21
 dim        : integer
 
22
            
 
23
DESCRIPTION
 
24
   Schur forms, ordered Schur forms
 
25
  
 
26
USUAL SCHUR FORM
 
27
   produces a Schur matrix T and a unitary matrix U so that A = U*T*U' and
 
28
  U'*U = eye(U). By itself, schur(A) returns T. If A is complex, the
 
29
  Complex Schur Form is returned in matrix T. The Complex Schur Form is
 
30
  upper triangular with the eigenvalues of A on the diagonal. If A is real,
 
31
  the Real Schur Form is returned.  The Real Schur Form has the real
 
32
  eigenvalues on the diagonal and the complex eigenvalues in 2-by-2 blocks
 
33
  on the diagonal.
 
34
  
 
35
ORDERED STABLE FORM
 
36
   returns an unitary matrix U which transforms A into schur form. In
 
37
  addition, the dim first columns of U  make a basis of the  eigenspace of
 
38
  A associated with eigenvalues with negative  real parts (stable
 
39
  "continuous time" eigenspace).
 
40
  
 
41
   returns an unitary matrix U which transforms A into schur form. In
 
42
  addition, the dim first columns of U span a basis of the  eigenspace of A
 
43
  associated with eigenvalues with magnitude lower than 1 (stable "discrete
 
44
  time" eigenspace).
 
45
  
 
46
GENERAL EIGENSPACE
 
47
   returns an unitary matrix U which transforms A into schur form.  In
 
48
  addition, the dim first columns of U span a basis of the  eigenspace of A
 
49
  associated with the eigenvalues which are  selected by the function
 
50
  a_function.
 
51
  
 
52
   This function must be of the following type (here a_function is "rule"):
 
53
  
 
54
 function [flag]=rule(x)
 
55
 
 
56
 flag=...
 
57
   x is a vector with three components which characterizes either a real
 
58
  eigenvalue or a pair of complex conjugate eigenvalues.
 
59
  
 
60
   If x(1)=1, a real eigenvalue is considered and this eigenvalue is
 
61
  x(2)/x(3).
 
62
  
 
63
   If x(1)=2, a pair of complex conjugate eigenvalues is considered. The sum
 
64
  of these two eigenvalues (twice the real part) is x(2) and the product
 
65
  (squared magnitude) is x(3).
 
66
  
 
67
   On return, flag should be 1 if the real eigenvalue is  selected or the
 
68
  pair of eigenvalues is selected and 0 otherwise.
 
69
  
 
70
EXAMPLE OF FUNCTION
 
71
         function [flag]=disc(x)
 
72
         ls =x(1);flag=0;
 
73
         select  ls
 
74
            case 1 then if abs(x(2)) < ro*abs(x(3)) then flag=1;end
 
75
            case 2 then if x(3) < ro*ro then flag=1;end
 
76
         end
 
77
   The function disc selects the eigenvalues with magnitude lower than a
 
78
  given scalar ro. And for ro=1 the calling sequence [U,dim]=schur(A,'d')
 
79
  and [U,dim]=schur(A,disc) are equivalent.
 
80
  
 
81
   Another useful example is %choose  (see function code in
 
82
  SCIDIR/macros/percent)
 
83
  
 
84
EXAMPLE
 
85
 A=diag([-0.9,-2,2,0.9]);X=rand(A);A=inv(X)*A*X;
 
86
 [U,d]=schur(A,'c');
 
87
 A1=U'*A*U;
 
88
 spec(A1(1:d,1:d))      //stable cont. eigenvalues
 
89
 [U,d]=schur(A,'c');
 
90
 A1=U'*A*U;
 
91
 spec(A1(1:d,1:d))      //stable disc. eigenvalues
 
92
SEE ALSO
 
93
   gschur, ricc, pbig, psmall
 
94