Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / sparse / help / ja_JP / sparseconvert / sparse.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  * 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"
17           xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
18           xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
19           xml:lang="ja" xml:id="sparse">
20     <refnamediv>
21         <refname>sparse</refname>
22         <refpurpose>疎行列を定義</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>呼び出し手順</title>
26         <synopsis>
27             sp = sparse(X)
28             sp = sparse(ij, v)
29             sp = sparse(ij, v, mn)
30         </synopsis>
31     </refsynopsisdiv>
32     <refsection>
33         <title>引数</title>
34         <variablelist>
35             <varlistentry>
36                 <term>X</term>
37                 <listitem>
38                     <para>実数または複素数の通常の(または疎)行列</para>
39                 </listitem>
40             </varlistentry>
41             <varlistentry>
42                 <term>ij</term>
43                 <listitem>
44                     <para>2列の整数行列 (非ゼロエントリのインデックス)</para>
45                 </listitem>
46             </varlistentry>
47             <varlistentry>
48                 <term>v</term>
49                 <listitem>
50                     <para>ベクトル</para>
51                 </listitem>
52             </varlistentry>
53             <varlistentry>
54                 <term>mn</term>
55                 <listitem>
56                     <para>2つのエントリ(行の次元, 列の次元c)を有する整数ベクトル</para>
57                 </listitem>
58             </varlistentry>
59             <varlistentry>
60                 <term>sp</term>
61                 <listitem>
62                     <para>疎行列</para>
63                 </listitem>
64             </varlistentry>
65         </variablelist>
66     </refsection>
67     <refsection>
68         <title>説明</title>
69         <para>
70             <literal>sparse</literal>は疎行列を作成するために使用されます.
71             ゼロでないエントリのみが保存されます.
72         </para>
73         <para>
74             <literal>sp = sparse(X)</literal>  は,
75             0要素を除外することにより,通常の行列を疎行列に変換します.
76             (<literal>X</literal>が既に疎行列の場合,
77             <literal>sp</literal>は<literal>X</literal>となります).
78         </para>
79         <para>
80             <literal>sp=sparse(ij,v [,mn])</literal>は,
81             <literal>sp(ij(k,1),ij(k,2))=v(k)</literal>となる
82             <literal>mn(1)</literal>行<literal>mn(2)</literal>列の疎行列
83             を作成します.
84             <literal>ij</literal> および <literal>v</literal>は列の次元が
85             同じである必要があります.
86             オプションの<literal>mn</literal>パラメータが指定されない場合,
87             行列<literal>sp</literal>の次元は,それぞれ
88             <literal>ij(:,1)</literal> および <literal>ij(:,2)</literal>の
89             最大値となります.
90         </para>
91         <warning>
92             <itemizedlist>
93               <listitem>
94                   For the building syntaxes, if several values are given for a same
95                   <varname>ij</varname> position, the sum of theses values is assigned.
96               </listitem>
97               <listitem>
98                 <literal>sparse([],[])</literal> yields the <literal>(0, 0) zero sparse matrix</literal>,
99                 with <literal>sparse([],[]) ~= []</literal>.
100               </listitem>
101             </itemizedlist>
102         </warning>
103       <refsect3>
104         <title>Operating sparse matrices</title>
105         <para>
106             疎行列に関する操作(結合,加算,等,)は通常の行列と同じ構文により
107             行ないます.
108         </para>
109         <para>
110             基本的な関数(<literal>abs, min, max, sum, diag,...</literal>)は疎行列でも
111             利用可能です.
112         </para>
113         <para>
114             (通常の行列と疎行列の)混用も可能です.
115             結果は処理に応じて通常または疎行列となります.
116         </para>
117         <note>
118           <para>
119               同じ大きさの通常の行列を含む任意の演算は,
120               引数(例: <literal>sp=sparse(d)</literal>),
121               または,結果(例  <literal>d= sp + 1.</literal>) のどちら
122               についても利便性のために提供されていますが,当然避けるべきです.
123           </para>
124           <para>
125               更に,要素(<literal>sp(r,c)</literal>)へのランダムアクセス,
126               特に挿入,は効率的ではありません.
127               このため,性能面の制約があるアクセスでは,
128               読込みアクセスは<link linkend="spget">spget</link>,
129               書込みアクセスは<literal>sp=sparse(ij, v, mn)</literal>による
130               バッチ処理により行う必要があります.
131           </para>
132         </note>
133       </refsect3>
134     </refsection>
135     <refsection>
136         <title>例</title>
137         <programlisting role="example"><![CDATA[
138 sp = sparse([1,2;4,5;3,10],[1,2,3])
139 size(sp)
140
141 x = rand(2,2);
142 abs(x) - full(abs(sparse(x)))
143
144 // sparse constructor taking a single dense matrix
145 // removes the zeros.
146 dense = [0., 1., 0., 0., 0.,
147 1., 0., 2., 0., 0.
148 0., 0., 0., 0., 0.
149 0., 0., 0., 0., -0.5];
150 sp = sparse(dense)
151
152 // complex matrices are also supported
153 sp = sparse(dense*(1+2*%i))
154
155 // for boolean matrices, the boolean sparse matrix
156 // only stores true values (and removes false values).
157 dense = [%F, %F, %T, %F, %F
158 %T, %F, %F, %F, %F
159 %F, %F, %F, %F, %F
160 %F, %F, %F, %F, %T];
161 sp=sparse(dense)
162  ]]></programlisting>
163     </refsection>
164     <refsection role="see also">
165         <title>参照</title>
166         <simplelist type="inline">
167             <member>
168                 <link linkend="full">full</link>
169             </member>
170             <member>
171                 <link linkend="spget">spget</link>
172             </member>
173             <member>
174                 <link linkend="sprand">sprand</link>
175             </member>
176             <member>
177                 <link linkend="speye">speye</link>
178             </member>
179             <member>
180                 <link linkend="diag">diag</link>
181             </member>
182             <member>
183                 <link linkend="toeplitz">toeplitz</link>
184             </member>
185             <member>
186                 <link linkend="signed_zero">sparse(-0)</link>
187             </member>
188         </simplelist>
189     </refsection>
190     <refsection role="history">
191         <title>履歴</title>
192         <revhistory>
193             <revision>
194                 <revnumber>6.0.2</revnumber>
195                 <revdescription>
196                     sparse([],[]) now yields the "(0,0) zero sparse matrix" instead of [].
197                 </revdescription>
198             </revision>
199         </revhistory>
200     </refsection>
201 </refentry>