Test the iterative solver BiCGStab. More...

#include <BiCGStabTest.hh>

Inheritance diagram for test::BiCgStabTest:
test::TestCase

Public Member Functions

void _succeed ()
 Explicitly succeds a test. More...
 
 BiCgStabTest ()
 
long getNumFailed () const
 Returns number of failed tests. More...
 
long getNumPassed () const
 Returns number of passed tests. More...
 
const ostream * getStream () const
 Returns output stream. More...
 
long report () const
 Prints a report on the number of passed and failed tests to the output stream. More...
 
virtual void reset ()
 Resets the counters for the failed and passed tests. More...
 
virtual void run ()
 Runs the tests. Must be overwritten by the specialization. More...
 
void setStream (ostream *osptr)
 Sets the output stream. More...
 
virtual ~BiCgStabTest ()
 

Protected Member Functions

void do_fail (const string &lbl, const char *fname, long lineno)
 Internal function to report a failed test (besides increasing the failed counter) More...
 
bool do_numtest (double num, double orig, const string &lbl, const string &lbl2, const char *fname, long lineno, const double tol=1e-10)
 Internal function to do a numerical test. More...
 
bool do_numtest (std::complex< double > num, std::complex< double > orig, const string &lbl, const string &lbl2, const char *fname, long lineno, const double tol=1e-10)
 
bool do_test (bool cond, const string &lbl, const char *fname, long lineno)
 Internal function to do a test. More...
 

Private Attributes

long m_nFail
 
long m_nPass
 
ostream * m_osptr
 

Test routines

concepts::DummySpace< concepts::Realspc
 Without preconditioning. More...
 
void denseMatrixReal ()
 Without preconditioning. More...
 
void sparseMatrixReal ()
 Without preconditioning. More...
 
void denseMatrixCmplx ()
 Without preconditioning. More...
 
void sparseMatrixCmplx ()
 Without preconditioning. More...
 
template<class F >
void testNormal (concepts::Matrix< F > &m, concepts::Vector< F > &rhs, F res[5])
 Without preconditioning. More...
 
template<class F , class G >
void testPrecond (concepts::Matrix< F > &m, concepts::Operator< G > &p, concepts::Operator< G > &pinv, concepts::Vector< F > &rhs, F res[5])
 With diagonal preconditioner. More...
 

Detailed Description

Test the iterative solver BiCGStab.

Author
Kersten Schmidt, 2005
See also
concepts::BiCGStab

Definition at line 19 of file BiCGStabTest.hh.

Constructor & Destructor Documentation

◆ BiCgStabTest()

test::BiCgStabTest::BiCgStabTest ( )
inline

Definition at line 21 of file BiCGStabTest.hh.

◆ ~BiCgStabTest()

virtual test::BiCgStabTest::~BiCgStabTest ( )
inlinevirtual

Definition at line 22 of file BiCGStabTest.hh.

Member Function Documentation

◆ _succeed()

void test::TestCase::_succeed ( )
inlineinherited

Explicitly succeds a test.

Definition at line 112 of file testcase.hh.

◆ denseMatrixCmplx()

void test::BiCgStabTest::denseMatrixCmplx ( )

Without preconditioning.

◆ denseMatrixReal()

void test::BiCgStabTest::denseMatrixReal ( )

Without preconditioning.

◆ do_fail()

void test::TestCase::do_fail ( const string &  lbl,
const char *  fname,
long  lineno 
)
protectedinherited

Internal function to report a failed test (besides increasing the failed counter)

◆ do_numtest() [1/2]

bool test::TestCase::do_numtest ( double  num,
double  orig,
const string &  lbl,
const string &  lbl2,
const char *  fname,
long  lineno,
const double  tol = 1e-10 
)
protectedinherited

Internal function to do a numerical test.

◆ do_numtest() [2/2]

bool test::TestCase::do_numtest ( std::complex< double >  num,
std::complex< double >  orig,
const string &  lbl,
const string &  lbl2,
const char *  fname,
long  lineno,
const double  tol = 1e-10 
)
protectedinherited

◆ do_test()

bool test::TestCase::do_test ( bool  cond,
const string &  lbl,
const char *  fname,
long  lineno 
)
protectedinherited

Internal function to do a test.

◆ getNumFailed()

long test::TestCase::getNumFailed ( ) const
inlineinherited

Returns number of failed tests.

Definition at line 105 of file testcase.hh.

◆ getNumPassed()

long test::TestCase::getNumPassed ( ) const
inlineinherited

Returns number of passed tests.

Definition at line 103 of file testcase.hh.

◆ getStream()

const ostream* test::TestCase::getStream ( ) const
inlineinherited

Returns output stream.

Definition at line 107 of file testcase.hh.

◆ report()

long test::TestCase::report ( ) const
inherited

Prints a report on the number of passed and failed tests to the output stream.

Returns
Number of failed tests.

◆ reset()

virtual void test::TestCase::reset ( )
inlinevirtualinherited

Resets the counters for the failed and passed tests.

Definition at line 119 of file testcase.hh.

◆ run()

virtual void test::BiCgStabTest::run ( )
virtual

Runs the tests. Must be overwritten by the specialization.

Implements test::TestCase.

◆ setStream()

void test::TestCase::setStream ( ostream *  osptr)
inlineinherited

Sets the output stream.

Definition at line 109 of file testcase.hh.

◆ sparseMatrixCmplx()

void test::BiCgStabTest::sparseMatrixCmplx ( )

Without preconditioning.

◆ sparseMatrixReal()

void test::BiCgStabTest::sparseMatrixReal ( )

Without preconditioning.

◆ testNormal()

template<class F >
void test::BiCgStabTest::testNormal ( concepts::Matrix< F > &  m,
concepts::Vector< F > &  rhs,
res[5] 
)

Without preconditioning.

◆ testPrecond()

template<class F , class G >
void test::BiCgStabTest::testPrecond ( concepts::Matrix< F > &  m,
concepts::Operator< G > &  p,
concepts::Operator< G > &  pinv,
concepts::Vector< F > &  rhs,
res[5] 
)

With diagonal preconditioner.

Member Data Documentation

◆ m_nFail

long test::TestCase::m_nFail
privateinherited

Definition at line 139 of file testcase.hh.

◆ m_nPass

long test::TestCase::m_nPass
privateinherited

Definition at line 138 of file testcase.hh.

◆ m_osptr

ostream* test::TestCase::m_osptr
privateinherited

Definition at line 137 of file testcase.hh.

◆ spc

concepts::DummySpace<concepts::Real> test::BiCgStabTest::spc
private

Without preconditioning.

Definition at line 44 of file BiCGStabTest.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich