9ce2716204e043af2212638894251e01f4194dd8
[scilab.git] / scilab / modules / sparse / help / ja_JP / decomposition / lufact.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) XXXX-2008 - INRIA
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  -->
13 <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="lufact">
14     <refnamediv>
15         <refname>lufact</refname>
16         <refpurpose>疎行列LU分解</refpurpose>
17     </refnamediv>
18     <refsynopsisdiv>
19         <title>呼び出し手順</title>
20         <synopsis>[hand,rk]=lufact(A,prec)</synopsis>
21     </refsynopsisdiv>
22     <refsection>
23         <title>パラメータ</title>
24         <variablelist>
25             <varlistentry>
26                 <term>A</term>
27                 <listitem>
28                     <para>正方疎行列</para>
29                 </listitem>
30             </varlistentry>
31             <varlistentry>
32                 <term>hand</term>
33                 <listitem>
34                     <para>疎行列LU分解へのハンドル</para>
35                 </listitem>
36             </varlistentry>
37             <varlistentry>
38                 <term>rk</term>
39                 <listitem>
40                     <para>整数  (Aのランク)</para>
41                 </listitem>
42             </varlistentry>
43             <varlistentry>
44                 <term>prec</term>
45                 <listitem>
46                     <para>
47                         大きさ2のベクトル<literal>prec=[eps,reps]</literal>で,
48                         絶対および相対閾値を指定します.
49                     </para>
50                 </listitem>
51             </varlistentry>
52         </variablelist>
53     </refsection>
54     <refsection>
55         <title>説明</title>
56         <para>
57             <literal>[hand,rk]=lufact(A)</literal>は,
58             疎行列<literal>A</literal>のLU分解を行ないます.
59             <literal>hand</literal> (表示されません) が,
60             (線形システムを解く)<literal>lusolve</literal>および
61             (LU分解を取得する)<literal>luget</literal>で
62             使用されます.
63             <literal>hand</literal> は以下のコマンドにより消去します: <literal>ludel(hand)</literal>;
64         </para>
65         <para>
66             行列Aは,フルランクである必要はありませんが,正方である必要があります
67             (Aは疎行列であると仮定されるため,必要に応じてAの下に正方にするための
68             ゼロを追加することができます).
69         </para>
70         <variablelist>
71             <varlistentry>
72                 <term>eps :</term>
73                 <listitem>
74                     <para>
75                         最終的に要素がピボットの候補とみなされる大きさ.
76                         この数は行列の中で存在すると思われる最も小さい対角項よりも
77                         著しく小さな値に設定する必要があります.
78                         デフォルトは<literal>%eps</literal>です.
79                     </para>
80                 </listitem>
81             </varlistentry>
82             <varlistentry>
83                 <term>reps :</term>
84                 <listitem>
85                     <para>この数は,ピポット相対閾値を定義します.
86                         この値は,0と1の間とする必要があります.
87                         1の場合,ピボット選択は完全ピボット選択となり,
88                         非常に遅く,通常の行列に近くなるまで要素が埋められる
89                         傾向があります. 0 に近い値を設定した場合,
90                         ピボット選択は閾値なしの厳密なMarkowitz法となります.
91                         ピボットの閾値はこれらが使用された場合には
92                         要素が増加しすぎるようなピボット候補を消去する際に使用されます.
93                         要素の増加が丸め誤差の原因です.
94                         要素の増加は条件の良い行列においても発生します.
95                         reps に大きな値を設定することで,
96                         要素の増加と丸め誤差が減少しますが,
97                         大きすぎる値を設定すると実行時間が過大となり,
98                         代入の数が過大となります.
99                         このような場合,
100                         多くの代入に必要な行列の操作の回数が多くなるため,実際の
101                         精度は低下します.
102                         良い値は 0.001 と思われ,これがデフォルト値です.
103                         このデフォルト値は,1より大きいか,0以下の値を指定することにより
104                         選択されます.
105                         この値は,過度な要素数の増加が認められた場合には,
106                         増加させ,行列を決定する必要があります.
107                         ピボット閾値の変更は,要素数の増加が小さい行列においては,
108                         条件が悪い行列において期待されるような性能の改善効果を,
109                         得ることはできません.
110                         reps は, ノードおよび修正ノードアドミタンス行列のような
111                         近似的に対角優位の行列で使用するように選択されています.
112                         これらの行列では,通常は対角ピボット選択を使用するのが最良です.
113                         大きな対角項がない行列の場合は,
114                         通常は0.01または0.1のようなより大きな閾値を使用するのが最善です.
115                     </para>
116                 </listitem>
117             </varlistentry>
118         </variablelist>
119     </refsection>
120     <refsection>
121         <title>例</title>
122         <programlisting role="example"><![CDATA[ 
123 a=rand(5,5);b=rand(5,1);A=sparse(a);
124 [h,rk]=lufact(A);
125 x=lusolve(h,b);a*x-b
126 ludel(h)
127  ]]></programlisting>
128     </refsection>
129     <refsection role="see also">
130         <title>参照</title>
131         <simplelist type="inline">
132             <member>
133                 <link linkend="sparse">sparse</link>
134             </member>
135             <member>
136                 <link linkend="lusolve">lusolve</link>
137             </member>
138             <member>
139                 <link linkend="luget">luget</link>
140             </member>
141         </simplelist>
142     </refsection>
143 </refentry>