PaStiX Handbook
6.4.0

Data Structures  
struct  core_slrmm_s 
Structure to store all the parameters of the core_slrmm family functions. More...  
struct  core_zlrmm_s 
Structure to store all the parameters of the core_zlrmm family functions. More...  
struct  core_dlrmm_s 
Structure to store all the parameters of the core_dlrmm family functions. More...  
struct  core_clrmm_s 
Structure to store all the parameters of the core_clrmm family functions. More...  
Functions  
pastix_fixdbl_t  core_slrmm (core_slrmm_t *params) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure. More...  
pastix_fixdbl_t  core_zlrmm (core_zlrmm_t *params) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure. More...  
pastix_fixdbl_t  core_dlrmm (core_dlrmm_t *params) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure. More...  
pastix_fixdbl_t  core_clrmm (core_clrmm_t *params) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure. More...  
PastixFloat LRMM lowrank kernels  
typedef struct core_slrmm_s  core_slrmm_t 
Structure to store all the parameters of the core_slrmm family functions.  
static float *  core_slrmm_getws (core_slrmm_t *params, ssize_t newsize) 
Function to get a workspace pointer if space is available in the one provided. More...  
#define  PASTE_CORE_SLRMM_PARAMS(_a_) 
Initialize all the parameters of the core_slrmm family functions to ease the access. More...  
#define  PASTE_CORE_SLRMM_VOID 
Void all the parameters of the core_slrmm family functions to silent warnings. More...  
PastixComplex64 LRMM lowrank kernels  
typedef struct core_zlrmm_s  core_zlrmm_t 
Structure to store all the parameters of the core_zlrmm family functions.  
static pastix_complex64_t *  core_zlrmm_getws (core_zlrmm_t *params, ssize_t newsize) 
Function to get a workspace pointer if space is available in the one provided. More...  
#define  PASTE_CORE_ZLRMM_PARAMS(_a_) 
Initialize all the parameters of the core_zlrmm family functions to ease the access. More...  
#define  PASTE_CORE_ZLRMM_VOID 
Void all the parameters of the core_zlrmm family functions to silent warnings. More...  
PastixDouble LRMM lowrank kernels  
typedef struct core_dlrmm_s  core_dlrmm_t 
Structure to store all the parameters of the core_dlrmm family functions.  
static double *  core_dlrmm_getws (core_dlrmm_t *params, ssize_t newsize) 
Function to get a workspace pointer if space is available in the one provided. More...  
#define  PASTE_CORE_DLRMM_PARAMS(_a_) 
Initialize all the parameters of the core_dlrmm family functions to ease the access. More...  
#define  PASTE_CORE_DLRMM_VOID 
Void all the parameters of the core_dlrmm family functions to silent warnings. More...  
PastixComplex32 LRMM lowrank kernels  
typedef struct core_clrmm_s  core_clrmm_t 
Structure to store all the parameters of the core_clrmm family functions.  
static pastix_complex32_t *  core_clrmm_getws (core_clrmm_t *params, ssize_t newsize) 
Function to get a workspace pointer if space is available in the one provided. More...  
#define  PASTE_CORE_CLRMM_PARAMS(_a_) 
Initialize all the parameters of the core_clrmm family functions to ease the access. More...  
#define  PASTE_CORE_CLRMM_VOID 
Void all the parameters of the core_clrmm family functions to silent warnings. More...  
update_fr Functions to perform the update on a fullrank matrix  
pastix_fixdbl_t  core_sfrfr2fr (core_slrmm_t *params) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C. More...  
pastix_fixdbl_t  core_sfrlr2fr (core_slrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank. More...  
pastix_fixdbl_t  core_slrfr2fr (core_slrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank. More...  
pastix_fixdbl_t  core_slrlr2fr (core_slrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank. More...  
update_lr Functions to prepare the AB product for an update on a lowrank matrix  
pastix_fixdbl_t  core_sfrfr2lr (core_slrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Kmax) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank. More...  
pastix_fixdbl_t  core_sfrlr2lr (core_slrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Brkmin) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank. More...  
pastix_fixdbl_t  core_slrfr2lr (core_slrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Arkmin) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank. More...  
pastix_fixdbl_t  core_slrlr2lr (core_slrmm_t *params, pastix_lrblock_t *AB, int *infomask) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank. More...  
add_lr Functions to add the AB contribution in a lowrank format to any C matrix  
pastix_fixdbl_t  core_slradd (core_slrmm_t *params, const pastix_lrblock_t *AB, pastix_trans_t transV, int infomask) 
Perform the addition of two lowrank matrices. More...  
update_fr Functions to perform the update on a fullrank matrix  
pastix_fixdbl_t  core_zfrfr2fr (core_zlrmm_t *params) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C. More...  
pastix_fixdbl_t  core_zfrlr2fr (core_zlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank. More...  
pastix_fixdbl_t  core_zlrfr2fr (core_zlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank. More...  
pastix_fixdbl_t  core_zlrlr2fr (core_zlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank. More...  
update_lr Functions to prepare the AB product for an update on a lowrank matrix  
pastix_fixdbl_t  core_zfrfr2lr (core_zlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Kmax) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank. More...  
pastix_fixdbl_t  core_zfrlr2lr (core_zlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Brkmin) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank. More...  
pastix_fixdbl_t  core_zlrfr2lr (core_zlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Arkmin) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank. More...  
pastix_fixdbl_t  core_zlrlr2lr (core_zlrmm_t *params, pastix_lrblock_t *AB, int *infomask) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank. More...  
add_lr Functions to add the AB contribution in a lowrank format to any C matrix  
pastix_fixdbl_t  core_zlradd (core_zlrmm_t *params, const pastix_lrblock_t *AB, pastix_trans_t transV, int infomask) 
Perform the addition of two lowrank matrices. More...  
update_fr Functions to perform the update on a fullrank matrix  
pastix_fixdbl_t  core_dfrfr2fr (core_dlrmm_t *params) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C. More...  
pastix_fixdbl_t  core_dfrlr2fr (core_dlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank. More...  
pastix_fixdbl_t  core_dlrfr2fr (core_dlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank. More...  
pastix_fixdbl_t  core_dlrlr2fr (core_dlrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank. More...  
update_lr Functions to prepare the AB product for an update on a lowrank matrix  
pastix_fixdbl_t  core_dfrfr2lr (core_dlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Kmax) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank. More...  
pastix_fixdbl_t  core_dfrlr2lr (core_dlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Brkmin) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank. More...  
pastix_fixdbl_t  core_dlrfr2lr (core_dlrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Arkmin) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank. More...  
pastix_fixdbl_t  core_dlrlr2lr (core_dlrmm_t *params, pastix_lrblock_t *AB, int *infomask) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank. More...  
add_lr Functions to add the AB contribution in a lowrank format to any C matrix  
pastix_fixdbl_t  core_dlradd (core_dlrmm_t *params, const pastix_lrblock_t *AB, pastix_trans_t transV, int infomask) 
Perform the addition of two lowrank matrices. More...  
update_fr Functions to perform the update on a fullrank matrix  
pastix_fixdbl_t  core_cfrfr2fr (core_clrmm_t *params) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C. More...  
pastix_fixdbl_t  core_cfrlr2fr (core_clrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank. More...  
pastix_fixdbl_t  core_clrfr2fr (core_clrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank. More...  
pastix_fixdbl_t  core_clrlr2fr (core_clrmm_t *params) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank. More...  
update_lr Functions to prepare the AB product for an update on a lowrank matrix  
pastix_fixdbl_t  core_cfrfr2lr (core_clrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Kmax) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank. More...  
pastix_fixdbl_t  core_cfrlr2lr (core_clrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Brkmin) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank. More...  
pastix_fixdbl_t  core_clrfr2lr (core_clrmm_t *params, pastix_lrblock_t *AB, int *infomask, pastix_int_t Arkmin) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank. More...  
pastix_fixdbl_t  core_clrlr2lr (core_clrmm_t *params, pastix_lrblock_t *AB, int *infomask) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank. More...  
add_lr Functions to add the AB contribution in a lowrank format to any C matrix  
pastix_fixdbl_t  core_clradd (core_clrmm_t *params, const pastix_lrblock_t *AB, pastix_trans_t transV, int infomask) 
Perform the addition of two lowrank matrices. More...  
This are the kernels to compute the lowrank updates
struct core_slrmm_s 
Structure to store all the parameters of the core_slrmm family functions.
Definition at line 80 of file pastix_slrcores.h.
Data Fields  

const pastix_lr_t *  lowrank 
The lowrank structure 
pastix_trans_t  transA 
Specify op(A) and is equal to PastixNoTrans, PastixTrans, or PastixTrans 
pastix_trans_t  transB 
Specify op(B) and is equal to PastixNoTrans, PastixTrans, or PastixTrans 
pastix_int_t  M 
Number of rows of the A matrix 
pastix_int_t  N 
Number of columns of the B matrix 
pastix_int_t  K 
Number of columns of the A matrix (= number of rows of the B matrix) 
pastix_int_t  Cm 
Number of rows of the C matrix that receives the AB contribution 
pastix_int_t  Cn 
Number of columns of the C matrix that receives the AB contribution 
pastix_int_t  offx 
Horizontal offsets of the AB product in the C matrix 
pastix_int_t  offy 
Vertical offsets of the AB product in the C matrix 
float  alpha 
The alpha factor 
const pastix_lrblock_t *  A 
The A matrix described in a lowrank structure 
const pastix_lrblock_t *  B 
The B matrix described in a lowrank structure 
float  beta 
The beta factor 
pastix_lrblock_t *  C 
The C matrix described in a lowrank structure 
float *  work 
The pointer to an available workspace 
pastix_int_t  lwork 
The size of the given workspace 
pastix_int_t  lwused 
The size of the workspace that is already used 
pastix_atomic_lock_t *  lock 
The lock to protect the concurrent accesses on the C matrix 
struct core_zlrmm_s 
Structure to store all the parameters of the core_zlrmm family functions.
Definition at line 80 of file pastix_zlrcores.h.
Data Fields  

const pastix_lr_t *  lowrank 
The lowrank structure 
pastix_trans_t  transA 
Specify op(A) and is equal to PastixNoTrans, PastixTrans, or PastixConjTrans 
pastix_trans_t  transB 
Specify op(B) and is equal to PastixNoTrans, PastixTrans, or PastixConjTrans 
pastix_int_t  M 
Number of rows of the A matrix 
pastix_int_t  N 
Number of columns of the B matrix 
pastix_int_t  K 
Number of columns of the A matrix (= number of rows of the B matrix) 
pastix_int_t  Cm 
Number of rows of the C matrix that receives the AB contribution 
pastix_int_t  Cn 
Number of columns of the C matrix that receives the AB contribution 
pastix_int_t  offx 
Horizontal offsets of the AB product in the C matrix 
pastix_int_t  offy 
Vertical offsets of the AB product in the C matrix 
pastix_complex64_t  alpha 
The alpha factor 
const pastix_lrblock_t *  A 
The A matrix described in a lowrank structure 
const pastix_lrblock_t *  B 
The B matrix described in a lowrank structure 
pastix_complex64_t  beta 
The beta factor 
pastix_lrblock_t *  C 
The C matrix described in a lowrank structure 
pastix_complex64_t *  work 
The pointer to an available workspace 
pastix_int_t  lwork 
The size of the given workspace 
pastix_int_t  lwused 
The size of the workspace that is already used 
pastix_atomic_lock_t *  lock 
The lock to protect the concurrent accesses on the C matrix 
struct core_dlrmm_s 
Structure to store all the parameters of the core_dlrmm family functions.
Definition at line 80 of file pastix_dlrcores.h.
Data Fields  

const pastix_lr_t *  lowrank 
The lowrank structure 
pastix_trans_t  transA 
Specify op(A) and is equal to PastixNoTrans, PastixTrans, or PastixTrans 
pastix_trans_t  transB 
Specify op(B) and is equal to PastixNoTrans, PastixTrans, or PastixTrans 
pastix_int_t  M 
Number of rows of the A matrix 
pastix_int_t  N 
Number of columns of the B matrix 
pastix_int_t  K 
Number of columns of the A matrix (= number of rows of the B matrix) 
pastix_int_t  Cm 
Number of rows of the C matrix that receives the AB contribution 
pastix_int_t  Cn 
Number of columns of the C matrix that receives the AB contribution 
pastix_int_t  offx 
Horizontal offsets of the AB product in the C matrix 
pastix_int_t  offy 
Vertical offsets of the AB product in the C matrix 
double  alpha 
The alpha factor 
const pastix_lrblock_t *  A 
The A matrix described in a lowrank structure 
const pastix_lrblock_t *  B 
The B matrix described in a lowrank structure 
double  beta 
The beta factor 
pastix_lrblock_t *  C 
The C matrix described in a lowrank structure 
double *  work 
The pointer to an available workspace 
pastix_int_t  lwork 
The size of the given workspace 
pastix_int_t  lwused 
The size of the workspace that is already used 
pastix_atomic_lock_t *  lock 
The lock to protect the concurrent accesses on the C matrix 
struct core_clrmm_s 
Structure to store all the parameters of the core_clrmm family functions.
Definition at line 80 of file pastix_clrcores.h.
Data Fields  

const pastix_lr_t *  lowrank 
The lowrank structure 
pastix_trans_t  transA 
Specify op(A) and is equal to PastixNoTrans, PastixTrans, or PastixConjTrans 
pastix_trans_t  transB 
Specify op(B) and is equal to PastixNoTrans, PastixTrans, or PastixConjTrans 
pastix_int_t  M 
Number of rows of the A matrix 
pastix_int_t  N 
Number of columns of the B matrix 
pastix_int_t  K 
Number of columns of the A matrix (= number of rows of the B matrix) 
pastix_int_t  Cm 
Number of rows of the C matrix that receives the AB contribution 
pastix_int_t  Cn 
Number of columns of the C matrix that receives the AB contribution 
pastix_int_t  offx 
Horizontal offsets of the AB product in the C matrix 
pastix_int_t  offy 
Vertical offsets of the AB product in the C matrix 
pastix_complex32_t  alpha 
The alpha factor 
const pastix_lrblock_t *  A 
The A matrix described in a lowrank structure 
const pastix_lrblock_t *  B 
The B matrix described in a lowrank structure 
pastix_complex32_t  beta 
The beta factor 
pastix_lrblock_t *  C 
The C matrix described in a lowrank structure 
pastix_complex32_t *  work 
The pointer to an available workspace 
pastix_int_t  lwork 
The size of the given workspace 
pastix_int_t  lwused 
The size of the workspace that is already used 
pastix_atomic_lock_t *  lock 
The lock to protect the concurrent accesses on the C matrix 
#define PASTE_CORE_SLRMM_PARAMS  (  _a_  ) 
Initialize all the parameters of the core_slrmm family functions to ease the access.
Definition at line 105 of file pastix_slrcores.h.
#define PASTE_CORE_SLRMM_VOID 
Void all the parameters of the core_slrmm family functions to silent warnings.
Definition at line 128 of file pastix_slrcores.h.
#define PASTE_CORE_ZLRMM_PARAMS  (  _a_  ) 
Initialize all the parameters of the core_zlrmm family functions to ease the access.
Definition at line 105 of file pastix_zlrcores.h.
#define PASTE_CORE_ZLRMM_VOID 
Void all the parameters of the core_zlrmm family functions to silent warnings.
Definition at line 128 of file pastix_zlrcores.h.
#define PASTE_CORE_DLRMM_PARAMS  (  _a_  ) 
Initialize all the parameters of the core_dlrmm family functions to ease the access.
Definition at line 105 of file pastix_dlrcores.h.
#define PASTE_CORE_DLRMM_VOID 
Void all the parameters of the core_dlrmm family functions to silent warnings.
Definition at line 128 of file pastix_dlrcores.h.
#define PASTE_CORE_CLRMM_PARAMS  (  _a_  ) 
Initialize all the parameters of the core_clrmm family functions to ease the access.
Definition at line 105 of file pastix_clrcores.h.
#define PASTE_CORE_CLRMM_VOID 
Void all the parameters of the core_clrmm family functions to silent warnings.
Definition at line 128 of file pastix_clrcores.h.

inlinestatic 
Function to get a workspace pointer if space is available in the one provided.
[in,out]  params  The parameters structure for core_slrmm family functions 
[in]  newsize  The required workspace size in number of elements 
Definition at line 155 of file pastix_slrcores.h.
References core_slrmm_s::lwork, core_slrmm_s::lwused, and core_slrmm_s::work.
Referenced by core_sfrfr2lr(), core_sfrlr2fr(), core_sfrlr2lr(), core_slr2lr(), core_slr2null(), core_slrfr2fr(), core_slrfr2lr(), and core_slrlr2lr().
pastix_fixdbl_t core_sfrfr2fr  (  core_slrmm_t *  params  ) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 48 of file core_sxx2fr.c.
References PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_sfrlr2fr  (  core_slrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 101 of file core_sxx2fr.c.
References core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_slrfr2fr  (  core_slrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 202 of file core_sxx2fr.c.
References core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_slrlr2fr  (  core_slrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 304 of file core_sxx2fr.c.
References core_slrlr2lr(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_sfrfr2lr  (  core_slrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Kmax  
) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_sxx2lr() functions.

[in]  Kmax  The maximum K value for which the AB product is contructed as AB.u = A, and AB.v = B 
Definition at line 66 of file core_sxx2lr.c.
References core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_sfrlr2lr  (  core_slrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Brkmin  
) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_sxx2lr() functions.

[in]  Brkmin  Threshold for which B>rk is considered as the final rank of AB 
Definition at line 152 of file core_sxx2lr.c.
References core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_slrfr2lr  (  core_slrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Arkmin  
) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_sxx2lr() functions.

[in]  Arkmin  Threshold for which A>rk is considered as the final rank of AB 
Definition at line 298 of file core_sxx2lr.c.
References core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_slrlr2lr  (  core_slrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask  
) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_sxx2lr() functions.

The rank of AB is smaller than min(rankA, rankB)
Definition at line 442 of file core_sxx2lr.c.
References core_slrfree(), core_slrmm_getws(), PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by core_slrlr2fr().
pastix_fixdbl_t core_slradd  (  core_slrmm_t *  params, 
const pastix_lrblock_t *  A,  
pastix_trans_t  transV,  
int  infomask  
) 
Perform the addition of two lowrank matrices.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the addition of C and A aligned with its own dimensions. 
[in]  A  The lowrank structure of the A matrix to add to C. 
[in]  transV  Specify if A>v is stored normally or transposed.

[in]  infomask  Mask of informations returned by the core_sxx2lr() functions. If CORE_LRMM_ORTHOU is set, then A.u is orthogonal, otherwise an orthogonalization step is added before adding it to C. 
Definition at line 383 of file core_slr2xx.c.
References core_slrmm_s::C, core_slr2fr(), core_slr2lr(), core_slr2null(), core_slrmm_s::lock, pastix_lrblock_s::rk, and pastix_lrblock_s::rkmax.
Referenced by cpublok_sadd_frlr(), cpublok_sadd_lrlr(), cpucblk_sadd_frlr(), and cpucblk_sadd_lrlr().
pastix_fixdbl_t core_slrmm  (  core_slrmm_t *  params  ) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure.
This function considers the generic matrix matrix product added to a third matric C. All matrices are either null, lowrank or fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. 
Definition at line 278 of file core_slrmm.c.
References core_slrdbg_check_orthogonality(), core_slrmm_Cfr(), core_slrmm_Clr(), core_slrmm_Cnull(), core_slrmm_s::lwused, PASTE_CORE_SLRMM_PARAMS, PASTE_CORE_SLRMM_VOID, PastixCompressMethodSVD, PastixNoTrans, and core_slrmm_s::work.
Referenced by core_sgemmsp_block_frlr(), core_sgemmsp_block_lrlr(), core_sgemmsp_fulllr(), core_sgemmsp_lr(), and core_sgemmsp_lrfr().

inlinestatic 
Function to get a workspace pointer if space is available in the one provided.
[in,out]  params  The parameters structure for core_zlrmm family functions 
[in]  newsize  The required workspace size in number of elements 
Definition at line 155 of file pastix_zlrcores.h.
References core_zlrmm_s::lwork, core_zlrmm_s::lwused, and core_zlrmm_s::work.
Referenced by core_zfrfr2lr(), core_zfrlr2fr(), core_zfrlr2lr(), core_zlr2lr(), core_zlr2null(), core_zlrfr2fr(), core_zlrfr2lr(), and core_zlrlr2lr().
pastix_fixdbl_t core_zfrfr2fr  (  core_zlrmm_t *  params  ) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 48 of file core_zxx2fr.c.
References PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_zfrlr2fr  (  core_zlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 101 of file core_zxx2fr.c.
References core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_zlrfr2fr  (  core_zlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 202 of file core_zxx2fr.c.
References core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_zlrlr2fr  (  core_zlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 304 of file core_zxx2fr.c.
References core_zlrlr2lr(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_zfrfr2lr  (  core_zlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Kmax  
) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_zxx2lr() functions.

[in]  Kmax  The maximum K value for which the AB product is contructed as AB.u = A, and AB.v = B 
Definition at line 66 of file core_zxx2lr.c.
References core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_zfrlr2lr  (  core_zlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Brkmin  
) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_zxx2lr() functions.

[in]  Brkmin  Threshold for which B>rk is considered as the final rank of AB 
Definition at line 152 of file core_zxx2lr.c.
References core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_zlrfr2lr  (  core_zlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Arkmin  
) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_zxx2lr() functions.

[in]  Arkmin  Threshold for which A>rk is considered as the final rank of AB 
Definition at line 298 of file core_zxx2lr.c.
References core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_zlrlr2lr  (  core_zlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask  
) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_zxx2lr() functions.

The rank of AB is smaller than min(rankA, rankB)
Definition at line 442 of file core_zxx2lr.c.
References core_zlrfree(), core_zlrmm_getws(), PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by core_zlrlr2fr().
pastix_fixdbl_t core_zlradd  (  core_zlrmm_t *  params, 
const pastix_lrblock_t *  A,  
pastix_trans_t  transV,  
int  infomask  
) 
Perform the addition of two lowrank matrices.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the addition of C and A aligned with its own dimensions. 
[in]  A  The lowrank structure of the A matrix to add to C. 
[in]  transV  Specify if A>v is stored normally or transposed.

[in]  infomask  Mask of informations returned by the core_zxx2lr() functions. If CORE_LRMM_ORTHOU is set, then A.u is orthogonal, otherwise an orthogonalization step is added before adding it to C. 
Definition at line 383 of file core_zlr2xx.c.
References core_zlrmm_s::C, core_zlr2fr(), core_zlr2lr(), core_zlr2null(), core_zlrmm_s::lock, pastix_lrblock_s::rk, and pastix_lrblock_s::rkmax.
Referenced by cpublok_zadd_frlr(), cpublok_zadd_lrlr(), cpucblk_zadd_frlr(), and cpucblk_zadd_lrlr().
pastix_fixdbl_t core_zlrmm  (  core_zlrmm_t *  params  ) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure.
This function considers the generic matrix matrix product added to a third matric C. All matrices are either null, lowrank or fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. 
Definition at line 278 of file core_zlrmm.c.
References core_zlrdbg_check_orthogonality(), core_zlrmm_Cfr(), core_zlrmm_Clr(), core_zlrmm_Cnull(), core_zlrmm_s::lwused, PASTE_CORE_ZLRMM_PARAMS, PASTE_CORE_ZLRMM_VOID, PastixCompressMethodSVD, PastixNoTrans, and core_zlrmm_s::work.
Referenced by core_zgemmsp_block_frlr(), core_zgemmsp_block_lrlr(), core_zgemmsp_fulllr(), core_zgemmsp_lr(), and core_zgemmsp_lrfr().

inlinestatic 
Function to get a workspace pointer if space is available in the one provided.
[in,out]  params  The parameters structure for core_dlrmm family functions 
[in]  newsize  The required workspace size in number of elements 
Definition at line 155 of file pastix_dlrcores.h.
References core_dlrmm_s::lwork, core_dlrmm_s::lwused, and core_dlrmm_s::work.
Referenced by core_dfrfr2lr(), core_dfrlr2fr(), core_dfrlr2lr(), core_dlr2lr(), core_dlr2null(), core_dlrfr2fr(), core_dlrfr2lr(), and core_dlrlr2lr().
pastix_fixdbl_t core_dfrfr2fr  (  core_dlrmm_t *  params  ) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 48 of file core_dxx2fr.c.
References PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_dfrlr2fr  (  core_dlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 101 of file core_dxx2fr.c.
References core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_dlrfr2fr  (  core_dlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 202 of file core_dxx2fr.c.
References core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_dlrlr2fr  (  core_dlrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 304 of file core_dxx2fr.c.
References core_dlrlr2lr(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_dfrfr2lr  (  core_dlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Kmax  
) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_dxx2lr() functions.

[in]  Kmax  The maximum K value for which the AB product is contructed as AB.u = A, and AB.v = B 
Definition at line 66 of file core_dxx2lr.c.
References core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_dfrlr2lr  (  core_dlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Brkmin  
) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_dxx2lr() functions.

[in]  Brkmin  Threshold for which B>rk is considered as the final rank of AB 
Definition at line 152 of file core_dxx2lr.c.
References core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_dlrfr2lr  (  core_dlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Arkmin  
) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_dxx2lr() functions.

[in]  Arkmin  Threshold for which A>rk is considered as the final rank of AB 
Definition at line 298 of file core_dxx2lr.c.
References core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_dlrlr2lr  (  core_dlrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask  
) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_dxx2lr() functions.

The rank of AB is smaller than min(rankA, rankB)
Definition at line 442 of file core_dxx2lr.c.
References core_dlrfree(), core_dlrmm_getws(), PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by core_dlrlr2fr().
pastix_fixdbl_t core_dlradd  (  core_dlrmm_t *  params, 
const pastix_lrblock_t *  A,  
pastix_trans_t  transV,  
int  infomask  
) 
Perform the addition of two lowrank matrices.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the addition of C and A aligned with its own dimensions. 
[in]  A  The lowrank structure of the A matrix to add to C. 
[in]  transV  Specify if A>v is stored normally or transposed.

[in]  infomask  Mask of informations returned by the core_dxx2lr() functions. If CORE_LRMM_ORTHOU is set, then A.u is orthogonal, otherwise an orthogonalization step is added before adding it to C. 
Definition at line 383 of file core_dlr2xx.c.
References core_dlrmm_s::C, core_dlr2fr(), core_dlr2lr(), core_dlr2null(), core_dlrmm_s::lock, pastix_lrblock_s::rk, and pastix_lrblock_s::rkmax.
Referenced by cpublok_dadd_frlr(), cpublok_dadd_lrlr(), cpucblk_dadd_frlr(), and cpucblk_dadd_lrlr().
pastix_fixdbl_t core_dlrmm  (  core_dlrmm_t *  params  ) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure.
This function considers the generic matrix matrix product added to a third matric C. All matrices are either null, lowrank or fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. 
Definition at line 278 of file core_dlrmm.c.
References core_dlrdbg_check_orthogonality(), core_dlrmm_Cfr(), core_dlrmm_Clr(), core_dlrmm_Cnull(), core_dlrmm_s::lwused, PASTE_CORE_DLRMM_PARAMS, PASTE_CORE_DLRMM_VOID, PastixCompressMethodSVD, PastixNoTrans, and core_dlrmm_s::work.
Referenced by core_dgemmsp_block_frlr(), core_dgemmsp_block_lrlr(), core_dgemmsp_fulllr(), core_dgemmsp_lr(), and core_dgemmsp_lrfr().

inlinestatic 
Function to get a workspace pointer if space is available in the one provided.
[in,out]  params  The parameters structure for core_clrmm family functions 
[in]  newsize  The required workspace size in number of elements 
Definition at line 155 of file pastix_clrcores.h.
References core_clrmm_s::lwork, core_clrmm_s::lwused, and core_clrmm_s::work.
Referenced by core_cfrfr2lr(), core_cfrlr2fr(), core_cfrlr2lr(), core_clr2lr(), core_clr2null(), core_clrfr2fr(), core_clrfr2lr(), and core_clrlr2lr().
pastix_fixdbl_t core_cfrfr2fr  (  core_clrmm_t *  params  ) 
Perform the fullrank operation C = alpha * op(A) * op(B) + beta C.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 48 of file core_cxx2fr.c.
References PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_cfrlr2fr  (  core_clrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and C fullrank and B lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 101 of file core_cxx2fr.c.
References core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_clrfr2fr  (  core_clrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with B and C fullrank and A lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 202 of file core_cxx2fr.c.
References core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, and PastixNoTrans.
pastix_fixdbl_t core_clrlr2fr  (  core_clrmm_t *  params  ) 
Perform the operation C = alpha * op(A) * op(B) + beta C, with A and B lowrank and C fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
Definition at line 304 of file core_cxx2fr.c.
References core_clrlr2lr(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_cfrfr2lr  (  core_clrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Kmax  
) 
Perform the operation AB = op(A) * op(B), with A and B fullrank and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_cxx2lr() functions.

[in]  Kmax  The maximum K value for which the AB product is contructed as AB.u = A, and AB.v = B 
Definition at line 66 of file core_cxx2lr.c.
References core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_cfrlr2lr  (  core_clrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Brkmin  
) 
Perform the operation AB = op(A) * op(B), with A fullrank and B and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_cxx2lr() functions.

[in]  Brkmin  Threshold for which B>rk is considered as the final rank of AB 
Definition at line 152 of file core_cxx2lr.c.
References core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_clrfr2lr  (  core_clrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask,  
pastix_int_t  Arkmin  
) 
Perform the operation AB = op(A) * op(B), with B fullrank and A and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_cxx2lr() functions.

[in]  Arkmin  Threshold for which A>rk is considered as the final rank of AB 
Definition at line 298 of file core_cxx2lr.c.
References core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
pastix_fixdbl_t core_clrlr2lr  (  core_clrmm_t *  params, 
pastix_lrblock_t *  AB,  
int *  infomask  
) 
Perform the operation AB = op(A) * op(B), with A, B, and AB lowrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the product AB aligned with its own dimensions. 
[in,out]  AB  The lowrank structure of the AB matrix in which to store the AB product. 
[in,out]  infomask  The mask of informations returned by the core_cxx2lr() functions.

The rank of AB is smaller than min(rankA, rankB)
Definition at line 442 of file core_cxx2lr.c.
References core_clrfree(), core_clrmm_getws(), PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, pastix_int_t, PASTIX_LRM3_ALLOCU, PASTIX_LRM3_ALLOCV, PASTIX_LRM3_ORTHOU, PASTIX_LRM3_TRANSB, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by core_clrlr2fr().
pastix_fixdbl_t core_clradd  (  core_clrmm_t *  params, 
const pastix_lrblock_t *  A,  
pastix_trans_t  transV,  
int  infomask  
) 
Perform the addition of two lowrank matrices.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. On exit, the C matrix contains the addition of C and A aligned with its own dimensions. 
[in]  A  The lowrank structure of the A matrix to add to C. 
[in]  transV  Specify if A>v is stored normally or transposed.

[in]  infomask  Mask of informations returned by the core_cxx2lr() functions. If CORE_LRMM_ORTHOU is set, then A.u is orthogonal, otherwise an orthogonalization step is added before adding it to C. 
Definition at line 383 of file core_clr2xx.c.
References core_clrmm_s::C, core_clr2fr(), core_clr2lr(), core_clr2null(), core_clrmm_s::lock, pastix_lrblock_s::rk, and pastix_lrblock_s::rkmax.
Referenced by cpublok_cadd_frlr(), cpublok_cadd_lrlr(), cpucblk_cadd_frlr(), and cpucblk_cadd_lrlr().
pastix_fixdbl_t core_clrmm  (  core_clrmm_t *  params  ) 
Compute the matrix matrix product when involved matrices are stored in a lowrank structure.
This function considers the generic matrix matrix product added to a third matric C. All matrices are either null, lowrank or fullrank.
[in,out]  params  The LRMM structure that stores all the parameters used in the LRMM functions family. 
Definition at line 278 of file core_clrmm.c.
References core_clrdbg_check_orthogonality(), core_clrmm_Cfr(), core_clrmm_Clr(), core_clrmm_Cnull(), core_clrmm_s::lwused, PASTE_CORE_CLRMM_PARAMS, PASTE_CORE_CLRMM_VOID, PastixCompressMethodSVD, PastixNoTrans, and core_clrmm_s::work.
Referenced by core_cgemmsp_block_frlr(), core_cgemmsp_block_lrlr(), core_cgemmsp_fulllr(), core_cgemmsp_lr(), and core_cgemmsp_lrfr().