| 
    NOX
    Development
    
   | 
 
Object to control scaling of vectors and linear systems. More...
#include <NOX_Epetra_Scaling.H>
Public Types | |
| enum | SourceType { None, RowSum, ColSum, UserDefined } | 
| Describes where the scaling vector comes from.  | |
| enum | ScaleType { Left, Right } | 
| Describes the type of scaling to apply.  | |
Public Member Functions | |
| Scaling () | |
| Constructor.  | |
| virtual | ~Scaling () | 
| Virtual destructor.  | |
| virtual void | addUserScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D) | 
| Add a user supplied diagonal scale vector to the scaling object.  | |
| virtual void | addRowSumScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D) | 
| Add "Row Sum" scaling to the scaling object. The supplied vector is used to store the current row sum vector.  | |
| virtual void | addColSumScaling (ScaleType type, const Teuchos::RCP< Epetra_Vector > &D) | 
| Add "Col Sum" scaling to the scaling object. The supplied vector is used to store the current column sum vector.  | |
| virtual void | computeScaling (const Epetra_LinearProblem &problem) | 
| Computes Row Sum scaling diagonal vectors. Only needs to be called if a row or column sum scaling has been requested.  | |
| virtual void | scaleLinearSystem (Epetra_LinearProblem &problem) | 
| Scales the linear system.  | |
| virtual void | unscaleLinearSystem (Epetra_LinearProblem &problem) | 
| Remove the scaling from the linear system.  | |
| virtual void | applyRightScaling (const Epetra_Vector &input, Epetra_Vector &result) | 
| Applies any RIGHT scaling vectors to an input vector.  | |
| virtual void | applyLeftScaling (const Epetra_Vector &input, Epetra_Vector &result) | 
| Applies any LEFT scaling vectors to an input vector.  | |
| virtual void | print (std::ostream &os) | 
| Printing.  | |
Object to control scaling of vectors and linear systems.
Currently this assumes a diagonal scaling only! Once epetra can do matrix-matrix multiplies we will expand this class.
 1.8.5