japanese translation updated for linear-algebra.
[scilab.git] / scilab / modules / linear_algebra / help / ja_JP / eigen / schur.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!--
4  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5  * Copyright (C) 2008 - INRIA
6  * 
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at    
11  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
12  *
13  -->
14
15 <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="ja" xml:id="schur">
16     
17     <refnamediv>
18         
19         <refname>schur</refname>
20         
21         <refpurpose>行列およびペンシルの[ソートされた] Schur 分解</refpurpose>
22         
23     </refnamediv>
24     
25     <refsynopsisdiv>
26         
27         <title>呼び出し手順</title>
28         
29         <synopsis>[U,T] = schur(A)
30             
31             [U,dim [,T] ]=schur(A,flag)
32             
33             [U,dim [,T] ]=schur(A,extern1)
34             
35             
36             
37             [As,Es [,Q,Z]]=schur(A,E)
38             
39             [As,Es [,Q],Z,dim] = schur(A,E,flag)
40             
41             [Z,dim] = schur(A,E,flag)
42             
43             [As,Es [,Q],Z,dim]= schur(A,E,extern2)
44             
45             [Z,dim]= schur(A,E,extern2)
46             
47         </synopsis>
48         
49     </refsynopsisdiv>
50     
51     <refsection>
52         
53         <title>引数</title>
54         
55         <variablelist>
56             
57             <varlistentry>
58                 
59                 <term>A</term>
60                 
61                 <listitem>
62                     
63                     <para>実数または複素数の正方行列.</para>
64                     
65                 </listitem>
66                 
67             </varlistentry>
68             
69             <varlistentry>
70                 
71                 <term>E</term>
72                 
73                 <listitem>
74                     
75                     <para>
76                         
77                         <literal>A</literal>と同じ次元の実数または複素数の正方行列.
78                         
79                     </para>
80                     
81                 </listitem>
82                 
83             </varlistentry>
84             
85             <varlistentry>
86                 
87                 <term>flag</term>
88                 
89                 <listitem>
90                     
91                     <para>
92                         
93                         文字列 (<literal>'c'</literal> または <literal>'d'</literal>)
94                         
95                     </para>
96                     
97                 </listitem>
98                 
99             </varlistentry>
100             
101             <varlistentry>
102                 
103                 <term>extern1</term>
104                 
105                 <listitem>
106                     
107                     <para>an ``external'', 以下の参照</para>
108                     
109                 </listitem>
110                 
111             </varlistentry>
112             
113             <varlistentry>
114                 
115                 <term>extern2</term>
116                 
117                 <listitem>
118                     
119                     <para>an ``external'', 以下の参照</para>
120                     
121                 </listitem>
122                 
123             </varlistentry>
124             
125             <varlistentry>
126                 
127                 <term>U</term>
128                 
129                 <listitem>
130                     
131                     <para>直交またはユニタリ正方行列</para>
132                     
133                 </listitem>
134                 
135             </varlistentry>
136             
137             <varlistentry>
138                 
139                 <term>Q</term>
140                 
141                 <listitem>
142                     
143                     <para>直交またはユニタリ正方行列</para>
144                     
145                 </listitem>
146                 
147             </varlistentry>
148             
149             <varlistentry>
150                 
151                 <term>Z</term>
152                 
153                 <listitem>
154                     
155                     <para>o直交またはユニタリ正方行列</para>
156                     
157                 </listitem>
158                 
159             </varlistentry>
160             
161             <varlistentry>
162                 
163                 <term>T</term>
164                 
165                 <listitem>
166                     
167                     <para>上三角または準三角正方行列</para>
168                     
169                 </listitem>
170                 
171             </varlistentry>
172             
173             <varlistentry>
174                 
175                 <term>As</term>
176                 
177                 <listitem>
178                     
179                     <para>上三角または準三角正方行列</para>
180                     
181                 </listitem>
182                 
183             </varlistentry>
184             
185             <varlistentry>
186                 
187                 <term>Es</term>
188                 
189                 <listitem>
190                     
191                     <para>上三角正方行列</para>
192                     
193                 </listitem>
194                 
195             </varlistentry>
196             
197             <varlistentry>
198                 
199                 <term>dim</term>
200                 
201                 <listitem>
202                     
203                     <para>整数</para>
204                     
205                 </listitem>
206                 
207             </varlistentry>
208             
209         </variablelist>
210         
211     </refsection>
212     
213     <refsection>
214         
215         <title>説明</title>
216         
217         <para>
218             
219             Schur 形式, 行列およびペンシルのソートされた Schur 形式
220             
221         </para>
222         
223         <variablelist>
224             
225             <varlistentry>
226                 
227                 <term>行列Schur形式</term>
228                 
229                 <listitem>
230                     
231                     <variablelist>
232                         
233                         <varlistentry>
234                             
235                             <term>通常のSchur形式:</term>
236                             
237                             <listitem>
238                                 
239                                 <para>
240                                     
241                                     <literal>[U,T] = schur(A)</literal> は,
242                                     
243                                     <literal>A = U*T*U'</literal> および <literal>U'*U =  eye(U)</literal>となるような
244                                     
245                                     Schur行列<literal>T</literal> およびユニタリ行列 <literal>U</literal>
246                                     
247                                     を出力します.
248                                     
249                                     Schur(<literal>A</literal>)は,<literal>T</literal>を返します.
250                                     
251                                     <literal>A</literal> が複素数の場合, 複素Schur形式は,行列<literal>T</literal>に返します.
252                                     
253                                     複素Schur形式は,<literal>A</literal>の固有値を対角項に有する上三角行列です.
254                                     
255                                     <literal>A</literal> が実数の場合, 実数Schur形式が返されます.
256                                     
257                                     実数Schur形式は,対角項に実数固有値、複素数固有値を対角項の2x2ブロックに
258                                     
259                                     有します.
260                                     
261                                 </para>
262                                 
263                             </listitem>
264                             
265                         </varlistentry>
266                         
267                         <varlistentry>
268                             
269                             <term>ソートされたSchur形式</term>
270                             
271                             <listitem>
272                                 
273                                 <para>
274                                     
275                                     <literal>[U,dim]=schur(A,'c')</literal> は,
276                                     
277                                     <literal>A</literal>を Schur 形式に変換する
278                                     
279                                     ユニタリ行列 <literal>U</literal> を返します.
280                                     
281                                     更に,<literal>U</literal>の最初の列 dim は,
282                                     
283                                     実部が負の固有値(安定な"連続時間"固有値空間)
284                                     
285                                     に関連する<literal>A</literal>の固有値空間
286                                     
287                                     の基底を構成します.
288                                     
289                                 </para>
290                                 
291                                 <para>
292                                     
293                                     <literal>[U,dim]=schur(A,'d')</literal> は,
294                                     
295                                     <literal>A</literal>を Schur 形式に変換する
296                                     
297                                     ユニタリ行列 <literal>U</literal> を返します.
298                                     
299                                     更に,<literal>U</literal>の最初の列 dim は,
300                                     
301                                     大きさが1未満の固有値(安定な"離散時間"固有値空間)
302                                     
303                                     に関連する<literal>A</literal>の固有値空間
304                                     
305                                     の基底を構成します.
306                                     
307                                 </para>
308                                 
309                                 <para>
310                                     
311                                     <literal>[U,dim]=schur(A,extern1)</literal> は,
312                                     
313                                     <literal>A</literal>を Schur 形式に変換する
314                                     
315                                     ユニタリ行列<literal>U</literal>を返します.
316                                     
317                                     更に,<literal>U</literal>の最初の列 dim は,
318                                     
319                                     外部関数 <literal>extern1</literal> (詳細は external 参照)
320                                     
321                                     により選択された固有値に関連する<literal>A</literal>の固有値空間
322                                     
323                                     の基底を構成します.
324                                     
325                                     この external はScilab関数またはCまたはFortranプロシージャにより
326                                     
327                                     次のように記述することができます: 
328                                     
329                                 </para>
330                                 
331                                 <variablelist>
332                                     
333                                     <varlistentry>
334                                         
335                                         <term>Scilab関数</term>
336                                         
337                                         <listitem>
338                                             
339                                             <para>
340                                                 
341                                                 <literal>extern1</literal>が
342                                                 
343                                                 Scilab関数により記述される場合,
344                                                 
345                                                 以下の呼び出し手順を有する必要があります:
346                                                 
347                                                 <literal>s=extern1(Ev)</literal>, ただし <literal>Ev</literal> は固有値,
348                                                 
349                                                 <literal>s</literal> は論理値です.
350                                                 
351                                             </para>
352                                             
353                                         </listitem>
354                                         
355                                     </varlistentry>
356                                     
357                                     <varlistentry>
358                                         
359                                         <term>C または Fortran プロシージャ</term>
360                                         
361                                         <listitem>
362                                             
363                                             <para>
364                                                 
365                                                 <literal>extern1</literal> がCまたはFortran関数により
366                                                 
367                                                 記述される場合,以下の呼び出し手順を有する必要があります:
368                                                 
369                                                 <literal>int extern1(double *EvR, double *EvI)</literal>
370                                                 
371                                                 ただし <literal>EvR</literal> および <literal>EvI</literal> は
372                                                 
373                                                 固有値の実部および虚部です.
374                                                 
375                                                 trueまたはゼロでない戻り値は,選択された固有値を意味します.
376                                                 
377                                             </para>
378                                             
379                                         </listitem>
380                                         
381                                     </varlistentry>
382                                     
383                                 </variablelist>
384                                 
385                             </listitem>
386                             
387                         </varlistentry>
388                         
389                     </variablelist>
390                     
391                 </listitem>
392                 
393             </varlistentry>
394             
395             <varlistentry>
396                 
397                 <term>ペンシルSchur形式</term>
398                 
399                 <listitem>
400                     
401                     <variablelist>
402                         
403                         <varlistentry>
404                             
405                             <term>通常のペンシルSchur形式</term>
406                             
407                             <listitem>
408                                 
409                                 <para>
410                                     
411                                     <literal>[As,Es] = schur(A,E)</literal> は,
412                                     
413                                     対<literal>A, E</literal>の一般化Schur形式である
414                                     
415                                     準三角行列<literal>As</literal>行列および三角行列<literal>Es</literal>
416                                     
417                                     を出力します.
418                                     
419                                 </para>
420                                 
421                                 <para>
422                                     
423                                     <literal>[As,Es,Q,Z] = schur(A,E)</literal>は,更に
424                                     
425                                     <literal>As=Q'*A*Z</literal> および <literal>Es=Q'*E*Z</literal>となるような
426                                     
427                                     2つのユニタリ行列<literal>Q</literal> および <literal>Z</literal>を返します.
428                                     
429                                 </para>
430                                 
431                             </listitem>
432                             
433                         </varlistentry>
434                         
435                         <varlistentry>
436                             
437                             <term>ソートされたSchur形式:</term>
438                             
439                             <listitem>
440                                 
441                                 <para>
442                                     
443                                     <literal>[As,Es,Z,dim] = schur(A,E,'c')</literal>は,
444                                     
445                                     ペンシル<literal>s*E-A</literal>の実数一般化Schur形式を返します.
446                                     
447                                     更に, <literal>Z</literal>の最初の列 dim は,
448                                     
449                                     実部が負の固有値 (安定な"連続時間"一般化固有値空間)に関連する
450                                     
451                                     固有値空間の基底を構成します.
452                                     
453                                 </para>
454                                 
455                                 <para>
456                                     
457                                     <literal>[As,Es,Z,dim] = schur(A,E,'d')</literal>
458                                     
459                                 </para>
460                                 
461                                 <para>
462                                     
463                                     は,ペンシル<literal>s*E-A</literal>の
464                                     
465                                     実数一般化Schur形式を返します.
466                                     
467                                     更に, <literal>Z</literal>の最初の列 dim は,
468                                     
469                                     大きさ1未満の固有値 (安定な"離散時間"一般化固有値空間)に関連する
470                                     
471                                     固有値空間の基底を構成します.
472                                     
473                                 </para>
474                                 
475                                 <para>
476                                     
477                                     <literal>[As,Es,Z,dim] = schur(A,E,extern2)</literal>
478                                     
479                                 </para>
480                                 
481                                 <para>
482                                     
483                                     は,ペンシル<literal>s*E-A</literal>の実一般化Schur形式を返します.
484                                     
485                                     更に, <literal>Z</literal>の最初の列 dim は,
486                                     
487                                     関数<literal>extern2</literal>により指定された規則に基づき選択された
488                                     
489                                     ペンシルの固有値に関する固有値空間の基底を構成します.
490                                     
491                                     (詳細は external 参照)
492                                     
493                                     この external は Scilab 関数またはCまたはFortranプロシージャ
494                                     
495                                     により次のように記述することができます:
496                                     
497                                 </para>
498                                 
499                                 <variablelist>
500                                     
501                                     <varlistentry>
502                                         
503                                         <term>Scilab関数</term>
504                                         
505                                         <listitem>
506                                             
507                                             <para>
508                                                 
509                                                 <literal>extern2</literal>がScilab関数により記述される場合,
510                                                 
511                                                 以下の呼び出し手順を有する必要があります:
512                                                 
513                                                 <literal>s=extern2(Alpha,Beta)</literal>, ただし <literal>Alpha</literal> および
514                                                 
515                                                 <literal>Beta</literal> は一般化固有値および論理値 <literal>s</literal>
516                                                 
517                                                 を定義します.
518                                                 
519                                             </para>
520                                             
521                                         </listitem>
522                                         
523                                     </varlistentry>
524                                     
525                                     <varlistentry>
526                                         
527                                         <term>C またはFortranプロシージャ</term>
528                                         
529                                         <listitem>
530                                             
531                                             <para>
532                                                 
533                                                 if external <literal>extern2</literal> がCまたはFortran関数により
534                                                 
535                                                 記述される場合,以下の呼び出し手順を有する必要があります:
536                                                 
537                                             </para>
538                                             
539                                             <para>
540                                                 
541                                                 <literal>int extern2(double *AlphaR, double *AlphaI, double *Beta)</literal>
542                                                 
543                                             </para>
544                                             
545                                             <para>
546                                                 
547                                                 : <literal>A</literal> および <literal>E</literal> が実数の場合.
548                                                 
549                                             </para>
550                                             
551                                             <para>
552                                                 
553                                                 <literal>int extern2(double *AlphaR, double *AlphaI, double *BetaR, double *BetaI)</literal>
554                                                 
555                                             </para>
556                                             
557                                             <para>
558                                                 
559                                                 : <literal>A</literal> および <literal>E</literal> が複素数の場合.
560                                                 
561                                                 <literal>Alpha</literal>, および <literal>Beta</literal> は一般化固有値を定義します.
562                                                 
563                                                 trueまたは非ゼロの戻り値は,選択された一般化固有値を意味します.
564                                                 
565                                             </para>
566                                             
567                                         </listitem>
568                                         
569                                     </varlistentry>
570                                     
571                                 </variablelist>
572                                 
573                             </listitem>
574                             
575                         </varlistentry>
576                         
577                     </variablelist>
578                     
579                 </listitem>
580                 
581             </varlistentry>
582             
583         </variablelist>
584         
585     </refsection>
586     
587     <refsection>
588         
589         <title>参考</title>
590         
591         <para>
592             
593             行列Schur形式の計算はLapackルーチンDGEES および ZGEESに基づいています.
594             
595         </para>
596         
597         <para>
598             
599             ペンシルSchur形式の計算はLapackルーチンDGGES および ZGGESに基づいています.
600             
601         </para>
602         
603     </refsection>
604     
605     <refsection>
606         
607         <title>例</title>
608         
609         <programlisting role="example"><![CDATA[ 
610 //行列Schur形式
611 //----------------------
612 A=diag([-0.9,-2,2,0.9]);X=rand(A);A=inv(X)*A*X;
613 [U,T]=schur(A);T
614
615 [U,dim,T]=schur(A,'c');
616 T(1:dim,1:dim)      //安定な連続時間固有値
617
618 function t=mytest(Ev),t=abs(Ev)<0.95,endfunction
619 [U,dim,T]=schur(A,mytest);
620 T(1:dim,1:dim)  
621
622 // Cの同じ関数 (コンパイラが必要)
623 cd TMPDIR;
624 C=['int mytest(double *EvR, double *EvI) {' //the C code
625    'if (*EvR * *EvR + *EvI * *EvI < 0.9025) return 1;'
626    'else return 0; }';]
627 mputl(C,TMPDIR+'/mytest.c')
628
629
630 //構築/リンク
631 lp=ilib_for_link('mytest','mytest.c',[],'c');
632 link(lp,'mytest','c'); 
633
634 //実行
635 [U,dim,T]=schur(A,'mytest');
636 //ペンシルのSchur形式
637 //----------------------
638 F=[-1,%s, 0,   1;
639     0,-1,5-%s, 0;
640     0, 0,2+%s, 0;
641     1, 0, 0, -2+%s];
642 A=coeff(F,0);E=coeff(F,1);
643 [As,Es,Q,Z]=schur(A,E);
644 Q'*F*Z //これはAs+%s*Esです
645
646
647 [As,Es,Z,dim] = schur(A,E,'c')
648 function t=mytest(Alpha,Beta),t=real(Alpha)<0,endfunction
649 [As,Es,Z,dim] = schur(A,E,mytest)
650
651 //Fortranの同じ関数 (コンパイラが必要)
652 ftn=['integer function mytestf(ar,ai,b)' //fortranコード
653      'double precision ar,ai,b'
654      'mytestf=0'
655      'if(ar.lt.0.0d0) mytestf=1'
656      'end']
657 mputl('      '+ftn,TMPDIR+'/mytestf.f')
658
659 //build and link
660 lp=ilib_for_link('mytestf','mytestf.f',[],'F');
661 link(lp,'mytestf','f'); 
662
663 //実行
664
665 [As,Es,Z,dim] = schur(A,E,'mytestf')
666  ]]></programlisting>
667         
668     </refsection>
669     
670     <refsection role="see also">
671         
672         <title>参照</title>
673         
674         <simplelist type="inline">
675             
676             <member>
677                 
678                 <link linkend="spec">spec</link>
679                 
680             </member>
681             
682             <member>
683                 
684                 <link linkend="bdiag">bdiag</link>
685                 
686             </member>
687             
688             <member>
689                 
690                 <link linkend="ricc">ricc</link>
691                 
692             </member>
693             
694             <member>
695                 
696                 <link linkend="pbig">pbig</link>
697                 
698             </member>
699             
700             <member>
701                 
702                 <link linkend="psmall">psmall</link>
703                 
704             </member>
705             
706         </simplelist>
707         
708     </refsection>
709     
710 </refentry>
711