18 #include "common/common.h"
48 pastix_complex64_t *S,
57 assert( cblk->
cblktype & CBLK_COMPRESSED );
58 assert( cblk->
cblktype & CBLK_LAYOUT_2D );
60 for (; blok<lblok; blok++)
65 coefind = blok->
coefind / ncols;
74 if ( blok == cblk[0].fblokptr ) {
80 1.0, S + coefind * lds, lds );
85 S + coefind * lds, lds );
118 pastix_complex64_t *S,
125 pastix_complex64_t *lcoeftab = cblk->
lcoeftab;
126 pastix_complex64_t *ucoeftab = cblk->
ucoeftab;
127 int layout2d = ( cblk->
cblktype & CBLK_LAYOUT_2D );
129 assert( !(cblk->
cblktype & CBLK_COMPRESSED) );
131 for (; blok<lblok; blok++)
136 coefind = blok->
coefind / ncols;
144 ret = LAPACKE_zlacpy_work( LAPACK_COL_MAJOR,
'A', nrows, ncols,
145 lcoeftab + blok->
coefind, stride,
152 1.0, ucoeftab + blok->
coefind, stride,
153 1.0, S + coefind * lds, lds );
184 pastix_complex64_t *S,
187 if ( cblk->
cblktype & CBLK_COMPRESSED ) {
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.
BEGIN_C_DECLS typedef int pastix_int_t
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 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.
pastix_lrblock_t * LRblock[2]
Solver column block structure.