get__perm__c_8c.html
来自「SuperLU is a general purpose library for」· HTML 代码 · 共 436 行 · 第 1/2 页
HTML
436 行
<table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void get_colamd </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const int </td> <td class="mdname" nowrap> <em>m</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const int </td> <td class="mdname" nowrap> <em>n</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const int </td> <td class="mdname" nowrap> <em>nnz</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>colptr</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>rowind</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>perm_c</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="aecb6e6e7a3e97356050bcfdf2573796"></a><!-- doxytag: member="get_perm_c.c::get_perm_c" ref="aecb6e6e7a3e97356050bcfdf2573796" args="(int ispec, SuperMatrix *A, int *perm_c)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void get_perm_c </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>ispec</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="structSuperMatrix.html">SuperMatrix</a> * </td> <td class="mdname" nowrap> <em>A</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>perm_c</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><pre> Purpose =======</pre><p><pre> GET_PERM_C obtains a permutation matrix Pc, by applying the multiple minimum degree ordering code by Joseph Liu to matrix A'*A or A+A'. or using approximate minimum degree column ordering by Davis et. al. The LU factorization of A*Pc tends to have less fill than the LU factorization of A.</pre><p><pre> Arguments =========</pre><p><pre> ispec (input) int Specifies the type of column ordering to reduce fill: = 1: minimum degree on the structure of A^T * A = 2: minimum degree on the structure of A^T + A = 3: approximate minimum degree for unsymmetric matrices If ispec == 0, the natural ordering (i.e., Pc = I) is returned.</pre><p><pre> A (input) SuperMatrix* Matrix A in A*X=B, of dimension (A->nrow, A->ncol). The number of the linear equations is A->nrow. Currently, the type of A can be: Stype = NC; Dtype = _D; Mtype = GE. In the future, more general A can be handled.</pre><p><pre> perm_c (output) int* Column permutation vector of size A->ncol, which defines the permutation matrix Pc; perm_c[i] = j means column i of A is in position j in A*Pc. </pre> </td> </tr></table><a class="anchor" name="90f30e2b284864f6a800a98ceaff8fbc"></a><!-- doxytag: member="get_perm_c.c::getata" ref="90f30e2b284864f6a800a98ceaff8fbc" args="(const int m, const int n, const int nz, int *colptr, int *rowind, int *atanz, int **ata_colptr, int **ata_rowind)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void getata </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const int </td> <td class="mdname" nowrap> <em>m</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const int </td> <td class="mdname" nowrap> <em>n</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const int </td> <td class="mdname" nowrap> <em>nz</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>colptr</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>rowind</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int * </td> <td class="mdname" nowrap> <em>atanz</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int ** </td> <td class="mdname" nowrap> <em>ata_colptr</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int ** </td> <td class="mdname" nowrap> <em>ata_rowind</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><pre> Purpose =======</pre><p><pre> Form the structure of A'*A. A is an m-by-n matrix in column oriented format represented by (colptr, rowind). The output A'*A is in column oriented format (symmetrically, also row oriented), represented by (ata_colptr, ata_rowind).</pre><p><pre> This routine is modified from GETATA routine by Tim Davis. The complexity of this algorithm is: SUM_{i=1,m} r(i)^2, i.e., the sum of the square of the row counts.</pre><p><pre> Questions ========= o Do I need to withhold the *dense* rows? o How do I know the number of nonzeros in A'*A? </pre> </td> </tr></table><hr size="1"><address style="align: right;"><small>Generated on Fri Aug 1 22:40:40 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 + -
显示快捷键?