PaStiX Handbook
6.4.0
|
Functions | |
int | pastixGetDiag (const pastix_data_t *pastix_data, void *D, pastix_int_t incD) |
Return the diagonal of the matrix. More... | |
void | pastixIsolateUnknowns (pastix_data_t *pastix_data, pastix_int_t n, const pastix_int_t *list) |
Set a list of unknowns that needs to be isolated and pushed at the end of the ordering before the Schur unknowns if any. 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... | |
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)
[in] | pastix_data | The pastix data structure of the problem solved. |
[in,out] | D | The pointer to the allocated vector array that will store the diagonal. D must be of size spm->nexp * incD. |
[in] | incD | The leading dimension of the D array. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if 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.
void pastixIsolateUnknowns | ( | pastix_data_t * | pastix_data, |
pastix_int_t | n, | ||
const pastix_int_t * | list | ||
) |
Set a list of unknowns that needs to be isolated and pushed at the end of the ordering before the Schur unknowns if any.
Remark: This is usually required when some unknowns are disconnected or zeroes appear on the diagonal.
[in,out] | pastix_data | The pastix data structure of the solver to store the list of unknowns. |
[in] | n | The number of unknowns hat needs to be isolated. |
[in] | list | Array of integer of size n. The list of unknowns to isolate. |
Definition at line 52 of file schur.c.
References pastix_int_t, pastix_data_s::zeros_list, and pastix_data_s::zeros_n.
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.
[in,out] | pastix_data | The pastix data structure of the solver to store the list of Schur unknowns. |
[in] | n | The number of unknowns in the Schur complement. |
[in] | list | Array 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 84 of file schur.c.
References pastix_int_t, pastix_data_s::schur_list, and pastix_data_s::schur_n.
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.
[in] | pastix_data | The pastix data structure of the problem solved. |
[in,out] | S | Array 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] | lds | The leading dimension of the S array. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if one parameter is incorrect. |
Definition at line 124 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.