AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
MatrixOpSerial nonmember inline functions.

Level-2 BLAS

void AbstractLinAlgPack::Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, const MatrixOpSerial &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta=1.0)
 vs_lhs = alpha * op(M_rhs1) * vs_rhs2 + beta * vs_lhs (BLAS xGEMV) More...
 
void AbstractLinAlgPack::Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, const MatrixOpSerial &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta=1.0)
 vs_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * vs_lhs (BLAS xGEMV) More...
 
void AbstractLinAlgPack::Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp M_rhs2_trans, const DVectorSlice &vs_rhs3, value_type beta=1.0)
 vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * vs_rhs3 + beta * vs_rhs More...
 
void AbstractLinAlgPack::Vp_StPtMtV (DVectorSlice *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp M_rhs2_trans, const SpVectorSlice &sv_rhs3, value_type beta=1.0)
 vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * sv_rhs3 + beta * vs_rhs More...
 
value_type AbstractLinAlgPack::transVtMtV (const DVectorSlice &vs_rhs1, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3)
 result = vs_rhs1' * op(M_rhs2) * vs_rhs3 More...
 
value_type AbstractLinAlgPack::transVtMtV (const SpVectorSlice &sv_rhs1, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3)
 result = sv_rhs1' * op(M_rhs2) * sv_rhs3 More...
 

Level-3 BLAS

void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSlice &gms_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &gms_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(mwo_rhs1) * op(mwo_rhs2) + beta * gms_lhs (right) (xGEMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DMatrixSliceSym &sym_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(M_rhs1) * op(sym_rhs2) + beta * gms_lhs (right) (xSYMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSliceSym &sym_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(sym_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xSYMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &M_rhs1, BLAS_Cpp::Transp trans_rhs1, const DMatrixSliceTri &tri_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(M_rhs1) * op(tri_rhs2) + beta * gms_lhs (right) (xTRMM) More...
 
void AbstractLinAlgPack::Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSliceTri &tri_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOpSerial &M_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta=1.0)
 gms_lhs = alpha * op(tri_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xTRMM) More...
 

Level-1 BLAS

void AbstractLinAlgPack::Mp_StM (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &M_rhs, BLAS_Cpp::Transp trans_rhs)
 gms_lhs += alpha * op(M_rhs) (BLAS xAXPY) More...
 
void AbstractLinAlgPack::Mp_StMtP (DMatrixSlice *gms_lhs, value_type alpha, const MatrixOpSerial &M_rhs, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans)
 gms_lhs += alpha * op(M_rhs) * op(P_rhs) More...
 
void AbstractLinAlgPack::Mp_StPtM (DMatrixSlice *gms_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, const MatrixOpSerial &M_rhs, BLAS_Cpp::Transp M_trans)
 gms_lhs += alpha * op(P) * op(M_rhs) More...
 
void AbstractLinAlgPack::Mp_StPtMtP (DMatrixSlice *gms_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOpSerial &M_rhs, BLAS_Cpp::Transp trans_rhs, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
 gms_lhs += alpha * op(P_rhs1) * op(M_rhs) * op(P_rhs2) More...
 

Detailed Description

These nonmember functions allow operations to be called on MatrixOpSerial objects in similar manner to those in DenseLinAlgPack.

Function Documentation

void AbstractLinAlgPack::Mp_StM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs,
BLAS_Cpp::Transp  trans_rhs 
)
inline

gms_lhs += alpha * op(M_rhs) (BLAS xAXPY)

Definition at line 323 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtP ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs,
BLAS_Cpp::Transp  M_trans,
const GenPermMatrixSlice &  P_rhs,
BLAS_Cpp::Transp  P_rhs_trans 
)
inline

gms_lhs += alpha * op(M_rhs) * op(P_rhs)

Definition at line 330 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StPtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const GenPermMatrixSlice &  P_rhs,
BLAS_Cpp::Transp  P_rhs_trans,
const MatrixOpSerial &  M_rhs,
BLAS_Cpp::Transp  M_trans 
)
inline

gms_lhs += alpha * op(P) * op(M_rhs)

Definition at line 339 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StPtMtP ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const GenPermMatrixSlice &  P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOpSerial &  M_rhs,
BLAS_Cpp::Transp  trans_rhs,
const GenPermMatrixSlice &  P_rhs2,
BLAS_Cpp::Transp  P_rhs2_trans 
)
inline

gms_lhs += alpha * op(P_rhs1) * op(M_rhs) * op(P_rhs2)

Definition at line 348 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Vp_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2,
value_type  beta = 1.0 
)
inline

vs_lhs = alpha * op(M_rhs1) * vs_rhs2 + beta * vs_lhs (BLAS xGEMV)

Definition at line 363 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Vp_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice &  sv_rhs2,
value_type  beta = 1.0 
)
inline

vs_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * vs_lhs (BLAS xGEMV)

Definition at line 370 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Vp_StPtMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const GenPermMatrixSlice &  P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  M_rhs2_trans,
const DVectorSlice &  vs_rhs3,
value_type  beta = 1.0 
)
inline

vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * vs_rhs3 + beta * vs_rhs

Definition at line 377 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Vp_StPtMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
const GenPermMatrixSlice &  P_rhs1,
BLAS_Cpp::Transp  P_rhs1_trans,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  M_rhs2_trans,
const SpVectorSlice &  sv_rhs3,
value_type  beta = 1.0 
)
inline

vs_lhs = alpha * op(P_rhs1) * op(M_rhs2) * sv_rhs3 + beta * vs_rhs

Definition at line 386 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

value_type AbstractLinAlgPack::transVtMtV ( const DVectorSlice &  vs_rhs1,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
const DVectorSlice &  vs_rhs3 
)
inline

result = vs_rhs1' * op(M_rhs2) * vs_rhs3

Definition at line 395 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

value_type AbstractLinAlgPack::transVtMtV ( const SpVectorSlice &  sv_rhs1,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice &  sv_rhs3 
)
inline

result = sv_rhs1' * op(M_rhs2) * sv_rhs3

Definition at line 402 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice &  gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM)

Definition at line 414 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const DMatrixSlice &  gms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM)

Definition at line 422 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  mwo_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial &  gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(mwo_rhs1) * op(mwo_rhs2) + beta * gms_lhs (right) (xGEMM)

Definition at line 430 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSliceSym &  sym_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(M_rhs1) * op(sym_rhs2) + beta * gms_lhs (right) (xSYMM)

Definition at line 438 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const DMatrixSliceSym &  sym_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(sym_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xSYMM)

Definition at line 446 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const MatrixOpSerial &  M_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSliceTri &  tri_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(M_rhs1) * op(tri_rhs2) + beta * gms_lhs (right) (xTRMM)

Definition at line 454 of file AbstractLinAlgPack_MatrixOpSerial.hpp.

void AbstractLinAlgPack::Mp_StMtM ( DMatrixSlice *  gms_lhs,
value_type  alpha,
const DMatrixSliceTri &  tri_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
const MatrixOpSerial &  M_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta = 1.0 
)
inline

gms_lhs = alpha * op(tri_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xTRMM)

Definition at line 462 of file AbstractLinAlgPack_MatrixOpSerial.hpp.