License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / cacsd / help / en_US / projsl.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA - 
5  * 
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="projsl">
17     <refnamediv>
18         <refname>projsl</refname>
19         <refpurpose>linear system projection</refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Calling Sequence</title>
23         <synopsis>[slp]=projsl(sl,Q,M)</synopsis>
24     </refsynopsisdiv>
25     <refsection>
26         <title>Arguments</title>
27         <variablelist>
28             <varlistentry>
29                 <term>sl,slp</term>
30                 <listitem>
31                     <para>
32                         <literal>syslin</literal> lists
33                     </para>
34                 </listitem>
35             </varlistentry>
36             <varlistentry>
37                 <term>Q,M</term>
38                 <listitem>
39                     <para>matrices (projection factorization)</para>
40                 </listitem>
41             </varlistentry>
42         </variablelist>
43     </refsection>
44     <refsection>
45         <title>Description</title>
46         <para>
47             <literal>slp</literal>= projected model of <literal>sl</literal> where <literal>Q*M</literal> is the full rank 
48             factorization of the projection.
49         </para>
50         <para>
51             If <literal>(A,B,C,D)</literal> is the representation of <literal>sl</literal>, the projected model
52             is given by <literal>(M*A*Q,M*B,C*Q,D)</literal>.
53         </para>
54         <para>
55             Usually, the projection <literal>Q*M</literal> is obtained as the spectral projection
56             of an appropriate auxiliary matrix <literal>W</literal> e.g. <literal>W</literal> = product
57             of (weighted) gramians or product of Riccati equations.
58         </para>
59     </refsection>
60     <refsection>
61         <title>Examples</title>
62         <programlisting role="example"><![CDATA[ 
63 rand('seed',0);sl=ssrand(2,2,5);[A,B,C,D]=abcd(sl);poles=spec(A)
64 [Q,M]=pbig(A,0,'c');  //keeping unstable poles
65 slred=projsl(sl,Q,M);spec(slred('A'))
66 sl('D')=rand(2,2);  //making proper system
67 trzeros(sl)  //zeros of sl
68 wi=inv(sl);  //wi=inverse in state-space
69 [q,m]=psmall(wi('A'),2,'d');  //keeping small zeros (poles of wi) i.e. abs(z)<2
70 slred2=projsl(sl,q,m);
71 trzeros(slred2)  //zeros of slred2 = small zeros of sl
72 //  Example keeping second order modes
73 A=diag([-1,-2,-3]);
74 sl=syslin('c',A,rand(3,2),rand(2,3));[nk2,W]=hankelsv(sl)
75 [Q,M]=pbig(W,nk2(2)-%eps,'c');    //keeping 2 eigenvalues of W
76 slr=projsl(sl,Q,M);  //reduced model
77 hankelsv(slr)
78  ]]></programlisting>
79     </refsection>
80     <refsection role="see also">
81         <title>See Also</title>
82         <simplelist type="inline">
83             <member>
84                 <link linkend="pbig">pbig</link>
85             </member>
86         </simplelist>
87     </refsection>
88 </refentry>