AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass Class Reference

Implementation of MatrixOp abstract interface for COOMatrixWithPartitionedView. More...

#include <AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.hpp>

Inheritance diagram for AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass:

[legend]
List of all members.

Level-1 BLAS

void Mp_StM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
 (1) gms_lhs += alpha * op(M_rhs) (BLAS xAXPY)

Level-2 BLAS

void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const
 (2) vs_lhs = alpha * op(M_rhs1) * vs_rhs2 + beta * vs_lhs (BLAS xGEMV)
void Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const
 (3) vs_lhs = alpha * op(M_rhs1) * sv_rhs2 + beta * vs_lhs (BLAS xGEMV)
value_type transVtMtV (const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const
 (4) result = vs_rhs1' * op(M_rhs2) * vs_rhs3
value_type transVtMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const
 (5) result = sv_rhs1' * op(M_rhs2) * sv_rhs3

Level-3 BLAS

void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DMatrixSlice &gms_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 (6) gms_lhs = alpha * op(M_rhs1) * op(gms_rhs2) + beta * gms_lhs (right) (xGEMM)
void Mp_StMtM (DMatrixSlice *gms_lhs, value_type alpha, const DMatrixSlice &gms_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
 (7) gms_lhs = alpha * op(gms_rhs1) * op(M_rhs2) + beta * gms_lhs (left) (xGEMM)

Public Member Functions

 COOMatrixWithPartitionedViewSubclass ()
 
 COOMatrixWithPartitionedViewSubclass (const COOMatrixWithPartitionedView &m)
 
size_type nz () const
 Return the number of nonzero elements in the matrix.
std::ostream & output (std::ostream &out) const
 
size_type num_in_column (BLAS_Cpp::Transp trans, size_type col_offset, const IVector::value_type *col_perm, size_type *num_in_col) const
 
void insert_nonzeros (BLAS_Cpp::Transp trans, value_type alpha, size_type row_offset, size_type col_offset, const IVector::value_type *row_perm, const IVector::value_type *col_perm, size_type *next_nz_in_col, FortranTypes::f_dbl_prec *D_val, FortranTypes::f_int *D_row_i) const
 
value_type insert_scaled_nonzeros (BLAS_Cpp::Transp trans, value_type scaled_max_ele, size_type row_offset, size_type col_offset, const IVector::value_type *row_perm, const IVector::value_type *col_perm, size_type *next_nz_in_col, FortranTypes::f_dbl_prec *D_val, FortranTypes::f_int *D_row_i) const
 
FortranTypes::f_int num_nonzeros (EExtractRegion extract_region) const
 
void coor_extract_nonzeros (EExtractRegion extract_region, const FortranTypes::f_int len_Aval, FortranTypes::f_dbl_prec Aval[], const FortranTypes::f_int len_Aij, FortranTypes::f_int Arow[], FortranTypes::f_int Acol[], const FortranTypes::f_int row_offset, const FortranTypes::f_int col_offset) const
 

Detailed Description

Implementation of MatrixOp abstract interface for COOMatrixWithPartitionedView.

Warning: The return values of rows() and cols() may change if when the partitioned view is setup it does not include the entire sparse matrix but this is unlikely.

Definition at line 45 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::COOMatrixWithPartitionedViewSubclass  )  [inline]
 

Definition at line 53 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.hpp.

AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::COOMatrixWithPartitionedViewSubclass const COOMatrixWithPartitionedView m  )  [inline]
 

Definition at line 57 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.hpp.


Member Function Documentation

size_type AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::nz  )  const [virtual]
 

Return the number of nonzero elements in the matrix.

The default is to just assume it is dense and to return rows() * cols().

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 51 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

std::ostream & AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::output std::ostream &  out  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 56 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::Mp_StM DMatrixSlice gms_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs
const
 

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

Definition at line 62 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::Vp_StMtV DVectorSlice vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice vs_rhs2,
value_type  beta
const
 

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

Definition at line 70 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::Vp_StMtV DVectorSlice vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const SpVectorSlice sv_rhs2,
value_type  beta
const
 

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

Definition at line 76 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

value_type AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::transVtMtV const DVectorSlice vs_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const DVectorSlice vs_rhs3
const
 

(4) result = vs_rhs1' * op(M_rhs2) * vs_rhs3

Definition at line 84 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

value_type AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::transVtMtV const SpVectorSlice sv_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
const SpVectorSlice sv_rhs3
const [virtual]
 

(5) result = sv_rhs1' * op(M_rhs2) * sv_rhs3

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 92 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::Mp_StMtM DMatrixSlice gms_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DMatrixSlice gms_rhs2,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta
const
 

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

Definition at line 104 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::Mp_StMtM DMatrixSlice gms_lhs,
value_type  alpha,
const DMatrixSlice gms_rhs1,
BLAS_Cpp::Transp  trans_rhs1,
BLAS_Cpp::Transp  trans_rhs2,
value_type  beta
const
 

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

Definition at line 111 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

size_type AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::num_in_column BLAS_Cpp::Transp  trans,
size_type  col_offset,
const IVector::value_type col_perm,
size_type num_in_col
const [virtual]
 

Implements AbstractLinAlgPack::ConvertToCSC.

Definition at line 119 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::insert_nonzeros BLAS_Cpp::Transp  trans,
value_type  alpha,
size_type  row_offset,
size_type  col_offset,
const IVector::value_type row_perm,
const IVector::value_type col_perm,
size_type next_nz_in_col,
FortranTypes::f_dbl_prec D_val,
FortranTypes::f_int D_row_i
const [virtual]
 

Implements AbstractLinAlgPack::ConvertToCSC.

Definition at line 129 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

value_type AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::insert_scaled_nonzeros BLAS_Cpp::Transp  trans,
value_type  scaled_max_ele,
size_type  row_offset,
size_type  col_offset,
const IVector::value_type row_perm,
const IVector::value_type col_perm,
size_type next_nz_in_col,
FortranTypes::f_dbl_prec D_val,
FortranTypes::f_int D_row_i
const [virtual]
 

Implements AbstractLinAlgPack::ConvertToCSC.

Definition at line 144 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

FortranTypes::f_int AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::num_nonzeros EExtractRegion  extract_region  )  const
 

Definition at line 162 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.

void AbstractLinAlgPack::COOMatrixWithPartitionedViewSubclass::coor_extract_nonzeros EExtractRegion  extract_region,
const FortranTypes::f_int  len_Aval,
FortranTypes::f_dbl_prec  Aval[],
const FortranTypes::f_int  len_Aij,
FortranTypes::f_int  Arow[],
FortranTypes::f_int  Acol[],
const FortranTypes::f_int  row_offset,
const FortranTypes::f_int  col_offset
const
 

Definition at line 170 of file AbstractLinAlgPack_COOMatrixWithPartitionedViewSubclass.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:36:10 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1