Teko Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Teko::DiagnosticLinearOp Class Reference

This linear operator prints diagnostics about operator application and creation times. It is useful for debugging problems and determining bottle necks. More...

#include <Teko_DiagnosticLinearOp.hpp>

Inheritance diagram for Teko::DiagnosticLinearOp:
Inheritance graph
[legend]

Public Member Functions

 DiagnosticLinearOp (const Teuchos::RCP< std::ostream > &ostrm, const ModifiableLinearOp &A, const std::string &diagnosticString)
 This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.
 
 DiagnosticLinearOp (const Teuchos::RCP< std::ostream > &ostrm, const LinearOp &A, const std::string &diagnosticString)
 This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.
 
 DiagnosticLinearOp (const Teuchos::RCP< std::ostream > &ostrm, const LinearOp &fwdOp, const ModifiableLinearOp &A, const std::string &diagnosticString)
 This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.
 
virtual ~DiagnosticLinearOp ()
 Destructor prints out timing information about this operator.
 

Inherited methods from Thyra::LinearOpBase

virtual VectorSpace range () const
 Range space of this operator.
 
virtual VectorSpace domain () const
 Domain space of this operator.
 
virtual void implicitApply (const MultiVector &x, MultiVector &y, const double alpha=1.0, const double beta=0.0) const
 Perform a matrix vector multiply with this operator.
 

Additional Inherited Members

- Protected Member Functions inherited from Teko::ImplicitLinearOp
virtual bool opSupportedImpl (const Thyra::EOpTransp M_trans) const
 Functions required by Thyra::LinearOpBase.
 

Detailed Description

This linear operator prints diagnostics about operator application and creation times. It is useful for debugging problems and determining bottle necks.

Definition at line 69 of file Teko_DiagnosticLinearOp.hpp.

Constructor & Destructor Documentation

◆ DiagnosticLinearOp() [1/3]

Teko::DiagnosticLinearOp::DiagnosticLinearOp ( const Teuchos::RCP< std::ostream > & ostrm,
const ModifiableLinearOp & A,
const std::string & diagnosticString )

This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.

Definition at line 59 of file Teko_DiagnosticLinearOp.cpp.

◆ DiagnosticLinearOp() [2/3]

Teko::DiagnosticLinearOp::DiagnosticLinearOp ( const Teuchos::RCP< std::ostream > & ostrm,
const LinearOp & A,
const std::string & diagnosticString )

This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.

Definition at line 64 of file Teko_DiagnosticLinearOp.cpp.

◆ DiagnosticLinearOp() [3/3]

Teko::DiagnosticLinearOp::DiagnosticLinearOp ( const Teuchos::RCP< std::ostream > & ostrm,
const LinearOp & fwdOp,
const ModifiableLinearOp & A,
const std::string & diagnosticString )

This constructor explicitly takes the linear operator that needs to be wrapped and a string for output that describes the diagnostics.

Definition at line 73 of file Teko_DiagnosticLinearOp.cpp.

◆ ~DiagnosticLinearOp()

Teko::DiagnosticLinearOp::~DiagnosticLinearOp ( )
virtual

Destructor prints out timing information about this operator.

Definition at line 79 of file Teko_DiagnosticLinearOp.cpp.

Member Function Documentation

◆ range()

virtual VectorSpace Teko::DiagnosticLinearOp::range ( ) const
inlinevirtual

Range space of this operator.

Implements Teko::ImplicitLinearOp.

Definition at line 97 of file Teko_DiagnosticLinearOp.hpp.

◆ domain()

virtual VectorSpace Teko::DiagnosticLinearOp::domain ( ) const
inlinevirtual

Domain space of this operator.

Implements Teko::ImplicitLinearOp.

Definition at line 100 of file Teko_DiagnosticLinearOp.hpp.

◆ implicitApply()

void Teko::DiagnosticLinearOp::implicitApply ( const MultiVector & x,
MultiVector & y,
const double alpha = 1.0,
const double beta = 0.0 ) const
virtual

Perform a matrix vector multiply with this operator.

The apply function takes one vector as input and applies the inverse $ LDU $ decomposition. The result is returned in $y$. If this operator is reprsented as $M$ then $ y = \alpha M x + \beta y $ (ignoring conjugation!).

Parameters
[in]x
[in,out]y
[in]alpha(default=1)
[in]beta(default=0)

Implements Teko::ImplicitLinearOp.

Definition at line 105 of file Teko_DiagnosticLinearOp.cpp.


The documentation for this class was generated from the following files: