|
| void | cgssv (superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int *) |
| | Driver routines. More...
|
| |
| void | cgssvx (superlu_options_t *, SuperMatrix *, int *, int *, int *, char *, float *, float *, SuperMatrix *, SuperMatrix *, void *, int, SuperMatrix *, SuperMatrix *, float *, float *, float *, float *, mem_usage_t *, SuperLUStat_t *, int *) |
| |
| void | cgsisv (superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int *) |
| |
| void | cgsisx (superlu_options_t *, SuperMatrix *, int *, int *, int *, char *, float *, float *, SuperMatrix *, SuperMatrix *, void *, int, SuperMatrix *, SuperMatrix *, float *, float *, mem_usage_t *, SuperLUStat_t *, int *) |
| |
| void | cCreate_CompCol_Matrix (SuperMatrix *, int, int, int, complex *, int *, int *, Stype_t, Dtype_t, Mtype_t) |
| | Supernodal LU factor related. More...
|
| |
| void | cCreate_CompRow_Matrix (SuperMatrix *, int, int, int, complex *, int *, int *, Stype_t, Dtype_t, Mtype_t) |
| |
| void | cCopy_CompCol_Matrix (SuperMatrix *, SuperMatrix *) |
| |
| void | cCreate_Dense_Matrix (SuperMatrix *, int, int, complex *, int, Stype_t, Dtype_t, Mtype_t) |
| |
| void | cCreate_SuperNode_Matrix (SuperMatrix *, int, int, int, complex *, int *, int *, int *, int *, int *, Stype_t, Dtype_t, Mtype_t) |
| |
| void | cCopy_Dense_Matrix (int, int, complex *, int, complex *, int) |
| |
| void | countnz (const int, int *, int *, int *, GlobalLU_t *) |
| |
| void | ilu_countnz (const int, int *, int *, GlobalLU_t *) |
| |
| void | fixupL (const int, const int *, GlobalLU_t *) |
| |
| void | callocateA (int, int, complex **, int **, int **) |
| |
| void | cgstrf (superlu_options_t *, SuperMatrix *, int, int, int *, void *, int, int *, int *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int *) |
| |
| int | csnode_dfs (const int, const int, const int *, const int *, const int *, int *, int *, GlobalLU_t *) |
| |
| int | csnode_bmod (const int, const int, const int, complex *, complex *, GlobalLU_t *, SuperLUStat_t *) |
| |
| void | cpanel_dfs (const int, const int, const int, SuperMatrix *, int *, int *, complex *, int *, int *, int *, int *, int *, int *, int *, GlobalLU_t *) |
| |
| void | cpanel_bmod (const int, const int, const int, const int, complex *, complex *, int *, int *, GlobalLU_t *, SuperLUStat_t *) |
| |
| int | ccolumn_dfs (const int, const int, int *, int *, int *, int *, int *, int *, int *, int *, int *, GlobalLU_t *) |
| |
| int | ccolumn_bmod (const int, const int, complex *, complex *, int *, int *, int, GlobalLU_t *, SuperLUStat_t *) |
| |
| int | ccopy_to_ucol (int, int, int *, int *, int *, complex *, GlobalLU_t *) |
| |
| int | cpivotL (const int, const double, int *, int *, int *, int *, int *, GlobalLU_t *, SuperLUStat_t *) |
| |
| void | cpruneL (const int, const int *, const int, const int, const int *, const int *, int *, GlobalLU_t *) |
| |
| void | creadmt (int *, int *, int *, complex **, int **, int **) |
| |
| void | cGenXtrue (int, int, complex *, int) |
| |
| void | cFillRHS (trans_t, int, complex *, int, SuperMatrix *, SuperMatrix *) |
| |
| void | cgstrs (trans_t, SuperMatrix *, SuperMatrix *, int *, int *, SuperMatrix *, SuperLUStat_t *, int *) |
| |
| void | cgsitrf (superlu_options_t *, SuperMatrix *, int, int, int *, void *, int, int *, int *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int *) |
| |
| int | cldperm (int, int, int, int[], int[], complex[], int[], float[], float[]) |
| |
| int | ilu_csnode_dfs (const int, const int, const int *, const int *, const int *, int *, GlobalLU_t *) |
| |
| void | ilu_cpanel_dfs (const int, const int, const int, SuperMatrix *, int *, int *, complex *, float *, int *, int *, int *, int *, int *, int *, GlobalLU_t *) |
| |
| int | ilu_ccolumn_dfs (const int, const int, int *, int *, int *, int *, int *, int *, int *, int *, GlobalLU_t *) |
| |
| int | ilu_ccopy_to_ucol (int, int, int *, int *, int *, complex *, int, milu_t, double, int, complex *, int *, GlobalLU_t *, float *) |
| |
| int | ilu_cpivotL (const int, const double, int *, int *, int, int *, int *, int *, int *, double, milu_t, complex, GlobalLU_t *, SuperLUStat_t *) |
| |
| int | ilu_cdrop_row (superlu_options_t *, int, int, double, int, int *, double *, GlobalLU_t *, float *, float *, int) |
| |
| void | cgsequ (SuperMatrix *, float *, float *, float *, float *, float *, int *) |
| | Driver related. More...
|
| |
| void | claqgs (SuperMatrix *, float *, float *, float, float, float, char *) |
| |
| void | cgscon (char *, SuperMatrix *, SuperMatrix *, float, float *, SuperLUStat_t *, int *) |
| |
| float | cPivotGrowth (int, SuperMatrix *, int *, SuperMatrix *, SuperMatrix *) |
| |
| void | cgsrfs (trans_t, SuperMatrix *, SuperMatrix *, SuperMatrix *, int *, int *, char *, float *, float *, SuperMatrix *, SuperMatrix *, float *, float *, SuperLUStat_t *, int *) |
| |
| int | sp_ctrsv (char *, char *, char *, SuperMatrix *, SuperMatrix *, complex *, SuperLUStat_t *, int *) |
| |
| int | sp_cgemv (char *, complex, SuperMatrix *, complex *, int, complex, complex *, int) |
| |
| int | sp_cgemm (char *, char *, int, int, int, complex, SuperMatrix *, complex *, int, complex, complex *, int) |
| |
| float | slamch_ (char *) |
| |
| int | cLUMemInit (fact_t, void *, int, int, int, int, int, float, SuperMatrix *, SuperMatrix *, GlobalLU_t *, int **, complex **) |
| | Memory-related. More...
|
| |
| void | cSetRWork (int, int, complex *, complex **, complex **) |
| |
| void | cLUWorkFree (int *, complex *, GlobalLU_t *) |
| |
| int | cLUMemXpand (int, int, MemType, int *, GlobalLU_t *) |
| |
| complex * | complexMalloc (int) |
| |
| complex * | complexCalloc (int) |
| |
| float * | floatMalloc (int) |
| |
| float * | floatCalloc (int) |
| |
| int | cmemory_usage (const int, const int, const int, const int) |
| |
| int | cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *) |
| |
| int | ilu_cQuerySpace (SuperMatrix *, SuperMatrix *, mem_usage_t *) |
| |
| void | creadhb (int *, int *, int *, complex **, int **, int **) |
| | Auxiliary routines. More...
|
| |
| void | creadrb (int *, int *, int *, complex **, int **, int **) |
| |
| void | creadtriple (int *, int *, int *, complex **, int **, int **) |
| |
| void | cCompRow_to_CompCol (int, int, int, complex *, int *, int *, complex **, int **, int **) |
| |
| void | cfill (complex *, int, complex) |
| |
| void | cinf_norm_error (int, SuperMatrix *, complex *) |
| |
| void | PrintPerf (SuperMatrix *, SuperMatrix *, mem_usage_t *, complex, complex, complex *, complex *, char *) |
| |
| float | sqselect (int, float *, int) |
| |
| void | cPrint_CompCol_Matrix (char *, SuperMatrix *) |
| | Routines for debugging. More...
|
| |
| void | cPrint_SuperNode_Matrix (char *, SuperMatrix *) |
| |
| void | cPrint_Dense_Matrix (char *, SuperMatrix *) |
| |
| void | cprint_lu_col (char *, int, int, int *, GlobalLU_t *) |
| |
| int | print_double_vec (char *, int, double *) |
| |
| void | check_tempv (int, complex *) |
| |
Header file for real operations.
-- SuperLU routine (version 4.1) --
Univ. of California Berkeley, Xerox Palo Alto Research Center,
and Lawrence Berkeley National Lab.
November, 2010
Global data structures used in LU factorization -
nsuper: supernodes = nsuper + 1, numbered [0, nsuper].
(xsup,supno): supno[i] is the supernode no to which i belongs;
xsup(s) points to the beginning of the s-th supernode.
e.g. supno 0 1 2 2 3 3 3 4 4 4 4 4 (n=12)
xsup 0 1 2 4 7 12
Note: dfs will be performed on supernode rep. relative to the new
row pivoting ordering
(xlsub,lsub): lsub[*] contains the compressed subscript of
rectangular supernodes; xlsub[j] points to the starting
location of the j-th column in lsub[*]. Note that xlsub
is indexed by column.
Storage: original row subscripts
During the course of sparse LU factorization, we also use
(xlsub,lsub) for the purpose of symmetric pruning. For each
supernode {s,s+1,...,t=s+r} with first column s and last
column t, the subscript set
lsub[j], j=xlsub[s], .., xlsub[s+1]-1
is the structure of column s (i.e. structure of this supernode).
It is used for the storage of numerical values.
Furthermore,
lsub[j], j=xlsub[t], .., xlsub[t+1]-1
is the structure of the last column t of this supernode.
It is for the purpose of symmetric pruning. Therefore, the
structural subscripts can be rearranged without making physical
interchanges among the numerical values.
However, if the supernode has only one column, then we
only keep one set of subscripts. For any subscript interchange
performed, similar interchange must be done on the numerical
values.
The last column structures (for pruning) will be removed
after the numercial LU factorization phase.
(xlusup,lusup): lusup[*] contains the numerical values of the
rectangular supernodes; xlusup[j] points to the starting
location of the j-th column in storage vector lusup[*]
Note: xlusup is indexed by column.
Each rectangular supernode is stored by column-major
scheme, consistent with Fortran 2-dim array storage.
(xusub,ucol,usub): ucol[*] stores the numerical values of
U-columns outside the rectangular supernodes. The row
subscript of nonzero ucol[k] is stored in usub[k].
xusub[i] points to the starting location of column i in ucol.
Storage: new row subscripts; that is subscripts of PA.