1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) XXXX-2008 - INRIA
6 * Copyright (C) 2012 - 2016 - Scilab Enterprises
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.
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">
21 <refname>sparse</refname>
22 <refpurpose>疎行列を定義</refpurpose>
29 sp = sparse(ij, v, mn)
38 <para>実数または複素数の通常の(または疎)行列</para>
44 <para>2列の整数行列 (非ゼロエントリのインデックス)</para>
56 <para>2つのエントリ(行の次元, 列の次元c)を有する整数ベクトル</para>
70 <literal>sparse</literal>は疎行列を作成するために使用されます.
74 <literal>sp = sparse(X)</literal> は,
75 0要素を除外することにより,通常の行列を疎行列に変換します.
76 (<literal>X</literal>が既に疎行列の場合,
77 <literal>sp</literal>は<literal>X</literal>となります).
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>列の疎行列
84 <literal>ij</literal> および <literal>v</literal>は列の次元が
86 オプションの<literal>mn</literal>パラメータが指定されない場合,
87 行列<literal>sp</literal>の次元は,それぞれ
88 <literal>ij(:,1)</literal> および <literal>ij(:,2)</literal>の
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.
98 <literal>sparse([],[])</literal> yields the <literal>(0, 0) zero sparse matrix</literal>,
99 with <literal>sparse([],[]) ~= []</literal>.
104 <title>Operating sparse matrices</title>
106 疎行列に関する操作(結合,加算,等,)は通常の行列と同じ構文により
110 基本的な関数(<literal>abs, min, max, sum, diag,...</literal>)は疎行列でも
115 結果は処理に応じて通常または疎行列となります.
119 同じ大きさの通常の行列を含む任意の演算は,
120 引数(例: <literal>sp=sparse(d)</literal>),
121 または,結果(例 <literal>d= sp + 1.</literal>) のどちら
122 についても利便性のために提供されていますが,当然避けるべきです.
125 更に,要素(<literal>sp(r,c)</literal>)へのランダムアクセス,
127 このため,性能面の制約があるアクセスでは,
128 読込みアクセスは<link linkend="spget">spget</link>,
129 書込みアクセスは<literal>sp=sparse(ij, v, mn)</literal>による
137 <programlisting role="example"><![CDATA[
138 sp = sparse([1,2;4,5;3,10],[1,2,3])
142 abs(x) - full(abs(sparse(x)))
144 // sparse constructor taking a single dense matrix
145 // removes the zeros.
146 dense = [0., 1., 0., 0., 0.,
149 0., 0., 0., 0., -0.5];
152 // complex matrices are also supported
153 sp = sparse(dense*(1+2*%i))
155 // for boolean matrices, the boolean sparse matrix
156 // only stores true values (and removes false values).
157 dense = [%F, %F, %T, %F, %F
164 <refsection role="see also">
166 <simplelist type="inline">
168 <link linkend="full">full</link>
171 <link linkend="spget">spget</link>
174 <link linkend="sprand">sprand</link>
177 <link linkend="speye">speye</link>
180 <link linkend="diag">diag</link>
183 <link linkend="toeplitz">toeplitz</link>
186 <link linkend="signed_zero">sparse(-0)</link>
190 <refsection role="history">
194 <revnumber>6.0.2</revnumber>
196 sparse([],[]) now yields the "(0,0) zero sparse matrix" instead of [].