PaStiX Handbook  6.3.2

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...
 

Detailed Description


Data Type Documentation

◆ symbol_faxtlok_s

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 Documentation

◆ SymbolFaxTlok

The chained column block structure.

These blocks are chained in a single linked list for block merge with blocks of left columns.

Function Documentation

◆ pastixSymbolFaxILUk()

int pastixSymbolFaxILUk ( symbol_matrix_t symbptr,
pastix_int_t  levelk,
const pastix_graph_t *  graphA,
const pastix_order_t ordeptr 
)

◆ faxCSRPatchSymbol()

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.

Parameters
[in,out]symbmtxOn 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, symbol_blok_s::lrownum, and pastix_int_t.