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.