PaStiX Handbook  6.4.0
Symbolic internal function documentation

Modules

 Drawing
 
 Symbolic factorization
 
 CSR structure
 
 Reordering
 
 Time/Flops costs
 

Functions

static void symbol_init_adddofs (const pastix_graph_t *graph, const pastix_order_t *order, symbol_matrix_t *symbptr)
 Add a dof array to the symbol matrix if any. More...
 
static pastix_int_t symbol_expand_find_schurcblk (const symbol_matrix_t *symbptr)
 Compute the index of the first cblk belonging to the Schur complement. More...
 
static void symbol_expand_var (symbol_matrix_t *symbptr)
 Expand the symbol matrix structure when the dof are variadic. More...
 
static void symbol_expand_fix (symbol_matrix_t *symbptr)
 Expand the symbol matrix structure when the dof are constant. More...
 

Detailed Description

Function Documentation

◆ symbol_init_adddofs()

static void symbol_init_adddofs ( const pastix_graph_t *  graph,
const pastix_order_t order,
symbol_matrix_t symbptr 
)
inlinestatic

Add a dof array to the symbol matrix if any.

If the dof parameter is variadic, then a permuted version of the initial dof array is constructed to match the symbol matrix that is working the permuted matrix A.

Parameters
[in]graphThe original graph of the matrix
[in]orderThe ordering structure describing the permutation of the unknowns in the compressed form.
[in,out]symbptrThe symbol structure to which dof array must be added.

Definition at line 50 of file symbol.c.

References pastix_order_s::baseval, symbol_matrix_s::baseval, symbol_matrix_s::dof, symbol_matrix_s::dofs, pastix_int_t, and pastix_order_s::peritab.

Referenced by pastixSymbolInit().

◆ symbol_expand_find_schurcblk()

static pastix_int_t symbol_expand_find_schurcblk ( const symbol_matrix_t symbptr)
inlinestatic

Compute the index of the first cblk belonging to the Schur complement.

Parameters
[in,out]symbptrThe symbol structure pointer in which to find the schur.
Returns
The index of the first cblk belonging to the Schur complement.

Definition at line 38 of file symbol_expand.c.

References symbol_matrix_s::cblknbr, symbol_matrix_s::cblktab, symbol_cblk_s::fcolnum, and symbol_matrix_s::schurfcol.

Referenced by symbol_expand_var().

◆ symbol_expand_var()

static void symbol_expand_var ( symbol_matrix_t symbptr)
inlinestatic

Expand the symbol matrix structure when the dof are variadic.

Parameters
[in,out]symbptrThe symbol structure to expand. On entry, the information is based on the compressed graph. On exit, the information are expanded to the size of the expanded matrix.

Definition at line 72 of file symbol_expand.c.

References symbol_matrix_s::baseval, symbol_matrix_s::bloknbr, symbol_matrix_s::bloktab, symbol_matrix_s::cblknbr, symbol_matrix_s::cblktab, symbol_matrix_s::dofs, symbol_cblk_s::fcolnum, symbol_blok_s::frownum, symbol_cblk_s::lcolnum, symbol_blok_s::lrownum, symbol_matrix_s::nodenbr, pastix_int_t, symbol_matrix_s::schurfcol, and symbol_expand_find_schurcblk().

Referenced by pastixSymbolExpand().

◆ symbol_expand_fix()

static void symbol_expand_fix ( symbol_matrix_t symbptr)
inlinestatic

Expand the symbol matrix structure when the dof are constant.

Parameters
[in,out]symbptrThe symbol structure to expand. On entry, the information is based on the compressed graph. On exit, the information are expanded to the size of the expanded matrix.

Definition at line 130 of file symbol_expand.c.

References symbol_matrix_s::bloknbr, symbol_matrix_s::bloktab, symbol_matrix_s::cblknbr, symbol_matrix_s::cblktab, symbol_matrix_s::dof, symbol_cblk_s::fcolnum, symbol_blok_s::frownum, symbol_cblk_s::lcolnum, symbol_blok_s::lrownum, symbol_matrix_s::nodenbr, pastix_int_t, and symbol_matrix_s::schurfcol.

Referenced by pastixSymbolExpand().