PaStiX Handbook  6.3.2
cpucblk_cschur.c File Reference
#include "common/common.h"
#include "blend/solver.h"
#include <lapacke.h>
#include "pastix_ccores.h"
#include "pastix_clrcores.h"

Go to the source code of this file.

Functions

static void cpucblk_cgetschur_lr (const SolverCblk *cblk, int upper_part, pastix_complex32_t *S, pastix_int_t lds)
 Extract a low-rank cblk panel to a dense lapack form. More...
 
static void cpucblk_cgetschur_fr (const SolverCblk *cblk, int upper_part, pastix_complex32_t *S, pastix_int_t lds)
 Extract a full-rank cblk panel to a dense lapack form. More...
 
void cpucblk_cgetschur (const SolverCblk *cblk, int upper_part, pastix_complex32_t *S, pastix_int_t lds)
 Extract a cblk panel of the Schur complement to a dense lapack form. More...
 

Detailed Description

Precision dependent routines to extract the Schur complement.

Version
6.3.2
Author
Gregoire Pichon
Mathieu Faverge
Date
2023-07-21
Generated arithmetic file
from /builds/solverstack/pastix/kernels/cpucblk_zschur.c, normal z -> c, Wed Dec 13 12:09:17 2023

Definition in file cpucblk_cschur.c.

Function Documentation

◆ cpucblk_cgetschur_lr()

static void cpucblk_cgetschur_lr ( const SolverCblk cblk,
int  upper_part,
pastix_complex32_t S,
pastix_int_t  lds 
)
inlinestatic

Extract a low-rank cblk panel to a dense lapack form.

Parameters
[in]cblkThe column block to extract in the Schur array
[in]upper_partIf true, the upper part is also extracted in S.
[in,out]SThe pointer to the top of the column of the cblk in the Schur array. On exit, the computed coefficient are copy to this array.
[in]ldsThe leading dimension of the S array.

Definition at line 46 of file cpucblk_cschur.c.

References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_cgeadd(), core_clr2ge(), solver_cblk_s::fblokptr, solver_blok_s::LRblock, pastix_int_t, PastixNoTrans, PastixTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

Referenced by cpucblk_cgetschur().

◆ cpucblk_cgetschur_fr()

static void cpucblk_cgetschur_fr ( const SolverCblk cblk,
int  upper_part,
pastix_complex32_t S,
pastix_int_t  lds 
)
inlinestatic

Extract a full-rank cblk panel to a dense lapack form.

Parameters
[in]cblkThe column block to extract in the Schur array
[in]upper_partIf true, the upper part is also extracted in S.
[in,out]SThe pointer to the top of the column of the cblk in the Schur array. On exit, the computed coefficient are copy to this array.
[in]ldsThe leading dimension of the S array.

Definition at line 116 of file cpucblk_cschur.c.

References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_cgeadd(), solver_cblk_s::fblokptr, solver_cblk_s::lcoeftab, pastix_int_t, PastixTrans, solver_cblk_s::stride, and solver_cblk_s::ucoeftab.

Referenced by cpucblk_cgetschur().