f38658b4a6743e94e72b22e9524f8a5cac938999
[scilab.git] / scilab / modules / sparse / help / ja_JP / sparseconvert / spcompack.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="spcompack">
14     <refnamediv>
15         <refname>spcompack</refname>
16         <refpurpose>圧縮隣接表現に変換する</refpurpose>
17     </refnamediv>
18     <refsection>
19         <title>パラメータ</title>
20         <variablelist>
21             <varlistentry>
22                 <term>xadj</term>
23                 <listitem>
24                     <para>長さ (n+1)の整数ベクトル.</para>
25                 </listitem>
26             </varlistentry>
27             <varlistentry>
28                 <term>xlindx</term>
29                 <listitem>
30                     <para>長さ n+1の整数ベクトル(ポインタ).</para>
31                 </listitem>
32             </varlistentry>
33             <varlistentry>
34                 <term>lindx</term>
35                 <listitem>
36                     <para>整数ベクトル</para>
37                 </listitem>
38             </varlistentry>
39             <varlistentry>
40                 <term>adjncy</term>
41                 <listitem>
42                     <para>整数ベクトル</para>
43                 </listitem>
44             </varlistentry>
45         </variablelist>
46     </refsection>
47     <refsection>
48         <title>説明</title>
49         <programlisting role=""><![CDATA[ 
50 ユーティリティ関数spcompakは圧縮隣接形式を
51 標準隣接形式に変換する際に使用されます.
52  ]]></programlisting>
53     </refsection>
54     <refsection>
55         <title>例</title>
56         <programlisting role="example"><![CDATA[ 
57 // A is the sparse matrix:
58 A=[1,0,0,0,0,0,0;
59    0,1,0,0,0,0,0;
60    0,0,1,0,0,0,0;
61    0,0,1,1,0,0,0;
62    0,0,1,1,1,0,0;
63    0,0,1,1,0,1,0;
64    0,0,1,1,0,1,1];
65 A=sparse(A);
66 //この行列の場合,標準隣接形式は以下のように定義されます:
67 xadj=[1,2,3,8,12,13,15,16];
68 adjncy=[1, 2, 3,4,5,6,7, 4,5,6,7, 5, 6,7, 7];
69 //(sp2adj参照).
70 // ベクトル xadjの増分は,各列の非ゼロ要素の数を指定します.
71 // すなわち,列1には 2-1=1個のエントリが存在
72 //          列2には 3-2=1個のエントリが存在
73 //          列3には 8-3=5個のエントリが存在
74 //          列3には 12-8=4個のエントリが存在
75 //  など
76 // これらのエントリの行インデックスは隣接ベクトルにより例えば
77 // 以下のように指定でます
78 // adjncy (3:7)=adjncy(xadj(3):xadj(4)-1)=[3,4,5,6,7] 
79 // これは, 列3の5=xadj(4)-xadj(3)個のエントリのインデックスを
80 // 3,4,5,6,7 としたことを意味します.
81 // 圧縮表現では,隣接する重複するシーケンスは消去されます.
82 // ここで,隣接表現では並び 4,5,6,7および7が消去されます.
83 // 標準構造(xadj,adjncy)は圧縮形式(lindx,xlindx)を受け付けます
84 lindx=[1, 2, 3,4,5,6,7, 5, 6,7];
85 xlindx=[1,2,3,8,9,11];
86 //(Aの列 4 および 7は消去されます).
87 //Aは(xadj,xlindx,lindx)により再構築できます.
88 [xadj,adjncy,anz]= sp2adj(A);
89 adjncy-spcompack(xadj,xlindx,lindx)
90  ]]></programlisting>
91     </refsection>
92     <refsection role="see also">
93         <title>参照</title>
94         <simplelist type="inline">
95             <member>
96                 <link linkend="sp2adj">sp2adj</link>
97             </member>
98             <member>
99                 <link linkend="adj2sp">adj2sp</link>
100             </member>
101             <member>
102                 <link linkend="spget">spget</link>
103             </member>
104         </simplelist>
105     </refsection>
106 </refentry>