PaStiX Handbook
6.3.2
|
#include "common.h"
#include <cblas.h>
#include <lapacke.h>
#include "flops.h"
#include "kernels_trace.h"
#include "blend/solver.h"
#include "pastix_ccores.h"
#include "pastix_clrcores.h"
#include "c_nan_check.h"
#include "common/frobeniusupdate.h"
Go to the source code of this file.
Functions | |
static float | core_slassq (int n, const float *x, int incx) |
Compute the frobenius norm of a vector. More... | |
pastix_fixdbl_t | core_cge2lr_svd (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) |
Convert a full rank matrix in a low rank matrix, using SVD. More... | |
pastix_fixdbl_t | core_crradd_svd (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) |
Add two LR structures A=(-u1) v1^T and B=u2 v2^T into u2 v2^T. More... | |
PaStiX low-rank kernel routines using SVD based on Lapack CGESVD.
Definition in file core_cgelrops_svd.c.
|
inlinestatic |
Compute the frobenius norm of a vector.
This routine is inspired from LAPACK classq function, and allows to accumulate the contribution backward for better accuracy as opposed to snrm2 which allows only positive increment.
[in] | n | The number of elemnts in the vector |
[in] | x | The vector of size n * incx |
[in] | incx | The increment between two elments in the vector x. |
Definition at line 64 of file core_cgelrops_svd.c.
Referenced by core_cge2lr_svd().