PaStiX Handbook
6.3.0
|
#include "common.h"
#include "cblas.h"
#include "blend/solver.h"
#include "pastix_zcores.h"
#include "kernels_trace.h"
Go to the source code of this file.
Functions | |
static void | core_zpxtf2sp (pastix_int_t n, pastix_complex64_t *A, pastix_int_t lda, pastix_int_t *nbpivots, double criterion) |
Compute the sequential static pivoting LL^t factorization of the matrix n-by-n A = L * L^t . More... | |
void | core_zpxtrfsp (pastix_int_t n, pastix_complex64_t *A, pastix_int_t lda, pastix_int_t *nbpivots, double criterion) |
Compute the block static pivoting LL^t factorization of the matrix n-by-n A = L * L^t . More... | |
int | cpucblk_zpxtrfsp1d_pxtrf (SolverMatrix *solvmtx, SolverCblk *cblk, void *dataL) |
Compute the LL^t factorization of the diagonal block in a panel. More... | |
int | cpucblk_zpxtrfsp1d_panel (SolverMatrix *solvmtx, SolverCblk *cblk, void *L) |
Compute the LL^t factorization of one panel. More... | |
int | cpucblk_zpxtrfsp1d (SolverMatrix *solvmtx, SolverCblk *cblk, pastix_complex64_t *work, pastix_int_t lwork) |
Perform the LL^t factorization of a given panel and apply all its updates. More... | |
PaStiX kernel routines for LL^t factorization.
Definition in file core_zpxtrfsp.c.
|
inlinestatic |
Compute the sequential static pivoting LL^t factorization of the matrix n-by-n A = L * L^t .
[in] | n | The number of rows and columns of the matrix A. |
[in,out] | A | The matrix A to factorize with LL^t factorization. The matrix is of size lda -by- n. |
[in] | lda | The leading dimension of the matrix A. |
[in,out] | nbpivots | Pointer to the number of piovting operations made during factorization. It is updated during this call |
[in] | criterion | Threshold use for static pivoting. If diagonal value is under this threshold, its value is replaced by the threshold and the number of pivots is incremented. |
Definition at line 66 of file core_zpxtrfsp.c.
Referenced by core_zpxtrfsp().
int cpucblk_zpxtrfsp1d_pxtrf | ( | SolverMatrix * | solvmtx, |
SolverCblk * | cblk, | ||
void * | dataL | ||
) |
Compute the LL^t factorization of the diagonal block in a panel.
[in] | solvmtx | Solver Matrix structure of the problem |
[in] | cblk | Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. |
[in,out] | dataL | The pointer to the correct representation of the lower part the data.
|
Definition at line 212 of file core_zpxtrfsp.c.
References solver_cblk_s::cblktype, core_zpxtrfsp(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, solver_cblk_s::lcolnum, solver_blok_s::lrownum, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, solver_cblk_s::stride, and pastix_lrblock_s::u.
Referenced by cpucblk_zpxtrfsp1d_panel(), and fct_blok_zpxtrfsp_cpu().
int cpucblk_zpxtrfsp1d_panel | ( | SolverMatrix * | solvmtx, |
SolverCblk * | cblk, | ||
void * | L | ||
) |
Compute the LL^t factorization of one panel.
[in] | solvmtx | Solver Matrix structure of the problem |
[in] | cblk | Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. |
[in,out] | L | The pointer to the correct representation of the lower part the data.
|
Definition at line 284 of file core_zpxtrfsp.c.
References cpucblk_zpxtrfsp1d_pxtrf(), cpucblk_ztrsmsp(), PastixLower, PastixNonUnit, PastixRight, and PastixTrans.
Referenced by cpucblk_zpxtrfsp1d().
int cpucblk_zpxtrfsp1d | ( | SolverMatrix * | solvmtx, |
SolverCblk * | cblk, | ||
pastix_complex64_t * | work, | ||
pastix_int_t | lwork | ||
) |
Perform the LL^t factorization of a given panel and apply all its updates.
[in] | solvmtx | Solver Matrix structure of the problem |
[in] | cblk | Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. |
[in] | work | Temporary memory buffer. |
[in] | lwork | Temporary workspace dimension. |
Definition at line 326 of file core_zpxtrfsp.c.
References cblk_getdataL(), solver_cblk_s::cblktype, cpucblk_zalloc(), cpucblk_zgemmsp(), cpucblk_zpxtrfsp1d_panel(), cpucblk_zrelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, PastixLCoef, and PastixTrans.
Referenced by sequential_zpxtrf(), thread_zpxtrf_dynamic(), and thread_zpxtrf_static().