PaStiX Handbook  6.3.2
Schur complement routines

Functions

int pastixGetDiag (const pastix_data_t *pastix_data, void *D, pastix_int_t incD)
 Return the diagonal of the matrix. More...
 
void pastixSetSchurUnknownList (pastix_data_t *pastix_data, pastix_int_t n, const pastix_int_t *list)
 Set the list of unknowns that belongs to the schur complement. More...
 
int pastixGetSchur (const pastix_data_t *pastix_data, void *S, pastix_int_t lds)
 Return the Schur complement. More...
 

Detailed Description

Function Documentation

◆ pastixGetDiag()

int pastixGetDiag ( const pastix_data_t pastix_data,
void *  D,
pastix_int_t  incD 
)

Return the diagonal of the matrix.

The diagonal is returned in the D vector such that D[incD *i] = A(i, i)

Parameters
[in]pastix_dataThe pastix data structure of the problem solved.
[in,out]DThe pointer to the allocated vector array that will store the diagonal. D must be of size spm->nexp * incD.
[in]incDThe leading dimension of the D array.
Return values
PASTIX_SUCCESSon successful exit,
PASTIX_ERR_BADPARAMETERif one parameter is incorrect.

Definition at line 54 of file diag.c.

References coeftab_cgetdiag(), coeftab_dgetdiag(), coeftab_sgetdiag(), coeftab_zgetdiag(), pastix_data_s::iparm, IPARM_FLOAT, PASTIX_ERR_BADPARAMETER, pastix_int_t, PASTIX_SUCCESS, pastix_data_s::solvmatr, and pastix_data_s::steps.

◆ pastixSetSchurUnknownList()

void pastixSetSchurUnknownList ( pastix_data_t pastix_data,
pastix_int_t  n,
const pastix_int_t list 
)

Set the list of unknowns that belongs to the schur complement.

Parameters
[in,out]pastix_dataThe pastix data structure of the solver to store the list of Schur unknowns.
[in]nThe number of unknowns in the Schur complement.
[in]listArray of integer of size n. The list of unknowns belonging to the Schur complement with the same baseval as the associated spm.

Definition at line 50 of file schur.c.

References pastix_int_t, pastix_data_s::schur_list, and pastix_data_s::schur_n.

◆ pastixGetSchur()

int pastixGetSchur ( const pastix_data_t pastix_data,
void *  S,
pastix_int_t  lds 
)

Return the Schur complement.

The Schur complement is returned in the column major layout used by the classic linear algebra libraries such as Blas or Lapack.

Parameters
[in]pastix_dataThe pastix data structure of the problem solved.
[in,out]SArray of size spm->n -by- lds of arithmetic spm->flttype, where spm is the spm of the original problem. On exit, the array contains the Schur complement of the factorized matrix.
[in]ldsThe leading dimension of the S array.
Return values
PASTIX_SUCCESSon successful exit,
PASTIX_ERR_BADPARAMETERif one parameter is incorrect.

Definition at line 90 of file schur.c.

References coeftab_cgetschur(), coeftab_dgetschur(), coeftab_sgetschur(), coeftab_zgetschur(), pastix_data_s::inter_node_procnbr, pastix_data_s::inter_node_procnum, pastix_data_s::iparm, IPARM_FLOAT, PASTIX_ERR_BADPARAMETER, pastix_int_t, PASTIX_SUCCESS, pastix_data_s::solvmatr, and pastix_data_s::steps.