Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
BlaSpmvBSR.c File Reference

Linear algebraic operations for dBSRmat matrices. More...

#include <math.h>
#include "fasp.h"
#include "fasp_functs.h"

Go to the source code of this file.

Functions

void fasp_blas_dbsr_axm (dBSRmat *A, const REAL alpha)
 Multiply a sparse matrix A in BSR format by a scalar alpha. More...
 
void fasp_blas_dbsr_aAxpby (const REAL alpha, dBSRmat *A, REAL *x, const REAL beta, REAL *y)
 Compute y := alpha*A*x + beta*y. More...
 
void fasp_blas_dbsr_aAxpy (const REAL alpha, const dBSRmat *A, const REAL *x, REAL *y)
 Compute y := alpha*A*x + y. More...
 
void fasp_blas_dbsr_aAxpy_agg (const REAL alpha, const dBSRmat *A, const REAL *x, REAL *y)
 Compute y := alpha*A*x + y where each small block matrix is an identity matrix. More...
 
void fasp_blas_dbsr_mxv (const dBSRmat *A, const REAL *x, REAL *y)
 Compute y := A*x. More...
 
void fasp_blas_dbsr_mxv_agg (const dBSRmat *A, const REAL *x, REAL *y)
 Compute y := A*x, where each small block matrices of A is an identity. More...
 
void fasp_blas_dbsr_mxm (const dBSRmat *A, const dBSRmat *B, dBSRmat *C)
 Sparse matrix multiplication C=A*B. More...
 
void fasp_blas_dbsr_rap1 (const dBSRmat *R, const dBSRmat *A, const dBSRmat *P, dBSRmat *B)
 dBSRmat sparse matrix multiplication B=R*A*P More...
 
void fasp_blas_dbsr_rap (const dBSRmat *R, const dBSRmat *A, const dBSRmat *P, dBSRmat *B)
 dBSRmat sparse matrix multiplication B=R*A*P More...
 
void fasp_blas_dbsr_rap_agg (const dBSRmat *R, const dBSRmat *A, const dBSRmat *P, dBSRmat *B)
 dBSRmat sparse matrix multiplication B=R*A*P, where small block matrices in P and R are identity matrices! More...
 

Detailed Description

Linear algebraic operations for dBSRmat matrices.

Note
This file contains Level-1 (Bla) functions. It requires: AuxArray.c, AuxMemory.c, AuxThreads.c, BlaSmallMat.c, and BlaArray.c

Copyright (C) 2009–Present by the FASP team. All rights reserved.

Released under the terms of the GNU Lesser General Public License 3.0 or later.

Definition in file BlaSpmvBSR.c.

Function Documentation

◆ fasp_blas_dbsr_aAxpby()

void fasp_blas_dbsr_aAxpby ( const REAL  alpha,
dBSRmat A,
REAL x,
const REAL  beta,
REAL y 
)

Compute y := alpha*A*x + beta*y.

Parameters
alphaREAL factor alpha
APointer to the dBSRmat matrix
xPointer to the array x
betaREAL factor beta
yPointer to the array y
Author
Zhiyang Zhou
Date
10/25/2010

Modified by Chunsheng Feng, Zheng Li on 06/29/2012

Note
Works for general nb (Xiaozhe)

Definition at line 67 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_aAxpy()

void fasp_blas_dbsr_aAxpy ( const REAL  alpha,
const dBSRmat A,
const REAL x,
REAL y 
)

Compute y := alpha*A*x + y.

Parameters
alphaREAL factor alpha
APointer to the dBSRmat matrix
xPointer to the array x
yPointer to the array y
Author
Zhiyang Zhou
Date
10/25/2010

Modified by Chunsheng Feng, Xiaoqiang Yue on 05/23/2012

Note
Works for general nb (Xiaozhe)

Definition at line 348 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_aAxpy_agg()

void fasp_blas_dbsr_aAxpy_agg ( const REAL  alpha,
const dBSRmat A,
const REAL x,
REAL y 
)

Compute y := alpha*A*x + y where each small block matrix is an identity matrix.

Parameters
alphaREAL factor alpha
APointer to the dBSRmat matrix
xPointer to the array x
yPointer to the array y
Author
Xiaozhe Hu
Date
01/02/2014
Note
Works for general nb (Xiaozhe)

Definition at line 624 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_axm()

void fasp_blas_dbsr_axm ( dBSRmat A,
const REAL  alpha 
)

Multiply a sparse matrix A in BSR format by a scalar alpha.

Parameters
APointer to dBSRmat matrix A
alphaREAL factor alpha
Author
Xiaozhe Hu
Date
05/26/2014

Definition at line 38 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_mxm()

void fasp_blas_dbsr_mxm ( const dBSRmat A,
const dBSRmat B,
dBSRmat C 
)

Sparse matrix multiplication C=A*B.

Parameters
APointer to the dBSRmat matrix A
BPointer to the dBSRmat matrix B
CPointer to dBSRmat matrix equal to A*B
Author
Xiaozhe Hu
Date
05/26/2014
Note
This fct will be replaced! – Xiaozhe

Definition at line 4646 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_mxv()

void fasp_blas_dbsr_mxv ( const dBSRmat A,
const REAL x,
REAL y 
)

Compute y := A*x.

Parameters
APointer to the dBSRmat matrix
xPointer to the array x
yPointer to the array y
Author
Zhiyang Zhou
Date
10/25/2010
Note
Works for general nb (Xiaozhe)

Modified by Chunsheng Feng, Xiaoqiang Yue on 05/23/2012

Definition at line 910 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_mxv_agg()

void fasp_blas_dbsr_mxv_agg ( const dBSRmat A,
const REAL x,
REAL y 
)

Compute y := A*x, where each small block matrices of A is an identity.

Parameters
APointer to the dBSRmat matrix
xPointer to the array x
yPointer to the array y
Author
Xiaozhe Hu
Date
01/02/2014
Note
Works for general nb (Xiaozhe)

Definition at line 2697 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_rap()

void fasp_blas_dbsr_rap ( const dBSRmat R,
const dBSRmat A,
const dBSRmat P,
dBSRmat B 
)

dBSRmat sparse matrix multiplication B=R*A*P

Parameters
RPointer to the dBSRmat matrix
APointer to the dBSRmat matrix
PPointer to the dBSRmat matrix
BPointer to dBSRmat matrix equal to R*A*P (output)
Author
Xiaozhe Hu, Chunsheng Feng, Zheng Li
Date
10/24/2012
Note
Ref. R.E. Bank and C.C. Douglas. SMMP: Sparse Matrix Multiplication Package. Advances in Computational Mathematics, 1 (1993), pp. 127-137.

Definition at line 4961 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_rap1()

void fasp_blas_dbsr_rap1 ( const dBSRmat R,
const dBSRmat A,
const dBSRmat P,
dBSRmat B 
)

dBSRmat sparse matrix multiplication B=R*A*P

Parameters
RPointer to the dBSRmat matrix
APointer to the dBSRmat matrix
PPointer to the dBSRmat matrix
BPointer to dBSRmat matrix equal to R*A*P (output)
Author
Chunsheng Feng, Xiaoqiang Yue and Xiaozhe Hu
Date
08/08/2011
Note
Ref. R.E. Bank and C.C. Douglas. SMMP: Sparse Matrix Multiplication Package. Advances in Computational Mathematics, 1 (1993), pp. 127-137.

Definition at line 4771 of file BlaSpmvBSR.c.

◆ fasp_blas_dbsr_rap_agg()

void fasp_blas_dbsr_rap_agg ( const dBSRmat R,
const dBSRmat A,
const dBSRmat P,
dBSRmat B 
)

dBSRmat sparse matrix multiplication B=R*A*P, where small block matrices in P and R are identity matrices!

Parameters
RPointer to the dBSRmat matrix
APointer to the dBSRmat matrix
PPointer to the dBSRmat matrix
BPointer to dBSRmat matrix equal to R*A*P (output)
Author
Xiaozhe Hu
Date
10/24/2012

Definition at line 5227 of file BlaSpmvBSR.c.