Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar > Class Template Reference

Testing class for LinearOpWithSolveBase. More...

#include <Thyra_LinearOpWithSolveTesterDecl.hpp>

Inheritance diagram for Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >:

Inheritance graph
[legend]
List of all members.

Public types .

typedef Teuchos::ScalarTraits<
RangeScalar >::magnitudeType 
RangeScalarMag
 
typedef Teuchos::ScalarTraits<
DomainScalar >::magnitudeType 
DomainScalarMag
 
typedef Teuchos::PromotionTraits<
RangeScalar, DomainScalar
>::promote 
Scalar
 
typedef Teuchos::ScalarTraits<
Scalar >::magnitudeType 
ScalarMag
 

Constructors/initializers

 LinearOpWithSolveTester ()
 Default constructor.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, check_forward_default)
 Set if a default forward solve will be performed on not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, forward_default_residual_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, forward_default_residual_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, forward_default_solution_error_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, forward_default_solution_error_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, check_forward_residual)
 Set if a tolerance on the residual of the forward solve should checked or not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, forward_residual_solve_tol)
 Set the relative tolerance that will be requested in the residual for the forward solve .
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, forward_residual_slack_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, forward_residual_slack_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, check_adjoint_default)
 Set if a default forward solve will be performed on not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, adjoint_default_residual_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, adjoint_default_residual_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, adjoint_default_solution_error_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (RangeScalarMag, adjoint_default_solution_error_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, check_adjoint_residual)
 Set if a tolerance on the residual of the adjoint solve should checked or not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, adjoint_residual_solve_tol)
 Set the relative tolerance that will be requested in the residual in the adjoint solve .
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, adjoint_residual_slack_warning_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (DomainScalarMag, adjoint_residual_slack_error_tol)
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (int, num_random_vectors)
 Set the number random vectors that is generated during each test.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, show_all_tests)
 Set if all tests are shown or just summaries.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, dump_all)
 Set if all of the vectors are dumped or not (only relevant if show_all_tests()==true).
 STANDARD_MEMBER_COMPOSITION_MEMBERS (int, num_rhs)
 Set the number of right-hand-sides in the multivectors.
void turn_off_all_tests ()
 Turn off all tests so that individual tests can be set.
void set_all_solve_tol (const ScalarMag solve_tol)
 Set all the solve tolerances to the same value.
void set_all_slack_warning_tol (const ScalarMag slack_warning_tol)
 Set all the warning tolerances to the same value.
void set_all_slack_error_tol (const ScalarMag slack_error_tol)
 Set all the error tolerances to the same value.

Overridden from ParameterListAcceptor

void setParameterList (const RCP< ParameterList > &paramList)
 
RCP< const ParameterList > getValidParameters () const
 

LOWS testing

bool check (const LinearOpWithSolveBase< RangeScalar, DomainScalar > &op, Teuchos::FancyOStream *out) const
 Check a LinearOpWithSolveBase object.

Detailed Description

template<class RangeScalar, class DomainScalar = RangeScalar>
class Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >

Testing class for LinearOpWithSolveBase.

This testing class can be used in several different roles:

This class can check single linear solves or multi-RHS (i.e. multi-vector) linear solves.

As a general rule, the client can specify tolerances that are used to determine if a test is successful or not.

The client can pass in randomizer objects that create "random" vectors and multi-vectors that are used by the testing class. This can be very important in some cases and this gives the client full control over what data is used in the tests.

This testing class is not designed to test the LinearOpBase interface. For that purpose, use the LinearOpTester class in conjunction with this testing class to fully validate a LinearOpWithSolveBase object.

ToDo: Finish documentation!

Examples:

silly1DFFT_serial.cpp.

Definition at line 79 of file Thyra_LinearOpWithSolveTesterDecl.hpp.


Member Typedef Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
typedef Teuchos::ScalarTraits<RangeScalar>::magnitudeType Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::RangeScalarMag

Definition at line 88 of file Thyra_LinearOpWithSolveTesterDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
typedef Teuchos::ScalarTraits<DomainScalar>::magnitudeType Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::DomainScalarMag

Definition at line 90 of file Thyra_LinearOpWithSolveTesterDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
typedef Teuchos::PromotionTraits<RangeScalar,DomainScalar>::promote Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::Scalar

Definition at line 92 of file Thyra_LinearOpWithSolveTesterDecl.hpp.

template<class RangeScalar, class DomainScalar = RangeScalar>
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::ScalarMag

Definition at line 94 of file Thyra_LinearOpWithSolveTesterDecl.hpp.


Constructor & Destructor Documentation

template<class RangeScalar, class DomainScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::LinearOpWithSolveTester (  ) 

Default constructor.

Definition at line 51 of file Thyra_LinearOpWithSolveTester.hpp.


Member Function Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
check_forward_default   
)

Set if a default forward solve will be performed on not.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
forward_default_residual_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
forward_default_residual_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
forward_default_solution_error_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
forward_default_solution_error_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
check_forward_residual   
)

Set if a tolerance on the residual of the forward solve should checked or not.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
forward_residual_solve_tol   
)

Set the relative tolerance that will be requested in the residual for the forward solve .

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
forward_residual_slack_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
forward_residual_slack_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
check_adjoint_default   
)

Set if a default forward solve will be performed on not.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
adjoint_default_residual_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
adjoint_default_residual_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
adjoint_default_solution_error_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( RangeScalarMag  ,
adjoint_default_solution_error_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
check_adjoint_residual   
)

Set if a tolerance on the residual of the adjoint solve should checked or not.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
adjoint_residual_solve_tol   
)

Set the relative tolerance that will be requested in the residual in the adjoint solve .

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
adjoint_residual_slack_warning_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( DomainScalarMag  ,
adjoint_residual_slack_error_tol   
)

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( int  ,
num_random_vectors   
)

Set the number random vectors that is generated during each test.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
show_all_tests   
)

Set if all tests are shown or just summaries.

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
dump_all   
)

Set if all of the vectors are dumped or not (only relevant if show_all_tests()==true).

template<class RangeScalar, class DomainScalar = RangeScalar>
Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::STANDARD_MEMBER_COMPOSITION_MEMBERS ( int  ,
num_rhs   
)

Set the number of right-hand-sides in the multivectors.

template<class RangeScalar, class DomainScalar>
void Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::turn_off_all_tests (  ) 

Turn off all tests so that individual tests can be set.

Postconditions:

Definition at line 78 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::set_all_solve_tol ( const ScalarMag  solve_tol  ) 

Set all the solve tolerances to the same value.

Postconditions:

Definition at line 89 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::set_all_slack_warning_tol ( const ScalarMag  slack_warning_tol  ) 

Set all the warning tolerances to the same value.

Postconditions:

Definition at line 100 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::set_all_slack_error_tol ( const ScalarMag  slack_error_tol  ) 

Set all the error tolerances to the same value.

Postconditions:

Definition at line 114 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
void Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::setParameterList ( const RCP< ParameterList > &  paramList  ) 

Definition at line 130 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
RCP< const ParameterList > Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::getValidParameters (  )  const [virtual]

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 148 of file Thyra_LinearOpWithSolveTester.hpp.

template<class RangeScalar, class DomainScalar>
bool Thyra::LinearOpWithSolveTester< RangeScalar, DomainScalar >::check ( const LinearOpWithSolveBase< RangeScalar, DomainScalar > &  op,
Teuchos::FancyOStream out 
) const

Check a LinearOpWithSolveBase object.

ToDo: Finish documentation!

Definition at line 178 of file Thyra_LinearOpWithSolveTester.hpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:27:14 2010 for Thyra Operator Solve Support by  doxygen 1.4.7