1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<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" version="5.0-subset Scilab" xml:lang="ja" xml:id="linmeq">
4
<refname>linmeq</refname>
5
<refpurpose>シルベスタおよびリアプノフ方程式ソルバー</refpurpose>
9
<synopsis>[X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur))</synopsis>
17
<para>方程式の型を定義する整数オプション:</para>
22
<para> シルベスタ方程式(1a) または (1b)を解きます ;</para>
28
<para> リアプノフ方程式(2a) または (2b)を解きます;</para>
34
<para>コレスキー分解 op(X) リアプノフ方程式 (3a) または (3b)を解きます.</para>
61
<para>(オプション) オプションを含む長さ3または2の整数ベクトル.</para>
66
<para>= 1 : flag の長さは3です</para>
71
<para>= 0 : 連続時間方程式 (1a)を解きます; そうでない場合,
79
<para>= 1 : A は (準) 上三角行列です;</para>
85
<para>= 2 : A は上ヘッセンベルグ行列です;</para>
91
<para>A は一般形式です.</para>
97
<para>= 1 : B は準上三角行列です;</para>
101
<term>flag(3) </term>
103
<para>= 2 : B は上ヘッセンベルグ行列です;</para>
109
<para>B は一般形式です.</para>
118
<para>= 2 : flag の長さは2です</para>
124
0の場合, 連続時間方程式 (2a)を解きます; そうでない場合,
130
<term>flag(2) </term>
132
<para>= 1 : A は (準) 上三角行列, それ以外の場合,
143
<para>= 3 : flag hの長さは2です</para>
146
<term>flag(1) </term>
149
連続時間方程式 (3a)を解きます; そうでない場合,
155
<term>flag(2) </term>
158
A は (準) 上三角行列, それ以外の場合,
168
デフォルト: flag(1) = 0, flag(2) = 0 (, flag(3) = 0).
175
<para>(オプション) 転置オプションを指定する整数.</para>
180
<para>0 : op(M) = Mとして方程式 (1) - (3) を解きます.</para>
186
<para>1 : op(M) = M' として方程式 (1) - (3) を解きます.</para>
192
<para>2 : op(A) = A'; op(B) = B; として方程式 (1) を解きます.</para>
198
<para>3 : op(A) = A; op(B) = B'; として方程式 (1) を解きます.</para>
211
Hessenberg-Schur法またはSchur法のどちらを
217
<term>= 1 : Hessenberg-Schur 法 </term>
219
<para>(1個の行列がSchur形式に縮減されます).</para>
223
<term>= 2 : Schur 法</term>
225
<para>(2個の行列がSchur形式に縮減されます).</para>
244
(2.a)の場合 Sep(op(A),-op(A)'),
245
(2.b)の場合 Sepd(A,A') の推定器.
255
SLICOT ルーチンSB04MD, SB04ND, SB04PD, SB04QD,
256
SB04RD, SB03MD, および SB03ODを用いて
257
シルベスターおよびリアプノフ方程式を解きます.
259
<programlisting role=""><![CDATA[
4
<refname>linmeq</refname>
5
<refpurpose>シルベスタおよびリアプノフ方程式ソルバー</refpurpose>
9
<synopsis>[X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur))</synopsis>
17
<para>方程式の型を定義する整数オプション:</para>
22
<para> シルベスタ方程式(1a) または (1b)を解きます ;</para>
28
<para> リアプノフ方程式(2a) または (2b)を解きます;</para>
34
<para>コレスキー分解 op(X) リアプノフ方程式 (3a) または (3b)を解きます.</para>
61
<para>(オプション) オプションを含む長さ3または2の整数ベクトル.</para>
66
<para>= 1 : flag の長さは3です</para>
71
<para>= 0 : 連続時間方程式 (1a)を解きます; そうでない場合,
79
<para>= 1 : A は (準) 上三角行列です;</para>
85
<para>= 2 : A は上ヘッセンベルグ行列です;</para>
91
<para>A は一般形式です.</para>
97
<para>= 1 : B は準上三角行列です;</para>
101
<term>flag(3) </term>
103
<para>= 2 : B は上ヘッセンベルグ行列です;</para>
109
<para>B は一般形式です.</para>
118
<para>= 2 : flag の長さは2です</para>
124
0の場合, 連続時間方程式 (2a)を解きます; そうでない場合,
130
<term>flag(2) </term>
132
<para>= 1 : A は (準) 上三角行列, それ以外の場合,
143
<para>= 3 : flag hの長さは2です</para>
146
<term>flag(1) </term>
149
連続時間方程式 (3a)を解きます; そうでない場合,
155
<term>flag(2) </term>
158
A は (準) 上三角行列, それ以外の場合,
168
デフォルト: flag(1) = 0, flag(2) = 0 (, flag(3) = 0).
175
<para>(オプション) 転置オプションを指定する整数.</para>
180
<para>0 : op(M) = Mとして方程式 (1) - (3) を解きます.</para>
186
<para>1 : op(M) = M' として方程式 (1) - (3) を解きます.</para>
192
<para>2 : op(A) = A'; op(B) = B; として方程式 (1) を解きます.</para>
198
<para>3 : op(A) = A; op(B) = B'; として方程式 (1) を解きます.</para>
211
Hessenberg-Schur法またはSchur法のどちらを
217
<term>= 1 : Hessenberg-Schur 法 </term>
219
<para>(1個の行列がSchur形式に縮減されます).</para>
223
<term>= 2 : Schur 法</term>
225
<para>(2個の行列がSchur形式に縮減されます).</para>
244
(2.a)の場合 Sep(op(A),-op(A)'),
245
(2.b)の場合 Sepd(A,A') の推定器.
255
SLICOT ルーチンSB04MD, SB04ND, SB04PD, SB04QD,
256
SB04RD, SB03MD, および SB03ODを用いて
257
シルベスターおよびリアプノフ方程式を解きます.
259
<programlisting role=""><![CDATA[
260
260
[X] = linmeq(1,A,B,C,flag,trans,schur)
261
261
[X,sep] = linmeq(2,A,C,flag,trans)
262
262
[X] = linmeq(2,A,C,flag,trans)
263
263
[X] = linmeq(3,A,C,flag,trans)
264
264
]]></programlisting>
266
linmeq は種々のシルベスタおよびリアプノフ行列方程式を解きます:
268
<programlisting role=""><![CDATA[
266
linmeq は種々のシルベスタおよびリアプノフ行列方程式を解きます:
268
<programlisting role=""><![CDATA[
269
269
op(A)*X + X*op(B) = C, (1a)
271
271
op(A)*X*op(B) + X = C, (1b)
280
280
op(A)'*(op(X)'*op(X))*op(A) - op(X)'*op(X) =
281
281
- op(C)'*op(C), (3b)
282
282
]]></programlisting>
284
ただし op(M) = M, または M'です.
293
<para> (1a) または (1b)の場合でschur = 1の時,
294
Hessenberg-Schur法が使用され,1個の行列は
296
その他の1個の行列は実数Schur形式に縮減されます.
298
行列は両方共実数Schur形式に縮減されます.
299
1個または両方の行列がすでにSchur/Hessenberg形式に縮減されている場合,
300
flag(2) およびflag(3)でこのことを指定することができます.
301
一般的な行列の場合,Hessenberg-Schur法は
309
<para>方程式 (2a) または (2b)において, 行列 C は対称と仮定されます.</para>
315
<para>方程式 (3a) または (3b)において, 行列 A はそれぞれ安定または
323
<para>方程式 (3a) または (3b)の場合, 計算される行列 X は
324
解のコレスキー分解です, すなわち, 実際の解は op(X)'*op(X),
334
V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000.
339
<programlisting role="example"><![CDATA[
284
ただし op(M) = M, または M'です.
293
<para> (1a) または (1b)の場合でschur = 1の時,
294
Hessenberg-Schur法が使用され,1個の行列は
296
その他の1個の行列は実数Schur形式に縮減されます.
298
行列は両方共実数Schur形式に縮減されます.
299
1個または両方の行列がすでにSchur/Hessenberg形式に縮減されている場合,
300
flag(2) およびflag(3)でこのことを指定することができます.
301
一般的な行列の場合,Hessenberg-Schur法は
309
<para>方程式 (2a) または (2b)において, 行列 C は対称と仮定されます.</para>
315
<para>方程式 (3a) または (3b)において, 行列 A はそれぞれ安定または
323
<para>方程式 (3a) または (3b)の場合, 計算される行列 X は
324
解のコレスキー分解です, すなわち, 実際の解は op(X)'*op(X),
334
V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000.
339
<programlisting role="example"><![CDATA[
342
342
A=rand(n,n);C=rand(n,m);B=rand(m,m);