Skylark (Sketching Library)  0.1
Classes | Public Types | Static Public Member Functions
skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > > Struct Template Reference

#include <iter_solver_op_CombBLAS.hpp>

List of all members.

Classes

struct  pow_t
struct  scale_t
struct  scaled_bin_op_t

Public Types

typedef IndexType index_t
typedef ValueType value_t
typedef SpDCCols< IndexType,
ValueType > 
seq_matrix_t
typedef FullyDistMultiVec
< IndexType, ValueType > 
mpi_multi_vector_t
typedef
mpi_multi_vector_t::mpi_vector_t 
mpi_vector_t
typedef SpParMat< IndexType,
ValueType, SpDCCols< IndexType,
ValueType > > 
mpi_matrix_t
typedef PlusTimesSRing
< ValueType, ValueType > 
semi_ring_t
typedef pow_t< 2, false > square_t
typedef pow_t< 2, true > square_root_t
typedef scaled_bin_op_t
< std::plus< value_t > > 
ax_plus_by_t
typedef index_t index_type
typedef value_t value_type
typedef mpi_matrix_t matrix_type
typedef mpi_vector_t vector_type
typedef mpi_multi_vector_t multi_vector_type

Static Public Member Functions

static mpi_matrix_t transpose (const mpi_matrix_t &A)
static void mat_vec (const mpi_matrix_t &A, const mpi_multi_vector_t &X, mpi_multi_vector_t &AX)
template<typename RandomAccessContainer >
static void ax_plus_by (const RandomAccessContainer &a, mpi_multi_vector_t &X, const RandomAccessContainer &b, const mpi_multi_vector_t &Y)
template<typename RandomAccessContainer >
static void scale (const RandomAccessContainer &a, mpi_multi_vector_t &X)
template<typename RandomAccessContainer >
static void norm (const mpi_multi_vector_t &X, RandomAccessContainer &norms)
static void get_dim (const mpi_multi_vector_t &X, index_t &M, index_t &N)
static void get_dim (const mpi_matrix_t &A, index_t &M, index_t &N)
template<typename RandomAccessContainer >
static void residual_norms (const mpi_matrix_t &A, const mpi_multi_vector_t &B, const mpi_multi_vector_t &X, RandomAccessContainer &r_norms)

Detailed Description

template<typename IndexType, typename ValueType>
struct skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >

Definition at line 18 of file iter_solver_op_CombBLAS.hpp.


Member Typedef Documentation

template<typename IndexType , typename ValueType >
typedef scaled_bin_op_t<std::plus<value_t> > skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::ax_plus_by_t

Definition at line 81 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef IndexType skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::index_t

Typedefs for some variables

Definition at line 70 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef index_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::index_type

Definition at line 86 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef mpi_matrix_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::matrix_type

Definition at line 88 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef SpParMat<IndexType, ValueType, SpDCCols<IndexType, ValueType> > skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_matrix_t

Definition at line 77 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef FullyDistMultiVec<IndexType, ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_multi_vector_t

Definition at line 73 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef mpi_multi_vector_t::mpi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_vector_t

Definition at line 74 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef mpi_multi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::multi_vector_type

Definition at line 90 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef PlusTimesSRing<ValueType,ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::semi_ring_t

Definition at line 78 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef SpDCCols<IndexType, ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::seq_matrix_t

Definition at line 72 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef pow_t<2, true> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::square_root_t

Definition at line 80 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef pow_t<2, false> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::square_t

Definition at line 79 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef ValueType skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::value_t

Definition at line 71 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef value_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::value_type

Definition at line 87 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
typedef mpi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::vector_type

Definition at line 89 of file iter_solver_op_CombBLAS.hpp.


Member Function Documentation

template<typename IndexType , typename ValueType >
template<typename RandomAccessContainer >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::ax_plus_by ( const RandomAccessContainer &  a,
mpi_multi_vector_t X,
const RandomAccessContainer &  b,
const mpi_multi_vector_t Y 
) [inline, static]

Basic error checking on the dimensions for the multi-vectors

Perform all the required element-wise operations one by one

Definition at line 116 of file iter_solver_op_CombBLAS.hpp.

References FullyDistMultiVec< IndexType, ValueType >::dim, and FullyDistMultiVec< IndexType, ValueType >::size.

template<typename IndexType , typename ValueType >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::get_dim ( const mpi_multi_vector_t X,
index_t M,
index_t N 
) [inline, static]
template<typename IndexType , typename ValueType >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::get_dim ( const mpi_matrix_t A,
index_t M,
index_t N 
) [inline, static]

Definition at line 150 of file iter_solver_op_CombBLAS.hpp.

template<typename IndexType , typename ValueType >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mat_vec ( const mpi_matrix_t A,
const mpi_multi_vector_t X,
mpi_multi_vector_t AX 
) [inline, static]

Get the dimensions and make sure that they agree

As SpMM is not provided, do the multiplication one at a time

Definition at line 102 of file iter_solver_op_CombBLAS.hpp.

References FullyDistMultiVec< IndexType, ValueType >::dim, m, n, and FullyDistMultiVec< IndexType, ValueType >::size.

template<typename IndexType , typename ValueType >
template<typename RandomAccessContainer >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::norm ( const mpi_multi_vector_t X,
RandomAccessContainer &  norms 
) [inline, static]
template<typename IndexType , typename ValueType >
template<typename RandomAccessContainer >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::residual_norms ( const mpi_matrix_t A,
const mpi_multi_vector_t B,
const mpi_multi_vector_t X,
RandomAccessContainer &  r_norms 
) [inline, static]

1. Compute AX so that we can subtract B from it

2. Subtract AX from B to form R

3. Compute the norms of the residual

Definition at line 156 of file iter_solver_op_CombBLAS.hpp.

References FullyDistMultiVec< IndexType, ValueType >::size.

template<typename IndexType , typename ValueType >
template<typename RandomAccessContainer >
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::scale ( const RandomAccessContainer &  a,
mpi_multi_vector_t X 
) [inline, static]
template<typename IndexType , typename ValueType >
static mpi_matrix_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::transpose ( const mpi_matrix_t A) [inline, static]

Definition at line 96 of file iter_solver_op_CombBLAS.hpp.


The documentation for this struct was generated from the following file: