PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra Class Reference

Inheritance diagram for PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def getProblem
def getNumIters
def getRitzValues
def getTimers
def solve
def setGlobalStatusTest
def getGlobalStatusTest
def setDebugStatusTest
def getDebugStatusTest
def __init__
def getProblem
def getNumIters
def getRitzValues
def getTimers
def solve
def setGlobalStatusTest
def getGlobalStatusTest
def setDebugStatusTest
def getDebugStatusTest

Public Attributes

 this


Detailed Description

The Anasazi::BlockKrylovSchurSolMgr provides a flexible solver manager
over the BlockKrylovSchur eigensolver.

The solver manager provides to the solver a StatusTestCombo object
constructed as follows: combo = globaltest OR debugtest  where
globaltest terminates computation when global convergence has been
detected.  It is encapsulated in a StatusTestWithOrdering object, to
ensure that computation is terminated only after the most significant
eigenvalues/eigenvectors have met the convergence criteria.  If not
specified via setGlobalStatusTest(), this test is a StatusTestResNorm
object which tests the 2-norms of the Ritz residuals relative to the
Ritz values.

debugtest allows a user to specify additional monitoring of the
iteration, encapsulated in a StatusTest object  If not specified via
setDebugStatusTest(), debugtest is ignored.  In most cases, it should
return Failed; if it returns Passed, solve() will throw an
AnasaziError exception.

Additionally, the solver manager will terminate solve() after a
specified number of restarts.

Much of this behavior is controlled via parameters and options passed
to the solver manager. For more information, see
BlockKrylovSchurSolMgr().

Chris Baker, Ulrich Hetmaniuk, Rich Lehoucq, Heidi Thornquist

C++ includes: AnasaziBlockKrylovSchurSolMgr.hpp 

Member Function Documentation

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::__init__ (   self,
  args 
)

__init__(self, Teuchos::RCP<(Anasazi::Eigenproblem<(double,Epetra_MultiVector,Epetra_Operator)>)> problem, 
    ParameterList pl) -> BlockKrylovSchurSolMgrEpetra

Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::BlockKrylovSchurSolMgr(const Teuchos::RCP< Eigenproblem<
ScalarType, MV, OP > > &problem, Teuchos::ParameterList &pl)

Basic constructor for BlockKrylovSchurSolMgr.

This constructor accepts the Eigenproblem to be solved in addition to
a parameter list of options for the solver manager. These options
include the following: Solver parameters  "Which" - a string
specifying the desired eigenvalues: SM, LM, SR or LR. Default: "LM"

"Block Size" - a int specifying the block size to be used by the
underlying block Krylov- Schur solver. Default: 1

"Num Blocks" - a int specifying the number of blocks allocated for
the Krylov basis. Default: 3*nev

"Extra NEV Blocks" - a int specifying the number of extra blocks the
solver should keep in addition to those required to compute the number
of eigenvalues requested. Default: 0

"Maximum Restarts" - a int specifying the maximum number of restarts
the underlying solver is allowed to perform. Default: 20

"Orthogonalization" - a string specifying the desired
orthogonalization: DGKS and SVQB. Default: "SVQB"

"Verbosity" - a sum of MsgType specifying the verbosity. Default:
Anasazi::Errors

Convergence parameters  "Convergence Tolerance" - a MagnitudeType
specifying the level that residual norms must reach to decide
convergence. Default: machine precision.

"Relative Convergence Tolerance" - a bool specifying whether
residuals norms should be scaled by their eigenvalues for the
purposing of deciding convergence. Default: true 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::__init__ (   self,
  args 
)

__init__(self, Teuchos::RCP<(Anasazi::Eigenproblem<(double,Epetra_MultiVector,Epetra_Operator)>)> problem, 
    ParameterList pl) -> BlockKrylovSchurSolMgrEpetra

Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::BlockKrylovSchurSolMgr(const Teuchos::RCP< Eigenproblem<
ScalarType, MV, OP > > &problem, Teuchos::ParameterList &pl)

Basic constructor for BlockKrylovSchurSolMgr.

This constructor accepts the Eigenproblem to be solved in addition to
a parameter list of options for the solver manager. These options
include the following: Solver parameters  "Which" - a string
specifying the desired eigenvalues: SM, LM, SR or LR. Default: "LM"

"Block Size" - a int specifying the block size to be used by the
underlying block Krylov- Schur solver. Default: 1

"Num Blocks" - a int specifying the number of blocks allocated for
the Krylov basis. Default: 3*nev

"Extra NEV Blocks" - a int specifying the number of extra blocks the
solver should keep in addition to those required to compute the number
of eigenvalues requested. Default: 0

"Maximum Restarts" - a int specifying the maximum number of restarts
the underlying solver is allowed to perform. Default: 20

"Orthogonalization" - a string specifying the desired
orthogonalization: DGKS and SVQB. Default: "SVQB"

"Verbosity" - a sum of MsgType specifying the verbosity. Default:
Anasazi::Errors

Convergence parameters  "Convergence Tolerance" - a MagnitudeType
specifying the level that residual norms must reach to decide
convergence. Default: machine precision.

"Relative Convergence Tolerance" - a bool specifying whether
residuals norms should be scaled by their eigenvalues for the
purposing of deciding convergence. Default: true 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getDebugStatusTest (   self,
  args 
)

getDebugStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)>

const
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getDebugStatusTest() const

Get the status test for debugging. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getDebugStatusTest (   self,
  args 
)

getDebugStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)>

const
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getDebugStatusTest() const

Get the status test for debugging. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getGlobalStatusTest (   self,
  args 
)

getGlobalStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)>

const
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getGlobalStatusTest() const

Get the status test defining global convergence. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getGlobalStatusTest (   self,
  args 
)

getGlobalStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)>

const
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getGlobalStatusTest() const

Get the status test defining global convergence. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getNumIters (   self,
  args 
)

getNumIters(self) -> int

int Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getNumIters() const

Get the iteration count for the most recent call to  solve(). 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getNumIters (   self,
  args 
)

getNumIters(self) -> int

int Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::getNumIters() const

Get the iteration count for the most recent call to  solve(). 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getProblem (   self,
  args 
)

getProblem(self) -> EigenproblemEpetra

const Eigenproblem<ScalarType,MV,OP>& Anasazi::BlockKrylovSchurSolMgr<
ScalarType, MV, OP >::getProblem() const

Return the eigenvalue problem. 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getProblem (   self,
  args 
)

getProblem(self) -> EigenproblemEpetra

const Eigenproblem<ScalarType,MV,OP>& Anasazi::BlockKrylovSchurSolMgr<
ScalarType, MV, OP >::getProblem() const

Return the eigenvalue problem. 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getRitzValues (   self,
  args 
)

getRitzValues(self) -> VectorValueDouble

std::vector<Value<ScalarType> > Anasazi::BlockKrylovSchurSolMgr<
ScalarType, MV, OP >::getRitzValues() const

Return the Ritz values from the most recent solve. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getRitzValues (   self,
  args 
)

getRitzValues(self) -> VectorValueDouble

std::vector<Value<ScalarType> > Anasazi::BlockKrylovSchurSolMgr<
ScalarType, MV, OP >::getRitzValues() const

Return the Ritz values from the most recent solve. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getTimers (   self,
  args 
)

getTimers(self) -> Teuchos::Array<(Teuchos::RCP<(Teuchos::Time)>)>

Teuchos::Array<Teuchos::RCP<Teuchos::Time> >
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP >::getTimers()
const

Return the timers for this object.

The timers are ordered as follows: time spent in solve() routine

time spent restarting 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::getTimers (   self,
  args 
)

getTimers(self) -> Teuchos::Array<(Teuchos::RCP<(Teuchos::Time)>)>

Teuchos::Array<Teuchos::RCP<Teuchos::Time> >
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP >::getTimers()
const

Return the timers for this object.

The timers are ordered as follows: time spent in solve() routine

time spent restarting 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::setDebugStatusTest (   self,
  args 
)

setDebugStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> debug)

void
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::setDebugStatusTest(const Teuchos::RCP< StatusTest< ScalarType, MV,
OP > > &debug)

Set the status test for debugging. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::setDebugStatusTest (   self,
  args 
)

setDebugStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> debug)

void
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::setDebugStatusTest(const Teuchos::RCP< StatusTest< ScalarType, MV,
OP > > &debug)

Set the status test for debugging. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::setGlobalStatusTest (   self,
  args 
)

setGlobalStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> _global)

void
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::setGlobalStatusTest(const Teuchos::RCP< StatusTest< ScalarType, MV,
OP > > &global)

Set the status test defining global convergence. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::setGlobalStatusTest (   self,
  args 
)

setGlobalStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> _global)

void
Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::setGlobalStatusTest(const Teuchos::RCP< StatusTest< ScalarType, MV,
OP > > &global)

Set the status test defining global convergence. 

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::solve (   self,
  args 
)

solve(self) -> ReturnType

ReturnType Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::solve()

This method performs possibly repeated calls to the underlying
eigensolver's iterate() routine until the problem has been solved (as
decided by the solver manager) or the solver manager decides to quit.

This method calls BlockKrylovSchur::iterate(), which will return
either because a specially constructed status test evaluates to Passed
or an exception is thrown.

A return from BlockKrylovSchur::iterate() signifies one of the
following scenarios: the maximum number of restarts has been exceeded.
In this scenario, the solver manager will place  all converged
eigenpairs into the eigenproblem and return Unconverged.

global convergence has been met. In this case, the most significant
NEV eigenpairs in the solver and locked storage  have met the
convergence criterion. (Here, NEV refers to the number of eigenpairs
requested by the Eigenproblem.)  In this scenario, the solver manager
will return Converged.

ReturnType specifying: Converged: the eigenproblem was solved to the
specification required by the solver manager.

Unconverged: the eigenproblem was not solved to the specification
desired by the solver manager. 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.

def PyTrilinos::Anasazi::BlockKrylovSchurSolMgrEpetra::solve (   self,
  args 
)

solve(self) -> ReturnType

ReturnType Anasazi::BlockKrylovSchurSolMgr< ScalarType, MV, OP
>::solve()

This method performs possibly repeated calls to the underlying
eigensolver's iterate() routine until the problem has been solved (as
decided by the solver manager) or the solver manager decides to quit.

This method calls BlockKrylovSchur::iterate(), which will return
either because a specially constructed status test evaluates to Passed
or an exception is thrown.

A return from BlockKrylovSchur::iterate() signifies one of the
following scenarios: the maximum number of restarts has been exceeded.
In this scenario, the solver manager will place  all converged
eigenpairs into the eigenproblem and return Unconverged.

global convergence has been met. In this case, the most significant
NEV eigenpairs in the solver and locked storage  have met the
convergence criterion. (Here, NEV refers to the number of eigenpairs
requested by the Eigenproblem.)  In this scenario, the solver manager
will return Converged.

ReturnType specifying: Converged: the eigenproblem was solved to the
specification required by the solver manager.

Unconverged: the eigenproblem was not solved to the specification
desired by the solver manager. 

Reimplemented from PyTrilinos::Anasazi::SolverManagerEpetra.


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