ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
blas3_solve.cpp File Reference
#include <iostream>
#include <vector>
#include "viennacl/scalar.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/matrix_proxy.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/linalg/prod.hpp"
#include "viennacl/linalg/norm_2.hpp"
#include "viennacl/linalg/direct_solve.hpp"
#include "viennacl/tools/random.hpp"

Go to the source code of this file.

Functions

template<typename ScalarType >
ScalarType diff (ScalarType &s1, viennacl::scalar< ScalarType > &s2)
 
template<typename ScalarType >
ScalarType diff (std::vector< ScalarType > &v1, viennacl::vector< ScalarType > &v2)
 
template<typename ScalarType , typename VCLMatrixType >
ScalarType diff (std::vector< std::vector< ScalarType > > &mat1, VCLMatrixType &mat2)
 
template<typename NumericT >
void inplace_solve_lower (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, bool unit_diagonal)
 
template<typename NumericT >
void inplace_solve (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, viennacl::linalg::lower_tag)
 
template<typename NumericT >
void inplace_solve (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, viennacl::linalg::unit_lower_tag)
 
template<typename NumericT >
void inplace_solve_upper (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, bool unit_diagonal)
 
template<typename NumericT >
void inplace_solve (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, viennacl::linalg::upper_tag)
 
template<typename NumericT >
void inplace_solve (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > &B, viennacl::linalg::unit_upper_tag)
 
template<typename NumericT , typename SolverTagT >
std::vector< std::vector
< NumericT > > 
solve (std::vector< std::vector< NumericT > > const &A, std::vector< std::vector< NumericT > > const &B, SolverTagT)
 
template<typename RHSTypeRef , typename RHSTypeCheck , typename Epsilon >
void run_solver_check (RHSTypeRef &B_ref, RHSTypeCheck &B_check, int &retval, Epsilon const &epsilon)
 
template<typename NumericT >
std::vector< std::vector
< NumericT > > 
trans (std::vector< std::vector< NumericT > > const &A)
 
template<typename NumericT , typename Epsilon , typename ReferenceMatrixTypeA , typename ReferenceMatrixTypeB , typename ReferenceMatrixTypeC , typename MatrixTypeA , typename MatrixTypeB , typename MatrixTypeC , typename MatrixTypeResult >
int test_solve (Epsilon const &epsilon, ReferenceMatrixTypeA const &A, ReferenceMatrixTypeB const &B_start, ReferenceMatrixTypeC const &C_start, MatrixTypeA const &vcl_A, MatrixTypeB &vcl_B, MatrixTypeC &vcl_C, MatrixTypeResult const &)
 
template<typename NumericT , typename F_A , typename F_B , typename Epsilon >
int test_solve (Epsilon const &epsilon)
 
template<typename NumericT , typename Epsilon >
int test (Epsilon const &epsilon)
 
int main ()
 

Detailed Description

Tests the BLAS level 3 triangular solvers

Test:
Tests the BLAS level 3 triangular solvers

Definition in file blas3_solve.cpp.

Function Documentation

template<typename ScalarType >
ScalarType diff ( ScalarType s1,
viennacl::scalar< ScalarType > &  s2 
)

Definition at line 50 of file blas3_solve.cpp.

template<typename ScalarType >
ScalarType diff ( std::vector< ScalarType > &  v1,
viennacl::vector< ScalarType > &  v2 
)

Definition at line 59 of file blas3_solve.cpp.

template<typename ScalarType , typename VCLMatrixType >
ScalarType diff ( std::vector< std::vector< ScalarType > > &  mat1,
VCLMatrixType &  mat2 
)

Definition at line 79 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
viennacl::linalg::lower_tag   
)

Definition at line 126 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
viennacl::linalg::unit_lower_tag   
)

Definition at line 132 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
viennacl::linalg::upper_tag   
)

Definition at line 158 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
viennacl::linalg::unit_upper_tag   
)

Definition at line 164 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve_lower ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
bool  unit_diagonal 
)

Definition at line 107 of file blas3_solve.cpp.

template<typename NumericT >
void inplace_solve_upper ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > &  B,
bool  unit_diagonal 
)

Definition at line 138 of file blas3_solve.cpp.

int main ( )

Definition at line 590 of file blas3_solve.cpp.

template<typename RHSTypeRef , typename RHSTypeCheck , typename Epsilon >
void run_solver_check ( RHSTypeRef &  B_ref,
RHSTypeCheck &  B_check,
int &  retval,
Epsilon const &  epsilon 
)

Definition at line 179 of file blas3_solve.cpp.

template<typename NumericT , typename SolverTagT >
std::vector<std::vector<NumericT> > solve ( std::vector< std::vector< NumericT > > const &  A,
std::vector< std::vector< NumericT > > const &  B,
SolverTagT   
)

Definition at line 170 of file blas3_solve.cpp.

template<typename NumericT , typename Epsilon >
int test ( Epsilon const &  epsilon)

Definition at line 549 of file blas3_solve.cpp.

template<typename NumericT , typename Epsilon , typename ReferenceMatrixTypeA , typename ReferenceMatrixTypeB , typename ReferenceMatrixTypeC , typename MatrixTypeA , typename MatrixTypeB , typename MatrixTypeC , typename MatrixTypeResult >
int test_solve ( Epsilon const &  epsilon,
ReferenceMatrixTypeA const &  A,
ReferenceMatrixTypeB const &  B_start,
ReferenceMatrixTypeC const &  C_start,
MatrixTypeA const &  vcl_A,
MatrixTypeB &  vcl_B,
MatrixTypeC &  vcl_C,
MatrixTypeResult const &   
)

Definition at line 210 of file blas3_solve.cpp.

template<typename NumericT , typename F_A , typename F_B , typename Epsilon >
int test_solve ( Epsilon const &  epsilon)

Definition at line 372 of file blas3_solve.cpp.

template<typename NumericT >
std::vector<std::vector<NumericT> > trans ( std::vector< std::vector< NumericT > > const &  A)
Examples:
blas2.cpp.

Definition at line 195 of file blas3_solve.cpp.