PaStiX Handbook
6.3.0
|
Data Structures | |
struct | symbol_faxtlok_s |
The chained column block structure. More... | |
Macros | |
#define | SYMBOL_FAX_HASHPRIME 17 |
Prime number for hashing vertex numbers. | |
Typedefs | |
typedef struct symbol_faxtlok_s | SymbolFaxTlok |
The chained column block structure. More... | |
Functions | |
int | pastixSymbolFaxILUk (symbol_matrix_t *symbptr, pastix_int_t levelk, const pastix_graph_t *graphA, const pastix_order_t *ordeptr) |
Create the symbol matrix from the graph of the non zero pattern of the factorized matrix and the supernode partition. More... | |
void | faxCSRPatchSymbol (symbol_matrix_t *symbmtx) |
Patch the symbol matrix to add blocks in order to get a real elimination tree. More... | |
struct symbol_faxtlok_s |
The chained column block structure.
These blocks are chained in a single linked list for block merge with blocks of left columns.
Definition at line 34 of file symbol_fax.h.
Data Fields | ||
---|---|---|
pastix_int_t | frownum |
First row index |
pastix_int_t | lrownum |
Last row index (inclusive) |
pastix_int_t | fcblknm |
Facing column block |
pastix_int_t | nextnum |
Index of next block |
typedef struct symbol_faxtlok_s SymbolFaxTlok |
The chained column block structure.
These blocks are chained in a single linked list for block merge with blocks of left columns.
int pastixSymbolFaxILUk | ( | symbol_matrix_t * | symbptr, |
pastix_int_t | levelk, | ||
const pastix_graph_t * | graphA, | ||
const pastix_order_t * | ordeptr | ||
) |
Create the symbol matrix from the graph of the non zero pattern of the factorized matrix and the supernode partition.
[in] | symbptr | TODO |
[in] | levelk | TODO |
[in] | graphA | TODO |
[out] | ordeptr | TODO |
0 | on success. |
!0 | on failure. |
Definition at line 51 of file symbol_fax_iluk.c.
References symbol_matrix_s::baseval, symbol_matrix_s::bloknbr, symbol_cblk_s::bloknum, symbol_matrix_s::bloktab, symbol_cblk_s::brownum, symbol_matrix_s::browtab, symbol_matrix_s::cblknbr, symbol_matrix_s::cblktab, faxCSRClean(), faxCSRFactILUk(), faxCSRGenPA(), faxCSRGetNNZ(), symbol_blok_s::fcblknm, symbol_cblk_s::fcolnum, symbol_blok_s::frownum, symbol_blok_s::lcblknm, symbol_cblk_s::lcolnum, symbol_blok_s::lrownum, and symbol_matrix_s::nodenbr.
Referenced by pastix_subtask_symbfact().
void faxCSRPatchSymbol | ( | symbol_matrix_t * | symbmtx | ) |
Patch the symbol matrix to add blocks in order to get a real elimination tree.
This function is called when ILU(k) factorization is performed and the faxCSRBuildSymbol() function might have returned a symbol matrix that doesn't provide a real elimination tree.
[in,out] | symbmtx | On entry, a generated symbol matrix with faxCSRBuildSymbol() for example. On exit, the patched symbol matrix with extra blocks to have a real elimination tree. |
For the cblk of the symbol matrix
Add a blok toward the father
OIMBE try lcolnum
Copy the last one
Virtual cblk
Definition at line 223 of file symbol_fax_iluk.c.
References symbol_matrix_s::bloknbr, symbol_cblk_s::bloknum, symbol_matrix_s::bloktab, symbol_matrix_s::cblknbr, symbol_matrix_s::cblktab, faxCSRClean(), faxCSRInit(), symbol_blok_s::fcblknm, symbol_cblk_s::fcolnum, symbol_blok_s::frownum, symbol_blok_s::lcblknm, and symbol_blok_s::lrownum.