added japanese translation of arnoldi module.
[scilab.git] / scilab / modules / arnoldi / help / ja_JP / eigs.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) 2012 - Scilab Enterprises - Adeline CARNIS
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:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="eigs" xml:lang="ja">
16     
17     <refnamediv>
18         
19         <refname>eigs</refname>
20         
21         <refpurpose>
22             
23             行列の最大固有値と固有ベクトルを計算
24             
25         </refpurpose>
26         
27     </refnamediv>
28     
29     <refsynopsisdiv>
30         
31         <title>呼び出し手順</title>
32         
33         <synopsis>
34             
35             d = eigs(A [,B [,k [,sigma [,opts]]]])
36             
37             [d, v] = eigs(A [,B [,k [,sigma [,opts]]]])
38             
39             
40             
41             d = eigs(Af, n [,B [,k [,sigma [,opts]]]])
42             
43             [d, v] = eigs(Af, n [,B [,k [,sigma [,opts]]]])
44             
45         </synopsis>
46         
47     </refsynopsisdiv>
48     
49     <refsection>
50         
51         <title>引数</title>
52         
53         <variablelist>
54             
55             <varlistentry>
56                 
57                 <term>A </term>
58                 
59                 <listitem>
60                     
61                     <para>通常または疎, 実数または複素数, 対称または非対称正方行列</para>
62                     
63                 </listitem>
64                 
65             </varlistentry>
66             
67             <varlistentry>
68                 
69                 <term>Af </term>
70                 
71                 <listitem>
72                     
73                     <para>関数</para>
74                     
75                 </listitem>
76                 
77             </varlistentry>
78             
79             <varlistentry>
80                 
81                 <term>n </term>
82                 
83                 <listitem>
84                     
85                     <para>
86                         
87                         スカラー, Aが関数の場合のみ <literal>A</literal> 定義
88                         
89                     </para>
90                     
91                 </listitem>
92                 
93             </varlistentry>
94             
95             <varlistentry>
96                 
97                 <term>B</term>
98                 
99                 <listitem>
100                     
101                     <para>
102                         
103                         <literal> A</literal>と同じ次元の
104                         
105                         疎, 実数または複素数, 正方行列
106                         
107                     </para>
108                     
109                 </listitem>
110                 
111             </varlistentry>
112             
113             <varlistentry>
114                 
115                 <term>k</term>
116                 
117                 <listitem>
118                     
119                     <para>整数, 計算する固有値の数</para>
120                     
121                 </listitem>
122                 
123             </varlistentry>
124             
125             <varlistentry>
126                 
127                 <term>sigma</term>
128                 
129                 <listitem>
130                     
131                     <para>実スカラーまたは長さ2の文字列</para>
132                     
133                 </listitem>
134                 
135             </varlistentry>
136             
137             <varlistentry>
138                 
139                 <term>opts</term>
140                 
141                 <listitem>
142                     
143                     <para>構造体</para>
144                     
145                 </listitem>
146                 
147             </varlistentry>
148             
149             <varlistentry>
150                 
151                 <term>d</term>
152                 
153                 <listitem>
154                     
155                     <para>実数または複素数の固有値ベクトルまたは対角行列 (対角項に固有値)</para>
156                     
157                 </listitem>
158                 
159             </varlistentry>
160             
161             <varlistentry>
162                 
163                 <term>v</term>
164                 
165                 <listitem>
166                     
167                     <para>
168                         
169                         実数または複素数の固有ベクトル行列
170                         
171                     </para>
172                     
173                 </listitem>
174                 
175             </varlistentry>
176             
177         </variablelist>
178         
179     </refsection>
180     
181     <refsection>
182         
183         <title>説明</title>
184         
185         <para>
186             
187             eigs関数の目的は,疎で大きな行列の最大固有値を計算することです.
188             
189         </para>
190         
191         <variablelist>
192             
193             <varlistentry>
194                 
195                 <term>d = eigs(A) または d = eigs(Af, n)</term>
196                 
197                 <listitem>
198                     
199                     <para>
200                         
201                         は,固有値問題<literal>A * v = lambda * v</literal>を解きます. 
202                         
203                         このコールは,大きさが最大の6個の固有値を有する
204                         
205                         ベクトル <literal>d</literal>を返します.
206                         
207                         <literal>A</literal> は正方行列で,
208                         
209                         対称または非対称, 実数または複素数, 通常または複素数
210                         
211                         とすることができます.
212                         
213                     </para>
214                     
215                     <para>
216                         
217                         <literal>A</literal> は関数<literal>Af</literal>で
218                         
219                         表すことも可能です.この場合,
220                         
221                         ベクトル引数の長さを指定するスカラー<literal>n</literal>を
222                         
223                         定義する必要があります.
224                         
225                         この関数は,以下のヘッダを有する必要があります:
226                         
227                     </para>
228                     
229                     <programlisting role="no-scilab-exec">
230                         
231                         <![CDATA[ 
232 function y = A ( x )
233  ]]>
234                         
235                     </programlisting>
236                     
237                     <para>
238                         
239                         この関数 <literal>Af</literal> は以下の4つの式の1つを返す必要があります:
240                         
241                         <itemizedlist>
242                             
243                             <listitem>
244                                 
245                                 <term>A * x</term>
246                                 
247                                 <para> sigmaが指定されないか文字列が'SM'以外の場合.</para>
248                                 
249                             </listitem>
250                             
251                             <listitem>
252                                 
253                                 <term>A \ x</term>
254                                 
255                                 <para>sigmaが0または'SM'の場合.</para>
256                                 
257                             </listitem>
258                             
259                             <listitem>
260                                 
261                                 <term>(A - sigma * I) \ x</term>
262                                 
263                                 <para>標準固有値問題の場合, ただし I は単位行列.</para>
264                                 
265                             </listitem>
266                             
267                             <listitem>
268                                 
269                                 <term>(A - sigma * B) \ x</term>
270                                 
271                                 <para> 一般化固有値問題の場合.</para>
272                                 
273                             </listitem>
274                             
275                         </itemizedlist>
276                         
277                     </para>
278                     
279                 </listitem>
280                 
281             </varlistentry>
282             
283             <varlistentry>
284                 
285                 <term>[d, v] = eigs(A) or [d, v] = eigs(Af, n)</term>
286                 
287                 <listitem>
288                     
289                     <para>
290                         
291                         は,6個の最大固有値を対角項に有する対角行列 <literal>d</literal> を返します.
292                         
293                         <literal>v</literal> は n行6列の行列で,
294                         
295                         その列は返された固有値に対応する6個の固有値ベクトルです.
296                         
297                     </para>
298                     
299                 </listitem>
300                 
301             </varlistentry>
302             
303             <varlistentry>
304                 
305                 <term>d = eigs(A, B)</term>
306                 
307                 <listitem>
308                     
309                     <para>
310                         
311                         は,正定行列<literal>B</literal>を指定して,
312                         
313                         一般化固有値問題 <literal>A * v = lambda  * B * v </literal> 
314                         
315                         を解きます.
316                         
317                     </para>
318                     
319                     <itemizedlist>
320                         
321                         <listitem>
322                             
323                             <para>
324                                 
325                                 <literal>B</literal> が指定されない場合, 
326                                 
327                                 <literal>B = []</literal> が使用されます.
328                                 
329                             </para>
330                             
331                         </listitem>
332                         
333                         <listitem>
334                             
335                             <para>
336                                 
337                                 <literal>B</literal> が指定された場合, 
338                                 
339                                 <literal>B</literal> はAと同じ大きさとする必要があります.
340                                 
341                             </para>
342                             
343                         </listitem>
344                         
345                     </itemizedlist>
346                     
347                 </listitem>
348                 
349             </varlistentry>
350             
351             <varlistentry>
352                 
353                 <term>d = eigs(A, B, k)</term>
354                 
355                 <listitem>
356                     
357                     <para>
358                         
359                         は,<literal>k</literal>個の固有値をベクトル<literal>d</literal>に返します.
360                         
361                         <literal>k</literal> が指定されない場合, 
362                         
363                         <literal>k = min(n, 6)</literal>, ただし, nはAの行数となります.
364                         
365                     </para>
366                     
367                 </listitem>
368                 
369             </varlistentry>
370             
371             <varlistentry>
372                 
373                 <term>d = eigs(A, B, k, sigma)</term>
374                 
375                 <listitem>
376                     
377                     <para>
378                         
379                         は,<literal>sigma</literal>で定義された<literal>k</literal>個の固有値を
380                         
381                         ベクトル<literal>d</literal>に返します.
382                         
383                         <literal>sigma</literal> は,0を含む実数または複素数,または文字列
384                         
385                         とすることができます.
386                         
387                         sigma が長さ2の文字列の場合, 以下の値のどれかとします :
388                         
389                     </para>
390                     
391                     <itemizedlist>
392                         
393                         <listitem>
394                             
395                             <para>
396                                 
397                                 <literal>'LM'</literal> は,大きさが最大の<varname>k</varname>個の
398                                 
399                                 固有値を計算します(デフォルト).
400                                 
401                             </para>
402                             
403                         </listitem>
404                         
405                         <listitem>
406                             
407                             <para>
408                                 
409                                 <literal>'SM'</literal> は,大きさが最小の<varname>k</varname>個の
410                                 
411                                 固有値を計算します(sigma = 0 と同じ).
412                                 
413                             </para>
414                             
415                         </listitem>
416                         
417                         <listitem>
418                             
419                             <para>
420                                 
421                                 <literal>'LA'</literal> は,実対称問題のみに適用され,
422                                 
423                                 <varname>k</varname>個の代数的最大固有値を計算します.
424                                 
425                             </para>
426                             
427                         </listitem>
428                         
429                         <listitem>
430                             
431                             <para>
432                                 
433                                 <literal>'SA'</literal> は,実対称問題のみに適用され,
434                                 
435                                 <varname>k</varname>個の代数的最小固有値を計算します.
436                                 
437                             </para>
438                             
439                         </listitem>
440                         
441                         <listitem>
442                             
443                             <para>
444                                 
445                                 <literal>'BE'</literal> は,実対称問題のみに適用され,
446                                 
447                                 スペクトラムの各端から半分づつ,<varname>k</varname>個の固有値を計算します.
448                                 
449                             </para>
450                             
451                         </listitem>
452                         
453                         <listitem>
454                             
455                             <para>
456                                 
457                                 <literal>'LR'</literal> は,実非対称または複素問題のみに適用され,
458                                 
459                                 <varname>k</varname>個の実部最大の固有値を計算します.
460                                 
461                             </para>
462                             
463                         </listitem>
464                         
465                         <listitem>
466                             
467                             <para>
468                                 
469                                 <literal>'SR'</literal> は,実非対称または複素問題のみに適用され,
470                                 
471                                 <varname>k</varname>個の実部最小の固有値を計算します.
472                                 
473                             </para>
474                             
475                         </listitem>
476                         
477                         <listitem>
478                             
479                             <para>
480                                 
481                                 <literal>'LI'</literal> は,実非対称または複素問題のみに適用され,
482                                 
483                                 <varname>k</varname>個の虚部最大の固有値を計算します.
484                                 
485                             </para>
486                             
487                         </listitem>
488                         
489                         <listitem>
490                             
491                             <para>
492                                 
493                                 <literal>'SI'</literal> は,実非対称または複素問題のみに適用され,
494                                 
495                                 <varname>k</varname>個の虚部最小の固有値を計算します.
496                                 
497                             </para>
498                             
499                         </listitem>
500                         
501                     </itemizedlist>
502                     
503                 </listitem>
504                 
505             </varlistentry>
506             
507             <varlistentry>
508                 
509                 <term>d = eigs(A, B, k, sigma, opts)</term>
510                 
511                 <listitem>
512                     
513                     <para>
514                         
515                         <literal> opts </literal> 構造体が指定された場合, 
516                         
517                         <literal>k</literal> 個の固有値を計算する際に
518                         
519                         異なるオプションを使用できます:
520                         
521                     </para>
522                     
523                     <itemizedlist>
524                         
525                         <listitem>
526                             
527                             <para>
528                                 
529                                 <term>tol</term>
530                                 
531                                 <para>
532                                     
533                                     所要の収束閾値. デフォルトで, <literal>tol = %eps</literal>.
534                                     
535                                 </para>
536                                 
537                             </para>
538                             
539                         </listitem>
540                         
541                         <listitem>
542                             
543                             <para>
544                                 
545                                 <term>maxiter</term>
546                                 
547                                 <para>
548                                     
549                                     最大反復回数. デフォルトで, <literal>maxiter = 300</literal>.
550                                     
551                                 </para>
552                                 
553                             </para>
554                             
555                         </listitem>
556                         
557                         <listitem>
558                             
559                             <para>
560                                 
561                                 <term>ncv</term>
562                                 
563                                 <para>
564                                     
565                                     使用するLanzcos基底ベクトルの数.
566                                     
567                                     実非対称問題の場合, <literal>ncv</literal>の値は
568                                     
569                                     <literal>2 * k + 1 </literal>以上とする必要があり,
570                                     
571                                     デフォルトで <literal>ncv = min(max(2 * k + 1, 20), nA) </literal>です.
572                                     
573                                     実対称または複素数問題の場合,<literal>ncv</literal>は
574                                     
575                                     <literal>2 * k </literal>以上とする必要があり,
576                                     
577                                     デフォルトで<literal> ncv = min(max(2 * k, 20), nA) </literal>
578                                     
579                                     です.ただし,<literal> nA = size(A, 2) </literal>.
580                                     
581                                 </para>
582                                 
583                             </para>
584                             
585                         </listitem>
586                         
587                         <listitem>
588                             
589                             <para>
590                                 
591                                 <term>resid</term>
592                                 
593                                 <para>
594                                     
595                                     初期残差ベクトルを有する開始ベクトルで,
596                                     
597                                     前回実行時の値を使用することもできます.
598                                     
599                                     デフォルトで,<literal>resid</literal> はランダムな
600                                     
601                                     初期値ベクトルです.
602                                     
603                                 </para>
604                                 
605                             </para>
606                             
607                         </listitem>
608                         
609                         <listitem>
610                             
611                             <para>
612                                 
613                                 <term>cholB</term>
614                                 
615                                 <para>
616                                     
617                                     <literal>B</literal>ではなく
618                                     
619                                     <literal>chol(B)</literal>を指定します.
620                                     
621                                     デフォルトで
622                                     
623                                     , <literal>cholB</literal> は %f です.
624                                     
625                                 </para>
626                                 
627                             </para>
628                             
629                         </listitem>
630                         
631                         <listitem>
632                             
633                             <para>
634                                 
635                                 <term>isreal</term>
636                                 
637                                 <para>
638                                     
639                                     <literal>Af</literal> が指定された場合, 
640                                     
641                                     <literal>isreal</literal> を定義できます.
642                                     
643                                     デフォルトで, <literal>isreal</literal> は %t です.
644                                     
645                                     この引数は,<literal>A</literal>が行列の場合,
646                                     
647                                     指定する必要がありません.
648                                     
649                                 </para>
650                                 
651                             </para>
652                             
653                         </listitem>
654                         
655                         <listitem>
656                             
657                             <para>
658                                 
659                                 <term>issym</term>
660                                 
661                                 <para>
662                                     
663                                     <literal>Af</literal> が指定された場合, 
664                                     
665                                     <literal>issym</literal> を定義できます. 
666                                     
667                                     デフォルトで <literal>issym</literal> は %f です.
668                                     
669                                     この引数は,<literal>A</literal>が行列の場合,
670                                     
671                                     指定する必要がありません.
672                                     
673                                 </para>
674                                 
675                             </para>
676                             
677                         </listitem>
678                         
679                     </itemizedlist>
680                     
681                 </listitem>
682                 
683             </varlistentry>
684             
685         </variablelist>
686         
687     </refsection>
688     
689     <refsection>
690         
691         <title>参考文献</title>
692         
693         <para>
694             
695             この関数はR. Lehoucq, K. Maschhoff, D. Sorensen, および C. Yang.により書かれた
696             
697             ARPACKパッケージに基づいています.
698             
699         </para>
700         
701         <itemizedlist>
702             
703             <listitem>
704                 
705                 <para>実対称問題用のDSAUPD および DSEUPD ルーチン,</para>
706                 
707             </listitem>
708             
709             <listitem>
710                 
711                 <para>実非対称行列用のDNAUPD および DNEUPD ルーチン.</para>
712                 
713             </listitem>
714             
715             <listitem>
716                 
717                 <para>複素問題用のZNAUPD および ZNEUPD.</para>
718                 
719             </listitem>
720             
721         </itemizedlist>
722         
723     </refsection>
724     
725     <refsection>
726         
727         <title>実対称問題の例</title>
728         
729         <programlisting role="example">
730             
731             <![CDATA[ 
732 A            = diag(10*ones(10,1));
733 A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6*ones(9,1));
734 A(2:$,1:$-1) = A(2:$,1:$-1) + diag(6*ones(9,1));
735
736 B = eye(10,10);
737 k = 8;
738 sigma = 'SM';
739 opts.cholB = %t;
740
741 d = eigs(A)
742 [d, v] = eigs(A)
743
744 d = eigs(A, B, k, sigma)
745 [d, v] = eigs(A, B, k, sigma)
746
747 d = eigs(A, B, k, sigma, opts)
748 [d, v] = eigs(A, B, k, sigma, opts)
749
750 // 疎行列
751 AS = sparse(A);
752 BS = sparse(B);
753
754 d = eigs(AS)
755 [d, v] = eigs(AS)
756
757 d = eigs(AS, BS, k, sigma)
758 [d, v] = eigs(AS, BS, k, sigma)
759
760 d = eigs(AS, BS, k, sigma, opts)
761 [d, v] = eigs(AS, BS, k, sigma, opts)
762
763 // 関数
764 clear opts
765 function y = fn(x)
766    y = A * x;
767 endfunction
768
769 opts.isreal = %t;
770 opts.issym = %t;
771
772 d = eigs(fn, 10, [], k, 'LM', opts)
773
774 function y = fn(x)
775    y = A \ x;
776 endfunction
777
778 d = eigs(fn, 10, [], k, 'SM', opts)
779
780 function y = fn(x)
781    y = (A - 4 * eye(10,10)) \ x;
782 endfunction
783
784 d = eigs(fn, 10, [], k, 4, opts)
785  ]]>
786             
787         </programlisting>
788         
789     </refsection>
790     
791     <refsection>
792         
793         <title>実非対称問題の例</title>
794         
795         <programlisting role="example">
796             
797             
798             
799             <![CDATA[ 
800     A            = diag(10*ones(10,1));
801     A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6*ones(9,1));
802     A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6*ones(9,1));
803
804     B = eye(10,10);
805     k = 8;
806     sigma = 'SM';
807     opts.cholB = %t;
808     
809     d = eigs(A)
810 [d, v] = eigs(A)
811     
812     d = eigs(A, B, k, sigma)
813     [d, v] = eigs(A, B, k, sigma) 
814
815     d = eigs(A, B, k, sigma, opts)
816     [d, v] = eigs(A, B, k, sigma, opts)
817
818 // 疎行列
819     AS = sparse(A);
820     BS = sparse(B);
821
822 d = eigs(AS)
823 [d, v] = eigs(AS)
824     d = eigs(AS, BS, k, sigma)
825     [d, v] = eigs(AS, BS, k, sigma)
826
827     d = eigs(AS, BS, k, sigma, opts)
828     [d, v] = eigs(AS, BS, k, sigma, opts)
829     
830     // 関数
831 clear opts
832 function y = fn(x)
833    y = A * x;
834 endfunction
835
836 opts.isreal = %t;
837 opts.issym = %f;
838
839 d = eigs(fn, 10, [], k, 'LM', opts)
840
841 function y = fn(x)
842    y = A \ x;
843 endfunction
844
845 d = eigs(fn, 10, [], k, 'SM', opts)
846
847 function y = fn(x)
848    y = (A - 4 * eye(10,10)) \ x;
849 endfunction
850
851 d = eigs(fn, 10, [], k, 4, opts)
852     ]]>
853             
854         </programlisting>
855         
856     </refsection>
857     
858     <refsection>
859         
860         <title>複素問題の例</title>
861         
862         <programlisting role="example">
863             
864             <![CDATA[ 
865     A            = diag(10*ones(10,1) + %i * ones(10,1));
866     A(1:$-1,2:$) = A(1:$-1,2:$) + diag(6*ones(9,1));
867     A(2:$,1:$-1) = A(2:$,1:$-1) + diag(-6*ones(9,1));
868
869     B = eye(10,10);
870     k = 8;
871     sigma = 'LM';
872     opts.cholB = %t;
873     
874     d = eigs(A)
875 [d, v] = eigs(A)
876
877     d = eigs(A, B, k, sigma)
878     [d, v] = eigs(A, B, k, sigma)
879     d = eigs(A, B, k, sigma, opts)
880     [d, v] = eigs(A, B, k, sigma, opts)
881     
882     // 疎行列
883     AS = sparse(A);
884     BS = sparse(B);
885     
886     d = eigs(AS)
887 [d, v] = eigs(AS)
888
889     d = eigs(AS, BS, k, sigma)
890     [d, v] = eigs(AS, BS, k, sigma)
891
892     d = eigs(AS, BS, k, sigma, opts)
893     [d, v] = eigs(AS, BS, k, sigma, opts)
894     
895     // 関数
896 clear opts
897 function y = fn(x)
898    y = A * x;
899 endfunction
900
901 opts.isreal = %f;
902 opts.issym = %f;
903
904 d = eigs(fn, 10, [], k, 'LM', opts)
905
906 function y = fn(x)
907    y = A \ x;
908 endfunction
909
910 d = eigs(fn, 10, [], k, 'SM', opts)
911
912 function y = fn(x)
913    y = (A - 4 * eye(10,10)) \ x;
914 endfunction
915
916 d = eigs(fn, 10, [], k, 4, opts)
917     ]]>
918             
919         </programlisting>
920         
921     </refsection>
922     
923     <refsection role="see also">
924         
925         <title>参照</title>
926         
927         <simplelist type="inline">
928             
929             <member>
930                 
931                 <link linkend="spec">spec</link>
932                 
933             </member>
934             
935         </simplelist>
936         
937     </refsection>
938     
939     <refsection>
940         
941         <title>履歴</title>
942         
943         <revhistory>
944             
945             <revision>
946                 
947                 <revnumber>5.4.0</revnumber>
948                 
949                 <revremark>
950                     
951                     関数が導入されました. 
952                     
953                     dnaupd, dneupd, dsaupd, dseupd, znaupd および zneupdは廃止されました.
954                     
955                 </revremark>
956                 
957             </revision>
958             
959         </revhistory>
960         
961     </refsection>
962     
963 </refentry>
964