1 <?xml version="1.0" encoding="UTF-8"?>
4 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
5 * Copyright (C) XXXX-2008 - INRIA
7 * Copyright (C) 2012 - 2016 - Scilab Enterprises
9 * This file is hereby licensed under the terms of the GNU GPL v2.0,
10 * pursuant to article 5.3.4 of the CeCILL v.2.1.
11 * This file was originally licensed under the terms of the CeCILL v2.1,
12 * and continues to be available under such terms.
13 * For more information, see the COPYING file which you should have received
14 * along with this program.
18 <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="spcompack">
22 <refname>spcompack</refname>
24 <refpurpose>圧縮隣接表現に変換する</refpurpose>
40 <para>長さ (n+1)の整数ベクトル.</para>
52 <para>長さ n+1の整数ベクトル(ポインタ).</para>
90 <programlisting role=""><![CDATA[
91 ユーティリティ関数spcompakは圧縮隣接形式を
101 <programlisting role="example"><![CDATA[
102 // A is the sparse matrix:
111 //この行列の場合,標準隣接形式は以下のように定義されます:
112 xadj=[1,2,3,8,12,13,15,16];
113 adjncy=[1, 2, 3,4,5,6,7, 4,5,6,7, 5, 6,7, 7];
115 // ベクトル xadjの増分は,各列の非ゼロ要素の数を指定します.
116 // すなわち,列1には 2-1=1個のエントリが存在
117 // 列2には 3-2=1個のエントリが存在
118 // 列3には 8-3=5個のエントリが存在
119 // 列3には 12-8=4個のエントリが存在
121 // これらのエントリの行インデックスは隣接ベクトルにより例えば
123 // adjncy (3:7)=adjncy(xadj(3):xadj(4)-1)=[3,4,5,6,7]
124 // これは, 列3の5=xadj(4)-xadj(3)個のエントリのインデックスを
125 // 3,4,5,6,7 としたことを意味します.
126 // 圧縮表現では,隣接する重複するシーケンスは消去されます.
127 // ここで,隣接表現では並び 4,5,6,7および7が消去されます.
128 // 標準構造(xadj,adjncy)は圧縮形式(lindx,xlindx)を受け付けます
129 lindx=[1, 2, 3,4,5,6,7, 5, 6,7];
130 xlindx=[1,2,3,8,9,11];
131 //(Aの列 4 および 7は消去されます).
132 //Aは(xadj,xlindx,lindx)により再構築できます.
133 [xadj,adjncy,anz]= sp2adj(A);
134 adjncy-spcompack(xadj,xlindx,lindx)
139 <refsection role="see also">
143 <simplelist type="inline">
147 <link linkend="sp2adj">sp2adj</link>
153 <link linkend="adj2sp">adj2sp</link>
159 <link linkend="spget">spget</link>