PyTrilinos::Anasazi::MatOrthoManagerEpetra Class Reference

Inheritance diagram for PyTrilinos::Anasazi::MatOrthoManagerEpetra:

Inheritance graph
[legend]
Collaboration diagram for PyTrilinos::Anasazi::MatOrthoManagerEpetra:

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def setOp
def getOp
def getOpCounter
def resetOpCounter
def innerProdMat
def normMat
def normalizeMat
def orthonormErrorMat
def orthogErrorMat
def innerProd
def norm
def normalize
def orthonormError
def orthogError
def __init__
def setOp
def getOp
def getOpCounter
def resetOpCounter
def innerProdMat
def normMat
def normalizeMat
def orthonormErrorMat
def orthogErrorMat
def innerProd
def norm
def normalize
def orthonormError
def orthogError


Detailed Description

Anasazi's templated virtual class for providing routines for
orthogonalization and orthonormalization of multivectors using matrix-
based inner products.

This class extends Anasazi::OrthoManager by providing extra calling
arguments to orthogonalization routines, to reduce the cost of
applying the inner product in cases where the user already has the
image of target multivectors under the inner product matrix.

A concrete implementation of this class is necessary. The user can
create their own implementation if those supplied are not suitable for
their needs.

Chris Baker, Ulrich Hetmaniuk, Rich Lehoucq, and Heidi Thornquist

C++ includes: AnasaziMatOrthoManager.hpp 

Member Function Documentation

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::getOp (   self,
  args 
)

getOp(self) -> Teuchos::RCP<(q(const).Epetra_Operator)>

Teuchos::RCP<
const OP > Anasazi::MatOrthoManager< ScalarType, MV, OP >::getOp()
const

Get operator used for inner product. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::getOp (   self,
  args 
)

getOp(self) -> Teuchos::RCP<(q(const).Epetra_Operator)>

Teuchos::RCP<
const OP > Anasazi::MatOrthoManager< ScalarType, MV, OP >::getOp()
const

Get operator used for inner product. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::getOpCounter (   self,
  args 
)

getOpCounter(self) -> int

int
Anasazi::MatOrthoManager< ScalarType, MV, OP >::getOpCounter() const

Retrieve operator counter.

This counter returns the number of applications of the operator
specifying the inner product. When the operator is applied to a
multivector, the counter is incremented by the number of vectors in
the multivector. If the operator is not specified, the counter is
never incremented. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::getOpCounter (   self,
  args 
)

getOpCounter(self) -> int

int
Anasazi::MatOrthoManager< ScalarType, MV, OP >::getOpCounter() const

Retrieve operator counter.

This counter returns the number of applications of the operator
specifying the inner product. When the operator is applied to a
multivector, the counter is incremented by the number of vectors in
the multivector. If the operator is not specified, the counter is
never incremented. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::innerProd (   self,
  args 
)

innerProd(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::SerialDenseMatrix<(int,double)> Z)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::innerProd(const MV &X,
const MV &Y, Teuchos::SerialDenseMatrix< int, ScalarType > &Z) const

Implements the interface OrthoManager::innerProd().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::innerProd (   self,
  args 
)

innerProd(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::SerialDenseMatrix<(int,double)> Z)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::innerProd(const MV &X,
const MV &Y, Teuchos::SerialDenseMatrix< int, ScalarType > &Z) const

Implements the interface OrthoManager::innerProd().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::innerProdMat (   self,
  args 
)

innerProdMat(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::SerialDenseMatrix<(int,double)> Z, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MY = Teuchos::null)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::innerProdMat(const MV
&X, const MV &Y, Teuchos::SerialDenseMatrix< int, ScalarType > &Z,
Teuchos::RCP< const MV > MX=Teuchos::null, Teuchos::RCP< const MV >
MY=Teuchos::null) const

Provides a matrix-based inner product.

Provides the inner product \\[ \\langle x, y \\rangle = x^H M y
\\] Optionally allows the provision of $M y$ and/or $M x$. See
OrthoManager::innerProd() for more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::innerProdMat (   self,
  args 
)

innerProdMat(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::SerialDenseMatrix<(int,double)> Z, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MY = Teuchos::null)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::innerProdMat(const MV
&X, const MV &Y, Teuchos::SerialDenseMatrix< int, ScalarType > &Z,
Teuchos::RCP< const MV > MX=Teuchos::null, Teuchos::RCP< const MV >
MY=Teuchos::null) const

Provides a matrix-based inner product.

Provides the inner product \\[ \\langle x, y \\rangle = x^H M y
\\] Optionally allows the provision of $M y$ and/or $M x$. See
OrthoManager::innerProd() for more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::norm (   self,
  args 
)

norm(self, Epetra_MultiVector X, std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> normvec)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::norm(const MV &X,
std::vector< typename Teuchos::ScalarTraits< ScalarType
>::magnitudeType > &normvec) const

Implements the interface OrthoManager::norm().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::norm (   self,
  args 
)

norm(self, Epetra_MultiVector X, std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> normvec)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::norm(const MV &X,
std::vector< typename Teuchos::ScalarTraits< ScalarType
>::magnitudeType > &normvec) const

Implements the interface OrthoManager::norm().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normalize (   self,
  args 
)

normalize(self, Epetra_MultiVector X, Teuchos::RCP<(Teuchos::SerialDenseMatrix<(int,double)>)> B = Teuchos::null) -> int

int
Anasazi::MatOrthoManager< ScalarType, MV, OP >::normalize(MV &X,
Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > >
B=Teuchos::null) const

Implements the interface OrthoManager::normalize().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normalize (   self,
  args 
)

normalize(self, Epetra_MultiVector X, Teuchos::RCP<(Teuchos::SerialDenseMatrix<(int,double)>)> B = Teuchos::null) -> int

int
Anasazi::MatOrthoManager< ScalarType, MV, OP >::normalize(MV &X,
Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > >
B=Teuchos::null) const

Implements the interface OrthoManager::normalize().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normalizeMat (   self,
  args 
)

normalizeMat(self, Epetra_MultiVector X, Teuchos::RCP<(Teuchos::SerialDenseMatrix<(int,double)>)> B = Teuchos::null, 
    Teuchos::RCP<(Epetra_MultiVector)> MX = Teuchos::null) -> int

virtual int Anasazi::MatOrthoManager< ScalarType, MV, OP
>::normalizeMat(MV &X, Teuchos::RCP< Teuchos::SerialDenseMatrix< int,
ScalarType > > B=Teuchos::null, Teuchos::RCP< MV > MX=Teuchos::null)
const =0

Provides matrix-based orthonormalization method.

This method optionally allows the provision of $M X$. See
orthoManager::normalize() for more details.

Parameters:
-----------

X:  B:  [in/out] As in OrthoManager::normalize()

MX:  [in/out] If specified by the user, on input MX is required to be
the image of X under the operator getOp(). On output, MX will be
updated to reflect the changes in X.

Rank of the basis computed by this method, less than or equal to the
number of columns in X. This specifies how many columns in the
returned X and MX and rows in the returned B are valid. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normalizeMat (   self,
  args 
)

normalizeMat(self, Epetra_MultiVector X, Teuchos::RCP<(Teuchos::SerialDenseMatrix<(int,double)>)> B = Teuchos::null, 
    Teuchos::RCP<(Epetra_MultiVector)> MX = Teuchos::null) -> int

virtual int Anasazi::MatOrthoManager< ScalarType, MV, OP
>::normalizeMat(MV &X, Teuchos::RCP< Teuchos::SerialDenseMatrix< int,
ScalarType > > B=Teuchos::null, Teuchos::RCP< MV > MX=Teuchos::null)
const =0

Provides matrix-based orthonormalization method.

This method optionally allows the provision of $M X$. See
orthoManager::normalize() for more details.

Parameters:
-----------

X:  B:  [in/out] As in OrthoManager::normalize()

MX:  [in/out] If specified by the user, on input MX is required to be
the image of X under the operator getOp(). On output, MX will be
updated to reflect the changes in X.

Rank of the basis computed by this method, less than or equal to the
number of columns in X. This specifies how many columns in the
returned X and MX and rows in the returned B are valid. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normMat (   self,
  args 
)

normMat(self, Epetra_MultiVector X, std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> normvec, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::normMat(const MV &X,
std::vector< typename Teuchos::ScalarTraits< ScalarType
>::magnitudeType > &normvec, Teuchos::RCP< const MV >
MX=Teuchos::null) const

Provides the norm induced by the matrix-based inner product.

Provides the norm: \\[ \\|x\\|_M = \\sqrt{x^H M y} \\]
Optionally allows the provision of $M x$. See OrthoManager::norm() for
more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::normMat (   self,
  args 
)

normMat(self, Epetra_MultiVector X, std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> normvec, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::normMat(const MV &X,
std::vector< typename Teuchos::ScalarTraits< ScalarType
>::magnitudeType > &normvec, Teuchos::RCP< const MV >
MX=Teuchos::null) const

Provides the norm induced by the matrix-based inner product.

Provides the norm: \\[ \\|x\\|_M = \\sqrt{x^H M y} \\]
Optionally allows the provision of $M x$. See OrthoManager::norm() for
more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthogError (   self,
  args 
)

orthogError(self, Epetra_MultiVector X1, Epetra_MultiVector X2) -> magnitudeType

Teuchos::ScalarTraits< ScalarType >::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthogError(const MV
&X1, const MV &X2) const

Implements the interface OrthoManager::orthogError().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthogError (   self,
  args 
)

orthogError(self, Epetra_MultiVector X1, Epetra_MultiVector X2) -> magnitudeType

Teuchos::ScalarTraits< ScalarType >::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthogError(const MV
&X1, const MV &X2) const

Implements the interface OrthoManager::orthogError().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthogErrorMat (   self,
  args 
)

orthogErrorMat(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MY = Teuchos::null) -> magnitudeType

virtual Teuchos::ScalarTraits<ScalarType>::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthogErrorMat(const
MV &X, const MV &Y, Teuchos::RCP< const MV > MX=Teuchos::null,
Teuchos::RCP< const MV > MY=Teuchos::null) const =0

This method computes the error in orthogonality of two multivectors.

This method optionally allows optionally exploits a caller-provided MX
and/or MY. 

Reimplemented in PyTrilinos::Anasazi::BasicOrthoManagerEpetra, PyTrilinos::Anasazi::SVQBOrthoManagerEpetra, PyTrilinos::Anasazi::BasicOrthoManagerEpetra, and PyTrilinos::Anasazi::SVQBOrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthogErrorMat (   self,
  args 
)

orthogErrorMat(self, Epetra_MultiVector X, Epetra_MultiVector Y, Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null, 
    Teuchos::RCP<(q(const).Epetra_MultiVector)> MY = Teuchos::null) -> magnitudeType

virtual Teuchos::ScalarTraits<ScalarType>::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthogErrorMat(const
MV &X, const MV &Y, Teuchos::RCP< const MV > MX=Teuchos::null,
Teuchos::RCP< const MV > MY=Teuchos::null) const =0

This method computes the error in orthogonality of two multivectors.

This method optionally allows optionally exploits a caller-provided MX
and/or MY. 

Reimplemented in PyTrilinos::Anasazi::BasicOrthoManagerEpetra, PyTrilinos::Anasazi::SVQBOrthoManagerEpetra, PyTrilinos::Anasazi::BasicOrthoManagerEpetra, and PyTrilinos::Anasazi::SVQBOrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthonormError (   self,
  args 
)

orthonormError(self, Epetra_MultiVector X) -> magnitudeType

Teuchos::ScalarTraits< ScalarType >::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthonormError(const
MV &X) const

Implements the interface OrthoManager::orthonormError().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthonormError (   self,
  args 
)

orthonormError(self, Epetra_MultiVector X) -> magnitudeType

Teuchos::ScalarTraits< ScalarType >::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP >::orthonormError(const
MV &X) const

Implements the interface OrthoManager::orthonormError().

This method calls 

Reimplemented from PyTrilinos::Anasazi::OrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthonormErrorMat (   self,
  args 
)

orthonormErrorMat(self, Epetra_MultiVector X, Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null) -> magnitudeType

virtual Teuchos::ScalarTraits<ScalarType>::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP
>::orthonormErrorMat(const MV &X, Teuchos::RCP< const MV >
MX=Teuchos::null) const =0

This method computes the error in orthonormality of a multivector.

This method optionally allows optionally exploits a caller-provided
MX. 

Reimplemented in PyTrilinos::Anasazi::BasicOrthoManagerEpetra, PyTrilinos::Anasazi::SVQBOrthoManagerEpetra, PyTrilinos::Anasazi::BasicOrthoManagerEpetra, and PyTrilinos::Anasazi::SVQBOrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::orthonormErrorMat (   self,
  args 
)

orthonormErrorMat(self, Epetra_MultiVector X, Teuchos::RCP<(q(const).Epetra_MultiVector)> MX = Teuchos::null) -> magnitudeType

virtual Teuchos::ScalarTraits<ScalarType>::magnitudeType
Anasazi::MatOrthoManager< ScalarType, MV, OP
>::orthonormErrorMat(const MV &X, Teuchos::RCP< const MV >
MX=Teuchos::null) const =0

This method computes the error in orthonormality of a multivector.

This method optionally allows optionally exploits a caller-provided
MX. 

Reimplemented in PyTrilinos::Anasazi::BasicOrthoManagerEpetra, PyTrilinos::Anasazi::SVQBOrthoManagerEpetra, PyTrilinos::Anasazi::BasicOrthoManagerEpetra, and PyTrilinos::Anasazi::SVQBOrthoManagerEpetra.

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::resetOpCounter (   self,
  args 
)

resetOpCounter(self)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::resetOpCounter()

Reset the operator counter to zero.

See getOpCounter() for more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::resetOpCounter (   self,
  args 
)

resetOpCounter(self)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::resetOpCounter()

Reset the operator counter to zero.

See getOpCounter() for more details. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::setOp (   self,
  args 
)

setOp(self, Teuchos::RCP<(q(const).Epetra_Operator)> Op)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::setOp(Teuchos::RCP<
const OP > Op)

Set operator used for inner product. 

def PyTrilinos::Anasazi::MatOrthoManagerEpetra::setOp (   self,
  args 
)

setOp(self, Teuchos::RCP<(q(const).Epetra_Operator)> Op)

void
Anasazi::MatOrthoManager< ScalarType, MV, OP >::setOp(Teuchos::RCP<
const OP > Op)

Set operator used for inner product. 


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

Generated on Thu Dec 17 11:00:20 2009 for PyTrilinos by  doxygen 1.5.9