PaStiX Handbook  6.3.2
bcsc_z.h File Reference

Go to the source code of this file.

Functions

PastixComplex64 initialization functions
void bcsc_zinit (const spmatrix_t *spm, const pastix_order_t *ord, const SolverMatrix *solvmtx, int initAt, pastix_bcsc_t *bcsc, pastix_int_t valuesize)
 Initializes a centralize pastix_complex64_t block csc. More...
 
PastixComplex64 vector(s) operations
void bvec_zaxpy_seq (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex64_t alpha, const pastix_complex64_t *x, pastix_complex64_t *y)
 Compute y <- alpha * x + y. (Sequential version) More...
 
void bvec_zaxpy_smp (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex64_t alpha, const pastix_complex64_t *x, pastix_complex64_t *y)
 Perform y = alpha * x + y (Parallel version) More...
 
void bvec_zcopy_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x, pastix_complex64_t *y)
 Copy a vector y = x (Sequential version) More...
 
void bvec_zcopy_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x, pastix_complex64_t *y)
 Copy a vector y = x (parallel version) More...
 
pastix_complex64_t bvec_zdotu_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x, const pastix_complex64_t *y)
 Compute the scalar product x.y. (Sequential version) More...
 
pastix_complex64_t bvec_zdotu_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x, const pastix_complex64_t *y)
 Compute a regular scalar product x.y (Parallel version) More...
 
void bvec_zgemv_seq (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, pastix_complex64_t alpha, const pastix_complex64_t *A, pastix_int_t lda, const pastix_complex64_t *x, pastix_complex64_t beta, pastix_complex64_t *y)
 Compute. More...
 
void bvec_zgemv_smp (pastix_data_t *pastix_data, pastix_int_t m, pastix_int_t n, pastix_complex64_t alpha, const pastix_complex64_t *A, pastix_int_t lda, const pastix_complex64_t *x, pastix_complex64_t beta, pastix_complex64_t *y)
 Compute. More...
 
double bvec_znrm2_seq (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x)
 Compute the norm 2 of a vector. (Sequential version) More...
 
double bvec_znrm2_smp (pastix_data_t *pastix_data, pastix_int_t n, const pastix_complex64_t *x)
 Compute the norm 2 of a vector. (Parallel version) More...
 
void bvec_zscal_seq (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex64_t alpha, pastix_complex64_t *x)
 Scale a vector by the scalar alpha. (Sequential version) More...
 
void bvec_zscal_smp (pastix_data_t *pastix_data, pastix_int_t n, pastix_complex64_t alpha, pastix_complex64_t *x)
 Scale a vector (Parallel version) More...
 
int bvec_zlapmr (pastix_data_t *pastix_data, pastix_dir_t dir, pastix_int_t m, pastix_int_t n, pastix_complex64_t *A, pastix_int_t lda, pastix_rhs_t PA)
 Apply a row permutation to a right hand side A (LAPACK xlatmr) More...
 
PastixComplex64 matrix operations
double bcsc_znorm (pastix_normtype_t ntype, const pastix_bcsc_t *bcsc)
 Compute the norm of an bcsc matrix. More...
 
void bcsc_zspsv (pastix_data_t *pastix_data, pastix_complex64_t *b, pastix_complex32_t *work)
 Solve A x = b with A the sparse matrix. More...
 
void bcsc_zspmv (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex64_t alpha, const pastix_complex64_t *x, pastix_complex64_t beta, pastix_complex64_t *y)
 Compute the matrix-vector product y = alpha * op(A) * x + beta * y. More...
 
void bcsc_zspmv_seq (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex64_t alpha, const pastix_complex64_t *x, pastix_complex64_t beta, pastix_complex64_t *y)
 Compute the matrix-vector product y = alpha * A * x + beta * y (Sequential version) More...
 
void bcsc_zspmv_smp (const pastix_data_t *pastix_data, pastix_trans_t trans, pastix_complex64_t alpha, const pastix_complex64_t *x, pastix_complex64_t beta, pastix_complex64_t *y)
 Perform y = alpha A x + beta y (Parallel version) More...
 
PastixComplex64 MPI vector operations
const pastix_complex64_t * bvec_zgather_remote (const pastix_data_t *pastix_data, const pastix_complex64_t *y)
 Gather a distributed right hand side (bvec storage) on all nodes. More...
 
void bvec_znullify_remote (const pastix_data_t *pastix_data, pastix_complex64_t *y)
 Set to 0 remote coefficients. More...
 
void bvec_zallreduce (const pastix_data_t *pastix_data, pastix_complex64_t *y)
 Apply an all reduce of the vector on all nodes. More...
 

Detailed Description

Version
6.3.2
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Vincent Bridonneau
Date
2023-07-21
Generated arithmetic file
from /builds/solverstack/pastix/bcsc/bcsc_z.h, normal z -> z, Wed Dec 13 12:09:03 2023

Definition in file bcsc_z.h.