10#ifndef THYRA_LINEAR_OP_TESTER_DECL_HPP 
   11#define THYRA_LINEAR_OP_TESTER_DECL_HPP 
   14#include "Thyra_OperatorVectorTypes.hpp" 
   15#include "Thyra_MultiVectorRandomizerBase.hpp" 
   16#include "Teuchos_ScalarTraits.hpp" 
   17#include "Teuchos_PromotionTraits.hpp" 
   18#include "Teuchos_StandardMemberCompositionMacros.hpp" 
   19#include "Teuchos_FancyOStream.hpp" 
  285  void setDefaultTols();
 
 
Base class for all linear operators.
 
Testing class for LinearOpBase.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, check_linear_properties)
Set if to check for linear properties alpha*op*(x + y) == op(alpha*x) + op(alpha*y)
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, adjoint_warning_tol)
Set the tolerance above which a relative error will generate a warning message for the check of the a...
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, check_adjoint)
Set if to check for adjoint property x'*(op*y) == y'*(op'*x) if adjoint is supported.
 
bool compare(const LinearOpBase< Scalar > &op1, const LinearOpBase< Scalar > &op2, const Ptr< MultiVectorRandomizerBase< Scalar > > &domainRandomizer, const Ptr< FancyOStream > &out_arg) const
Check if two linear operators are the same or not.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, symmetry_error_tol)
Set the tolerance above which a relative error will generate a error message and result in test failu...
 
LinearOpTester()
Default constructor which sets default parameter values.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, adjoint_error_tol)
Set the tolerance above which a relative error will generate a error message and result in test failu...
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(int, num_random_vectors)
Set the number random vectors that is generated during each test.
 
void set_all_warning_tol(const ScalarMag warning_tol)
Set all the warning tolerances to the same value.
 
bool compare(const LinearOpBase< Scalar > &op1, const LinearOpBase< Scalar > &op2, const Ptr< FancyOStream > &out_arg) const
Calls this->compare(op1,op2,NULL,out,leadingIndent,indentSpacer).
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, symmetry_warning_tol)
Set the tolerance above which a relative error will generate a warning message for the check of symme...
 
void enable_all_tests(const bool enable_all_tests)
Enable or disable all tests.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, check_for_symmetry)
Set if to check for symmetry property x'*(op*y) == y'*(op*x) for symmetric operators.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, show_all_tests)
Set if all tests are shown or just summaries.
 
void set_all_error_tol(const ScalarMag error_tol)
Set all the error tolerances to the same value.
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(int, num_rhs)
Set the number of right-hand-sides in the multivectors.
 
Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
Local typedef for promoted scalar magnitude.
 
bool check(const LinearOpBase< Scalar > &op, const Ptr< MultiVectorRandomizerBase< Scalar > > &rangeRandomizer, const Ptr< MultiVectorRandomizerBase< Scalar > > &domainRandomizer, const Ptr< FancyOStream > &out) const
Check a linear operator.
 
bool check(const LinearOpBase< Scalar > &op, const Ptr< FancyOStream > &out) const
Calls this->check(op,null,null,out,leadingIndent,indentSpacer)
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, linear_properties_warning_tol)
Set the tolerance above which a relative error will generate a warning message for the check of the l...
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(ScalarMag, linear_properties_error_tol)
Set the tolerance above which a relative error will generate a error message and result in test failu...
 
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, dump_all)
Set if all of the vectors are dumped or not (only relevant if show_all_tests()==true).
 
Base interface for a strategy object for randomizing a multi-vector.