Go to the documentation of this file.
18 #include "common/common.h"
47 pastix_complex64_t *S, pastix_int_t lds )
55 assert( cblk->
cblktype & CBLK_COMPRESSED );
56 assert( cblk->
cblktype & CBLK_LAYOUT_2D );
58 for (; blok<lblok; blok++)
63 coefind = blok->
coefind / ncols;
72 if ( blok == cblk[0].fblokptr ) {
78 1.0, S + coefind * lds, lds );
83 S + coefind * lds, lds );
115 pastix_complex64_t *S, pastix_int_t lds )
120 pastix_int_t nrows, coefind, stride, ret;
121 pastix_complex64_t *lcoeftab = cblk->
lcoeftab;
122 pastix_complex64_t *ucoeftab = cblk->
ucoeftab;
123 int layout2d = ( cblk->
cblktype & CBLK_LAYOUT_2D );
125 assert( !(cblk->
cblktype & CBLK_COMPRESSED) );
127 for (; blok<lblok; blok++)
132 coefind = blok->
coefind / ncols;
140 ret = LAPACKE_zlacpy_work( LAPACK_COL_MAJOR,
'A', nrows, ncols,
141 lcoeftab + blok->
coefind, stride,
148 1.0, ucoeftab + blok->
coefind, stride,
149 1.0, S + coefind * lds, lds );
179 pastix_complex64_t *S, pastix_int_t lds )
181 if ( cblk->
cblktype & CBLK_COMPRESSED ) {
static pastix_int_t blok_rownbr(const SolverBlok *blok)
Compute the number of rows of a block.
static pastix_int_t cblk_colnbr(const SolverCblk *cblk)
Compute the number of columns in a column block.
Solver column block structure.
int core_zgeadd(pastix_trans_t trans, pastix_int_t M, pastix_int_t N, pastix_complex64_t alpha, const pastix_complex64_t *A, pastix_int_t LDA, pastix_complex64_t beta, pastix_complex64_t *B, pastix_int_t LDB)
Add two matrices together.
void cpucblk_zgetschur(const SolverCblk *cblk, int upper_part, pastix_complex64_t *S, pastix_int_t lds)
Extract a cblk panel of the Schur complement to a dense lapack form.
int core_zlr2ge(pastix_trans_t trans, pastix_int_t M, pastix_int_t N, const pastix_lrblock_t *Alr, pastix_complex64_t *A, pastix_int_t lda)
Convert a low rank matrix into a dense matrix.
static void cpucblk_zgetschur_lr(const SolverCblk *cblk, int upper_part, pastix_complex64_t *S, pastix_int_t lds)
Extract a low-rank cblk panel to a dense lapack form.
static void cpucblk_zgetschur_fr(const SolverCblk *cblk, int upper_part, pastix_complex64_t *S, pastix_int_t lds)
Extract a full-rank cblk panel to a dense lapack form.
pastix_lrblock_t * LRblock[2]