PaStiX Handbook
6.3.0
|
#include "common.h"
#include <cblas.h>
#include <lapacke.h>
#include "blend/solver.h"
#include "pastix_dcores.h"
#include "pastix_dlrcores.h"
#include "d_nan_check.h"
#include "kernels_trace.h"
Go to the source code of this file.
Functions | |
void | core_dlralloc (pastix_int_t M, pastix_int_t N, pastix_int_t rkmax, pastix_lrblock_t *A) |
Allocate a low-rank matrix. More... | |
void | core_dlrfree (pastix_lrblock_t *A) |
Free a low-rank matrix. More... | |
int | core_dlrsze (int copy, pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, pastix_int_t newrk, pastix_int_t newrkmax, pastix_int_t rklimit) |
Resize a low-rank matrix. More... | |
int | core_dlr2ge (pastix_trans_t trans, pastix_int_t m, pastix_int_t n, const pastix_lrblock_t *Alr, double *A, pastix_int_t lda) |
Convert a low rank matrix into a dense matrix. More... | |
void | core_dlrcpy (const pastix_lr_t *lowrank, pastix_trans_t transAv, double alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offx, pastix_int_t offy) |
Copy a small low-rank structure into a large one. More... | |
void | core_dlrconcatenate_u (double alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_lrblock_t *B, pastix_int_t offx, double *u1u2) |
Concatenate left parts of two low-rank matrices. More... | |
void | core_dlrconcatenate_v (pastix_trans_t transA1, double alpha, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offy, double *v1v2) |
Concatenate right parts of two low-rank matrices. More... | |
pastix_fixdbl_t | core_dge2lr_qrcp (core_drrqr_cp_t rrqrfct, int use_reltol, pastix_fixdbl_t tol, pastix_int_t rklimit, pastix_int_t m, pastix_int_t n, const void *Avoid, pastix_int_t lda, pastix_lrblock_t *Alr) |
Template to convert a full rank matrix into a low rank matrix through QR decompositions. More... | |
pastix_fixdbl_t | core_dge2lr_qrrt (core_drrqr_rt_t rrqrfct, int use_reltol, pastix_fixdbl_t tol, pastix_int_t rklimit, pastix_int_t m, pastix_int_t n, const void *Avoid, pastix_int_t lda, pastix_lrblock_t *Alr) |
Template to convert a full rank matrix into a low rank matrix through QR decompositions. More... | |
pastix_fixdbl_t | core_drradd_qr (core_drrqr_cp_t rrqrfct, const pastix_lr_t *lowrank, pastix_trans_t transA1, const void *alphaptr, pastix_int_t M1, pastix_int_t N1, const pastix_lrblock_t *A, pastix_int_t M2, pastix_int_t N2, pastix_lrblock_t *B, pastix_int_t offx, pastix_int_t offy) |
Template to perform the addition of two low-rank structures with compression kernel based on QR decomposition. More... | |
size_t | core_dlrgetsize (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A) |
Compute the size of a block to send in LR. More... | |
char * | core_dlrpack (pastix_int_t M, pastix_int_t N, const pastix_lrblock_t *A, char *buffer) |
Pack low-rank data by side. More... | |
char * | core_dlrunpack (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, char *buffer) |
Unpack low rank data and fill the cblk concerned by the computation. More... | |
const char * | core_dlrunpack2 (pastix_int_t M, pastix_int_t N, pastix_lrblock_t *A, const char *input, char **outptr) |
Unpack low rank data and fill the cblk concerned by the computation. More... | |
PaStiX low-rank kernel routines
Definition in file core_dgelrops.c.