This file is indexed.

/usr/share/doc/libsuperlu-doc/html/dgsitrf_8c.html is in libsuperlu-doc 4.3+dfsg-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>SuperLU: SRC/dgsitrf.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>SRC/dgsitrf.c File Reference</h1>Computes an ILU factorization of a general sparse matrix. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="slu__ddefs_8h-source.html">slu_ddefs.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dgsitrf_8c.html#ffb50badd1ff77dbe19f6df360f98e50">dgsitrf</a> (<a class="el" href="structsuperlu__options__t.html">superlu_options_t</a> *options, <a class="el" href="structSuperMatrix.html">SuperMatrix</a> *<a class="el" href="ilu__zdrop__row_8c.html#c900805a486cbb8489e3c176ed6e0d8e">A</a>, int relax, int panel_size, int *etree, void *work, int lwork, int *perm_c, int *perm_r, <a class="el" href="structSuperMatrix.html">SuperMatrix</a> *L, <a class="el" href="structSuperMatrix.html">SuperMatrix</a> *U, <a class="el" href="structSuperLUStat__t.html">SuperLUStat_t</a> *stat, int *info)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<pre>
 -- SuperLU routine (version 4.1) --
 Lawrence Berkeley National Laboratory.
 June 30, 2009</pre><p>
<pre> </pre> <hr><h2>Function Documentation</h2>
<a class="anchor" name="ffb50badd1ff77dbe19f6df360f98e50"></a><!-- doxytag: member="dgsitrf.c::dgsitrf" ref="ffb50badd1ff77dbe19f6df360f98e50" args="(superlu_options_t *options, SuperMatrix *A, int relax, int panel_size, int *etree, void *work, int lwork, int *perm_c, int *perm_r, SuperMatrix *L, SuperMatrix *U, SuperLUStat_t *stat, int *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dgsitrf           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structsuperlu__options__t.html">superlu_options_t</a> *&nbsp;</td>
          <td class="paramname"> <em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSuperMatrix.html">SuperMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>relax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>panel_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>etree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>work</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>lwork</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>perm_c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>perm_r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSuperMatrix.html">SuperMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSuperMatrix.html">SuperMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSuperLUStat__t.html">SuperLUStat_t</a> *&nbsp;</td>
          <td class="paramname"> <em>stat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<pre>
 Purpose
 =======</pre><p>
<pre> DGSITRF computes an ILU factorization of a general sparse m-by-n
 matrix A using partial pivoting with row interchanges.
 The factorization has the form
     Pr * A = L * U
 where Pr is a row permutation matrix, L is lower triangular with unit
 diagonal elements (lower trapezoidal if A-&gt;nrow &gt; A-&gt;ncol), and U is upper
 triangular (upper trapezoidal if A-&gt;nrow &lt; A-&gt;ncol).</pre><p>
<pre> See <a class="el" href="supermatrix_8h.html" title="Defines matrix types.">supermatrix.h</a> for the definition of 'SuperMatrix' structure.</pre><p>
<pre> Arguments
 =========</pre><p>
<pre> options (input) superlu_options_t*
	   The structure defines the input parameters to control
	   how the ILU decomposition will be performed.</pre><p>
<pre> A	    (input) SuperMatrix*
	    Original matrix A, permuted by columns, of dimension
	    (A-&gt;nrow, A-&gt;ncol). The type of A can be:
	    Stype = SLU_NCP; Dtype = SLU_D; Mtype = SLU_GE.</pre><p>
<pre> relax    (input) int
	    To control degree of relaxing supernodes. If the number
	    of nodes (columns) in a subtree of the elimination tree is less
	    than relax, this subtree is considered as one supernode,
	    regardless of the row structures of those columns.</pre><p>
<pre> panel_size (input) int
	    A panel consists of at most panel_size consecutive columns.</pre><p>
<pre> etree    (input) int*, dimension (A-&gt;ncol)
	    Elimination tree of A'*A.
	    Note: etree is a vector of parent pointers for a forest whose
	    vertices are the integers 0 to A-&gt;ncol-1; etree[root]==A-&gt;ncol.
	    On input, the columns of A should be permuted so that the
	    etree is in a certain postorder.</pre><p>
<pre> work     (input/output) void*, size (lwork) (in bytes)
	    User-supplied work space and space for the output data structures.
	    Not referenced if lwork = 0;</pre><p>
<pre> lwork   (input) int
	   Specifies the size of work array in bytes.
	   = 0:  allocate space internally by system malloc;
	   &gt; 0:  use user-supplied work array of length lwork in bytes,
		 returns error if space runs out.
	   = -1: the routine guesses the amount of space needed without
		 performing the factorization, and returns it in
		 *info; no other side effects.</pre><p>
<pre> perm_c   (input) int*, dimension (A-&gt;ncol)
	    Column permutation vector, which defines the
	    permutation matrix Pc; perm_c[i] = j means column i of A is
	    in position j in A*Pc.
	    When searching for diagonal, perm_c[*] is applied to the
	    row subscripts of A, so that diagonal threshold pivoting
	    can find the diagonal of A, rather than that of A*Pc.</pre><p>
<pre> perm_r   (input/output) int*, dimension (A-&gt;nrow)
	    Row permutation vector which defines the permutation matrix Pr,
	    perm_r[i] = j means row i of A is in position j in Pr*A.
	    If options-&gt;Fact = SamePattern_SameRowPerm, the pivoting routine
	       will try to use the input perm_r, unless a certain threshold
	       criterion is violated. In that case, perm_r is overwritten by
	       a new permutation determined by partial pivoting or diagonal
	       threshold pivoting.
	    Otherwise, perm_r is output argument;</pre><p>
<pre> L	    (output) SuperMatrix*
	    The factor L from the factorization Pr*A=L*U; use compressed row
	    subscripts storage for supernodes, i.e., L has type:
	    Stype = SLU_SC, Dtype = SLU_D, Mtype = SLU_TRLU.</pre><p>
<pre> U	    (output) SuperMatrix*
	    The factor U from the factorization Pr*A*Pc=L*U. Use column-wise
	    storage scheme, i.e., U has types: Stype = SLU_NC,
	    Dtype = SLU_D, Mtype = SLU_TRU.</pre><p>
<pre> stat     (output) SuperLUStat_t*
	    Record the statistics on runtime and floating-point operation count.
	    See <a class="el" href="slu__util_8h.html" title="Utility header file.">slu_util.h</a> for the definition of 'SuperLUStat_t'.</pre><p>
<pre> info     (output) int*
	    = 0: successful exit
	    &lt; 0: if info = -i, the i-th argument had an illegal value
	    &gt; 0: if info = i, and i is
	       &lt;= A-&gt;ncol: number of zero pivots. They are replaced by small
		  entries according to options-&gt;ILU_FillTol.
	       &gt; A-&gt;ncol: number of bytes allocated when memory allocation
		  failure occurred, plus A-&gt;ncol. If lwork = -1, it is
		  the estimated amount of space needed, plus A-&gt;ncol.</pre><p>
<pre> ======================================================================</pre><p>
<pre> Local Working Arrays:
 ======================
   m = number of rows in the matrix
   n = number of columns in the matrix</pre><p>
<pre>   marker[0:3*m-1]: marker[i] = j means that node i has been
	reached when working on column j.
	Storage: relative to original row subscripts
	NOTE: There are 4 of them:
	      marker/marker1 are used for panel dfs, see (ilu_)<a class="el" href="dpanel__dfs_8c.html" title="Peforms a symbolic factorization on a panel of symbols.">dpanel_dfs.c</a>;
	      marker2 is used for inner-factorization, see (ilu)_dcolumn_dfs.c;
	      marker_relax(has its own space) is used for relaxed supernodes.</pre><p>
<pre>   parent[0:m-1]: parent vector used during dfs
	Storage: relative to new row subscripts</pre><p>
<pre>   xplore[0:m-1]: xplore[i] gives the location of the next (dfs)
	unexplored neighbor of i in lsub[*]</pre><p>
<pre>   segrep[0:nseg-1]: contains the list of supernodal representatives
	in topological order of the dfs. A supernode representative is the
	last column of a supernode.
	The maximum size of segrep[] is n.</pre><p>
<pre>   repfnz[0:W*m-1]: for a nonzero segment U[*,j] that ends at a
	supernodal representative r, repfnz[r] is the location of the first
	nonzero in this segment.  It is also used during the dfs: repfnz[r]&gt;0
	indicates the supernode r has been explored.
	NOTE: There are W of them, each used for one column of a panel.</pre><p>
<pre>   panel_lsub[0:W*m-1]: temporary for the nonzeros row indices below
	the panel diagonal. These are filled in during <a class="el" href="dpanel__dfs_8c.html#2a809488b87d2c1a9b2a574b726e8517">dpanel_dfs()</a>, and are
	used later in the inner LU factorization within the panel.
	panel_lsub[]/dense[] pair forms the SPA data structure.
	NOTE: There are W of them.</pre><p>
<pre>   dense[0:W*m-1]: sparse accumulating (SPA) vector for intermediate values;
		   NOTE: there are W of them.</pre><p>
<pre>   tempv[0:*]: real temporary used for dense numeric kernels;
	The size of this array is defined by <a class="el" href="slu__util_8h.html#06193b28f40a4779ae7737711642eb45">NUM_TEMPV()</a> in <a class="el" href="slu__util_8h.html" title="Utility header file.">slu_util.h</a>.
	It is also used by the dropping routine <a class="el" href="ilu__ddrop__row_8c.html#380317801e05b11930fd1e094db34179">ilu_ddrop_row()</a>.
 </pre> 
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Aug 25 13:43:49 2011 for SuperLU by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>