EpetraExt Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
EpetraExt::LinearProblem_Scale Class Reference

Given an input Epetra_LinearProblem, recursive, left and right scaling are performed. More...

#include <EpetraExt_Scale_LinearProblem.h>

Inheritance diagram for EpetraExt::LinearProblem_Scale:
Inheritance graph
[legend]

Public Types

enum  ScaleType { Sum, Max, Diag, None }
 
- Public Types inherited from EpetraExt::SameTypeTransform< Epetra_LinearProblem >
typedef Epetra_LinearProblem TransformType
 
typedef Epetra_LinearProblemTransformTypePtr
 
typedef Epetra_LinearProblemTransformTypeRef
 
- Public Types inherited from EpetraExt::Transform< T, U >
typedef T OriginalType
 
typedef T * OriginalTypePtr
 
typedef Teuchos::RCP< T > OriginalTypeRCP
 
typedef T & OriginalTypeRef
 
typedef U NewType
 
typedef U * NewTypePtr
 
typedef Teuchos::RCP< U > NewTypeRCP
 
typedef U & NewTypeRef
 

Public Member Functions

 ~LinearProblem_Scale ()
 Destructor. More...
 
 LinearProblem_Scale (ScaleType left=Sum, ScaleType right=Sum, double exp_fac=1.0, int iterations=1)
 Constructor. More...
 
bool fwd ()
 Applies forward scaling. More...
 
bool rvs ()
 Reverses scaling. More...
 
- Public Member Functions inherited from EpetraExt::InPlaceTransform< Epetra_LinearProblem >
 Transform (typename Transform< Epetra_LinearProblem, Epetra_LinearProblem >::OriginalTypeRef orig)
 
virtual ~InPlaceTransform ()
 
- Public Member Functions inherited from EpetraExt::SameTypeTransform< Epetra_LinearProblem >
virtual ~SameTypeTransform ()
 
- Public Member Functions inherited from EpetraExt::Transform< T, U >
virtual ~Transform ()
 
virtual NewTypeRef operator() (OriginalTypeRef orig)=0
 Analysis of transform operation on original object and construction of new object. More...
 
virtual bool analyze (OriginalTypeRef orig)
 Initial analysis phase of transform. More...
 
virtual NewTypeRef construct ()
 Construction of new object as a result of the transform. More...
 
virtual bool isConstructed ()
 Check for whether transformed object has been constructed. More...
 

Private Attributes

const ScaleType lScale_
 
const ScaleType rScale_
 
const double expFac_
 
const int iters_
 
bool scaled_
 
std::vector< Epetra_Vector * > lScaleVecs_
 
std::vector< Epetra_Vector * > rScaleVecs_
 

Additional Inherited Members

- Protected Member Functions inherited from EpetraExt::Transform< T, U >
 Transform ()
 Default constructor, protected to allow only derived classes to use. More...
 
- Protected Attributes inherited from EpetraExt::Transform< T, U >
OriginalTypePtr origObj_
 
NewTypePtr newObj_
 

Detailed Description

Given an input Epetra_LinearProblem, recursive, left and right scaling are performed.

Definition at line 57 of file EpetraExt_Scale_LinearProblem.h.

Member Enumeration Documentation

Enumerator
Sum 
Max 
Diag 
None 

Definition at line 61 of file EpetraExt_Scale_LinearProblem.h.

Constructor & Destructor Documentation

EpetraExt::LinearProblem_Scale::~LinearProblem_Scale ( )

Destructor.

Definition at line 51 of file EpetraExt_Scale_LinearProblem.cpp.

EpetraExt::LinearProblem_Scale::LinearProblem_Scale ( ScaleType  left = Sum,
ScaleType  right = Sum,
double  exp_fac = 1.0,
int  iterations = 1 
)
inline

Constructor.

Definition at line 71 of file EpetraExt_Scale_LinearProblem.h.

Member Function Documentation

bool EpetraExt::LinearProblem_Scale::fwd ( )
virtual

Applies forward scaling.

Implements EpetraExt::Transform< T, U >.

Definition at line 63 of file EpetraExt_Scale_LinearProblem.cpp.

bool EpetraExt::LinearProblem_Scale::rvs ( )
virtual

Reverses scaling.

Implements EpetraExt::Transform< T, U >.

Definition at line 137 of file EpetraExt_Scale_LinearProblem.cpp.

Member Data Documentation

const ScaleType EpetraExt::LinearProblem_Scale::lScale_
private

Definition at line 94 of file EpetraExt_Scale_LinearProblem.h.

const ScaleType EpetraExt::LinearProblem_Scale::rScale_
private

Definition at line 95 of file EpetraExt_Scale_LinearProblem.h.

const double EpetraExt::LinearProblem_Scale::expFac_
private

Definition at line 97 of file EpetraExt_Scale_LinearProblem.h.

const int EpetraExt::LinearProblem_Scale::iters_
private

Definition at line 99 of file EpetraExt_Scale_LinearProblem.h.

bool EpetraExt::LinearProblem_Scale::scaled_
private

Definition at line 101 of file EpetraExt_Scale_LinearProblem.h.

std::vector<Epetra_Vector*> EpetraExt::LinearProblem_Scale::lScaleVecs_
private

Definition at line 103 of file EpetraExt_Scale_LinearProblem.h.

std::vector<Epetra_Vector*> EpetraExt::LinearProblem_Scale::rScaleVecs_
private

Definition at line 104 of file EpetraExt_Scale_LinearProblem.h.


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