Fast Auxiliary Space Preconditioning  1.8.4 Feb/15/2016
blas_bsr.c File Reference

BLAS2 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, dBSRmat *A, REAL *x, REAL *y)
 Compute y := alpha*A*x + y. More...
 
void fasp_blas_dbsr_aAxpy_agg (const REAL alpha, dBSRmat *A, 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 (dBSRmat *A, REAL *x, REAL *y)
 Compute y := A*x. More...
 
void fasp_blas_dbsr_mxv_agg (dBSRmat *A, REAL *x, REAL *y)
 Compute y := A*x, where each small block matrices of A is an identity matrix. More...
 
void fasp_blas_dbsr_mxm (dBSRmat *A, dBSRmat *B, dBSRmat *C)
 Sparse matrix multiplication C=A*B. More...
 
void fasp_blas_dbsr_rap1 (dBSRmat *R, dBSRmat *A, dBSRmat *P, dBSRmat *B)
 dBSRmat sparse matrix multiplication B=R*A*P More...
 
void fasp_blas_dbsr_rap (dBSRmat *R, dBSRmat *A, dBSRmat *P, dBSRmat *B)
 dBSRmat sparse matrix multiplication B=R*A*P More...
 
void fasp_blas_dbsr_rap_agg (dBSRmat *R, dBSRmat *A, 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

BLAS2 operations for dBSRmat matrices.

Definition in file blas_bsr.c.

Function Documentation

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 59 of file blas_bsr.c.

void fasp_blas_dbsr_aAxpy ( const REAL  alpha,
dBSRmat A,
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 337 of file blas_bsr.c.

void fasp_blas_dbsr_aAxpy_agg ( const REAL  alpha,
dBSRmat A,
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 610 of file blas_bsr.c.

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 30 of file blas_bsr.c.

void fasp_blas_dbsr_mxm ( dBSRmat A,
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 4591 of file blas_bsr.c.

void fasp_blas_dbsr_mxv ( dBSRmat A,
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 895 of file blas_bsr.c.

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

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

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 2641 of file blas_bsr.c.

void fasp_blas_dbsr_rap ( dBSRmat R,
dBSRmat A,
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 4895 of file blas_bsr.c.

void fasp_blas_dbsr_rap1 ( dBSRmat R,
dBSRmat A,
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 4711 of file blas_bsr.c.

void fasp_blas_dbsr_rap_agg ( dBSRmat R,
dBSRmat A,
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
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 5160 of file blas_bsr.c.