supermatrix_8h-source.html
来自「SuperLU is a general purpose library for」· HTML 代码 · 共 202 行 · 第 1/2 页
HTML
202 行
<a name="l00086"></a><a class="code" href="structSCformat.html#3808f35bd097fbc0a39e3e65ee2a8d4a">00086</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nnz; <span class="comment">/* number of nonzeros in the matrix */</span><a name="l00087"></a><a class="code" href="structSCformat.html#afffc008b0b8e57b9cdf5689a527bd8c">00087</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nsuper; <span class="comment">/* number of supernodes, minus 1 */</span><a name="l00088"></a><a class="code" href="structSCformat.html#25011a4746e4cf0a6fbc38ba45a70e91">00088</a> <span class="keywordtype">void</span> *nzval; <span class="comment">/* pointer to array of nonzero values, packed by column */</span><a name="l00089"></a><a class="code" href="structSCformat.html#41e93b73c8bce9326f035e3647ee94ca">00089</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *nzval_colptr;<span class="comment">/* pointer to array of beginning of columns in nzval[] */</span><a name="l00090"></a><a class="code" href="structSCformat.html#ec8a46751f64a94238495838aaed7cd2">00090</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind; <span class="comment">/* pointer to array of compressed row indices of </span><a name="l00091"></a>00091 <span class="comment"> rectangular supernodes */</span><a name="l00092"></a><a class="code" href="structSCformat.html#7683b1730b067ae2058004f0f18ad88d">00092</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind_colptr;<span class="comment">/* pointer to array of beginning of columns in rowind[] */</span><a name="l00093"></a><a class="code" href="structSCformat.html#75a51eef4af5a906cde9a32eddcb2fc1">00093</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *col_to_sup; <span class="comment">/* col_to_sup[j] is the supernode number to which column </span><a name="l00094"></a>00094 <span class="comment"> j belongs; mapping from column to supernode number. */</span><a name="l00095"></a><a class="code" href="structSCformat.html#d5cb1b2ae17c5fe554c3b70721718b08">00095</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *sup_to_col; <span class="comment">/* sup_to_col[s] points to the start of the s-th </span><a name="l00096"></a>00096 <span class="comment"> supernode; mapping from supernode number to column.</span><a name="l00097"></a>00097 <span class="comment"> e.g.: col_to_sup: 0 1 2 2 3 3 3 4 4 4 4 4 4 (ncol=12)</span><a name="l00098"></a>00098 <span class="comment"> sup_to_col: 0 1 2 4 7 12 (nsuper=4) */</span><a name="l00099"></a>00099 <span class="comment">/* Note:</span><a name="l00100"></a>00100 <span class="comment"> Zero-based indexing is used;</span><a name="l00101"></a>00101 <span class="comment"> nzval_colptr[], rowind_colptr[], col_to_sup and</span><a name="l00102"></a>00102 <span class="comment"> sup_to_col[] have ncol+1 entries, the last one</span><a name="l00103"></a>00103 <span class="comment"> pointing beyond the last column.</span><a name="l00104"></a>00104 <span class="comment"> For col_to_sup[], only the first ncol entries are</span><a name="l00105"></a>00105 <span class="comment"> defined. For sup_to_col[], only the first nsuper+2</span><a name="l00106"></a>00106 <span class="comment"> entries are defined. */</span><a name="l00107"></a>00107 } <a class="code" href="structSCformat.html">SCformat</a>;<a name="l00108"></a>00108 <a name="l00109"></a>00109 <span class="comment">/* Stype == SLU_SCP */</span><a name="l00110"></a><a class="code" href="structSCPformat.html">00110</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{<a name="l00111"></a><a class="code" href="structSCPformat.html#d4b6e7424269c3cbe9a368604433870e">00111</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nnz; <span class="comment">/* number of nonzeros in the matrix */</span><a name="l00112"></a><a class="code" href="structSCPformat.html#20ee99d8cfb0cecad94373e2eb5abef8">00112</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nsuper; <span class="comment">/* number of supernodes */</span><a name="l00113"></a><a class="code" href="structSCPformat.html#028e5f9ef15054302c1403969c37a0fb">00113</a> <span class="keywordtype">void</span> *nzval; <span class="comment">/* pointer to array of nonzero values, packed by column */</span><a name="l00114"></a><a class="code" href="structSCPformat.html#a9bae5f483aa1a22aec18f5c2393f05e">00114</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *nzval_colbeg;<span class="comment">/* nzval_colbeg[j] points to beginning of column j</span><a name="l00115"></a>00115 <span class="comment"> in nzval[] */</span><a name="l00116"></a><a class="code" href="structSCPformat.html#098e9a5c87e2c0b35c82852b1910334d">00116</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *nzval_colend;<span class="comment">/* nzval_colend[j] points to one past the last element</span><a name="l00117"></a>00117 <span class="comment"> of column j in nzval[] */</span><a name="l00118"></a><a class="code" href="structSCPformat.html#5b4ccbb31fa3a7c2372b5a297453e200">00118</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind; <span class="comment">/* pointer to array of compressed row indices of </span><a name="l00119"></a>00119 <span class="comment"> rectangular supernodes */</span><a name="l00120"></a><a class="code" href="structSCPformat.html#1bd16ec6ab44636e56da09d65fbe8402">00120</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind_colbeg;<span class="comment">/* rowind_colbeg[j] points to beginning of column j</span><a name="l00121"></a>00121 <span class="comment"> in rowind[] */</span><a name="l00122"></a><a class="code" href="structSCPformat.html#09c1770c0baad3c1152d48587ad084b4">00122</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind_colend;<span class="comment">/* rowind_colend[j] points to one past the last element</span><a name="l00123"></a>00123 <span class="comment"> of column j in rowind[] */</span><a name="l00124"></a><a class="code" href="structSCPformat.html#ba16553c2896f7c88450621f18b54bae">00124</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *col_to_sup; <span class="comment">/* col_to_sup[j] is the supernode number to which column</span><a name="l00125"></a>00125 <span class="comment"> j belongs; mapping from column to supernode. */</span><a name="l00126"></a><a class="code" href="structSCPformat.html#345ad774183c979674dd0960a930508e">00126</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *sup_to_colbeg; <span class="comment">/* sup_to_colbeg[s] points to the start of the s-th </span><a name="l00127"></a>00127 <span class="comment"> supernode; mapping from supernode to column.*/</span><a name="l00128"></a><a class="code" href="structSCPformat.html#8e470d085ca7b39645336943a1f2eae6">00128</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *sup_to_colend; <span class="comment">/* sup_to_colend[s] points to one past the end of the</span><a name="l00129"></a>00129 <span class="comment"> s-th supernode; mapping from supernode number to</span><a name="l00130"></a>00130 <span class="comment"> column.</span><a name="l00131"></a>00131 <span class="comment"> e.g.: col_to_sup: 0 1 2 2 3 3 3 4 4 4 4 4 4 (ncol=12)</span><a name="l00132"></a>00132 <span class="comment"> sup_to_colbeg: 0 1 2 4 7 (nsuper=4)</span><a name="l00133"></a>00133 <span class="comment"> sup_to_colend: 1 2 4 7 12 */</span><a name="l00134"></a>00134 <span class="comment">/* Note:</span><a name="l00135"></a>00135 <span class="comment"> Zero-based indexing is used;</span><a name="l00136"></a>00136 <span class="comment"> nzval_colptr[], rowind_colptr[], col_to_sup and</span><a name="l00137"></a>00137 <span class="comment"> sup_to_col[] have ncol+1 entries, the last one</span><a name="l00138"></a>00138 <span class="comment"> pointing beyond the last column. */</span><a name="l00139"></a>00139 } <a class="code" href="structSCPformat.html">SCPformat</a>;<a name="l00140"></a>00140 <a name="l00141"></a>00141 <span class="comment">/* Stype == SLU_NCP */</span><a name="l00142"></a><a class="code" href="structNCPformat.html">00142</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{<a name="l00143"></a><a class="code" href="structNCPformat.html#c8c12ffc9edd0906608612727ad406ed">00143</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nnz; <span class="comment">/* number of nonzeros in the matrix */</span><a name="l00144"></a><a class="code" href="structNCPformat.html#519ed66fdf9da30c76c079474503c764">00144</a> <span class="keywordtype">void</span> *nzval; <span class="comment">/* pointer to array of nonzero values, packed by column */</span><a name="l00145"></a><a class="code" href="structNCPformat.html#8a27cd5a756bc313cc3c487a84e8ba30">00145</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowind;<span class="comment">/* pointer to array of row indices of the nonzeros */</span><a name="l00146"></a>00146 <span class="comment">/* Note: nzval[]/rowind[] always have the same length */</span><a name="l00147"></a><a class="code" href="structNCPformat.html#2192334a0f76d4c18784caa1f8783f01">00147</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *colbeg;<span class="comment">/* colbeg[j] points to the beginning of column j in nzval[] </span><a name="l00148"></a>00148 <span class="comment"> and rowind[] */</span><a name="l00149"></a><a class="code" href="structNCPformat.html#86dcc41e83595a12ecd88d57748430c0">00149</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *colend;<span class="comment">/* colend[j] points to one past the last element of column</span><a name="l00150"></a>00150 <span class="comment"> j in nzval[] and rowind[] */</span><a name="l00151"></a>00151 <span class="comment">/* Note:</span><a name="l00152"></a>00152 <span class="comment"> Zero-based indexing is used;</span><a name="l00153"></a>00153 <span class="comment"> The consecutive columns of the nonzeros may not be </span><a name="l00154"></a>00154 <span class="comment"> contiguous in storage, because the matrix has been </span><a name="l00155"></a>00155 <span class="comment"> postmultiplied by a column permutation matrix. */</span><a name="l00156"></a>00156 } <a class="code" href="structNCPformat.html">NCPformat</a>;<a name="l00157"></a>00157 <a name="l00158"></a>00158 <span class="comment">/* Stype == SLU_DN */</span><a name="l00159"></a><a class="code" href="structDNformat.html">00159</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{<a name="l00160"></a><a class="code" href="structDNformat.html#6b584837b30f33849c6c3b070aade816">00160</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> lda; <span class="comment">/* leading dimension */</span><a name="l00161"></a><a class="code" href="structDNformat.html#54a061275c52aa9e38f4cb65da46d48c">00161</a> <span class="keywordtype">void</span> *nzval; <span class="comment">/* array of size lda*ncol to represent a dense matrix */</span><a name="l00162"></a>00162 } <a class="code" href="structDNformat.html">DNformat</a>;<a name="l00163"></a>00163 <a name="l00164"></a>00164 <span class="comment">/* Stype == SLU_NR_loc (Distributed Compressed Row Format) */</span><a name="l00165"></a><a class="code" href="structNRformat__loc.html">00165</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{<a name="l00166"></a><a class="code" href="structNRformat__loc.html#41c309cb83dedeaa82c0e4e137ea4785">00166</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> nnz_loc; <span class="comment">/* number of nonzeros in the local submatrix */</span><a name="l00167"></a><a class="code" href="structNRformat__loc.html#90413dc3eb197a83b70cc0d97e4c54af">00167</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> m_loc; <span class="comment">/* number of rows local to this processor */</span><a name="l00168"></a><a class="code" href="structNRformat__loc.html#cab0ad4c74c4b4f0c68647f98b430cd9">00168</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> fst_row; <span class="comment">/* global index of the first row */</span><a name="l00169"></a><a class="code" href="structNRformat__loc.html#08b19d74f15e6475f43565035ae898ca">00169</a> <span class="keywordtype">void</span> *nzval; <span class="comment">/* pointer to array of nonzero values, packed by row */</span><a name="l00170"></a><a class="code" href="structNRformat__loc.html#add0788ee704ffb7000b0485ee128061">00170</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *rowptr; <span class="comment">/* pointer to array of beginning of rows in nzval[] </span><a name="l00171"></a>00171 <span class="comment"> and colind[] */</span><a name="l00172"></a><a class="code" href="structNRformat__loc.html#5d192fc35ba0915afa42f36eca0e2d78">00172</a> <a class="code" href="slu__cdefs_8h.html#b6fd6105e64ed14a0c9281326f05e623">int_t</a> *colind; <span class="comment">/* pointer to array of column indices of the nonzeros */</span><a name="l00173"></a>00173 <span class="comment">/* Note:</span><a name="l00174"></a>00174 <span class="comment"> Zero-based indexing is used;</span><a name="l00175"></a>00175 <span class="comment"> rowptr[] has n_loc + 1 entries, the last one pointing</span><a name="l00176"></a>00176 <span class="comment"> beyond the last row, so that rowptr[n_loc] = nnz_loc.*/</span><a name="l00177"></a>00177 } <a class="code" href="structNRformat__loc.html">NRformat_loc</a>;<a name="l00178"></a>00178 <a name="l00179"></a>00179 <a name="l00180"></a>00180 <span class="preprocessor">#endif </span><span class="comment">/* __SUPERLU_SUPERMATRIX */</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Aug 1 22:40:39 2008 for SuperLU by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?