Public Member Functions | |
def | __init__ |
def | iterate |
def | initialize |
def | isInitialized |
def | getState |
def | getNumIters |
def | resetNumIters |
def | getRitzVectors |
def | getRitzValues |
def | getRitzIndex |
def | getResNorms |
def | getRes2Norms |
def | getRitzRes2Norms |
def | getCurSubspaceDim |
def | getMaxSubspaceDim |
def | setStatusTest |
def | getStatusTest |
def | getProblem |
def | setBlockSize |
def | getBlockSize |
def | setAuxVecs |
def | getAuxVecs |
def | setSize |
def | currentStatus |
def | __init__ |
def | iterate |
def | initialize |
def | isInitialized |
def | getState |
def | getNumIters |
def | resetNumIters |
def | getRitzVectors |
def | getRitzValues |
def | getRitzIndex |
def | getResNorms |
def | getRes2Norms |
def | getRitzRes2Norms |
def | getCurSubspaceDim |
def | getMaxSubspaceDim |
def | setStatusTest |
def | getStatusTest |
def | getProblem |
def | setBlockSize |
def | getBlockSize |
def | setAuxVecs |
def | getAuxVecs |
def | setSize |
def | currentStatus |
Public Attributes | |
this |
This class implements a Block Davidson iteration, a preconditioned iteration for solving linear Hermitian eigenproblems. This method is described in A Comparison of Eigensolvers for Large- scale 3D Modal Analysis Using AMG-Preconditioned Iterative Methods, P. Arbenz, U. L. Hetmaniuk, R. B. Lehoucq, R. S. Tuminaro, Internat. J. for Numer. Methods Engrg., 64, pp. 204-236 (2005) Chris Baker, Ulrich Hetmaniuk, Rich Lehoucq, Heidi Thornquist C++ includes: AnasaziBlockDavidson.hpp
def PyTrilinos::Anasazi::BlockDavidsonEpetra::__init__ | ( | self, | ||
args | ||||
) |
__init__(self, Teuchos::RCP<(Anasazi::Eigenproblem<(double,Epetra_MultiVector,Epetra_Operator)>)> problem, Teuchos::RCP<(Anasazi::SortManager<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> sorter, Teuchos::RCP<(Anasazi::OutputManager<(double)>)> printer, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> tester, Teuchos::RCP<(Anasazi::MatOrthoManager<(double,Epetra_MultiVector,Epetra_Operator)>)> ortho, ParameterList params) -> BlockDavidsonEpetra Anasazi::BlockDavidson< ScalarType, MV, OP >::BlockDavidson(const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< SortManager< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > > &sorter, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, const Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList ¶ms) BlockDavidson constructor with eigenproblem, solver utilities, and parameter list of solver options. This constructor takes pointers required by the eigensolver, in addition to a parameter list of options for the eigensolver. These options include the following: "Block Size" - an int specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method. "Num Blocks" - an int specifying the maximum number of blocks allocated for the solver basis.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::__init__ | ( | self, | ||
args | ||||
) |
__init__(self, Teuchos::RCP<(Anasazi::Eigenproblem<(double,Epetra_MultiVector,Epetra_Operator)>)> problem, Teuchos::RCP<(Anasazi::SortManager<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> sorter, Teuchos::RCP<(Anasazi::OutputManager<(double)>)> printer, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> tester, Teuchos::RCP<(Anasazi::MatOrthoManager<(double,Epetra_MultiVector,Epetra_Operator)>)> ortho, ParameterList params) -> BlockDavidsonEpetra Anasazi::BlockDavidson< ScalarType, MV, OP >::BlockDavidson(const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< SortManager< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > > &sorter, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, const Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList ¶ms) BlockDavidson constructor with eigenproblem, solver utilities, and parameter list of solver options. This constructor takes pointers required by the eigensolver, in addition to a parameter list of options for the eigensolver. These options include the following: "Block Size" - an int specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method. "Num Blocks" - an int specifying the maximum number of blocks allocated for the solver basis.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::currentStatus | ( | self, | ||
args | ||||
) |
currentStatus(self, ostream os) void Anasazi::BlockDavidson< ScalarType, MV, OP >::currentStatus(std::ostream &os) This method requests that the solver print out its current status to the given output stream.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::currentStatus | ( | self, | ||
args | ||||
) |
currentStatus(self, ostream os) void Anasazi::BlockDavidson< ScalarType, MV, OP >::currentStatus(std::ostream &os) This method requests that the solver print out its current status to the given output stream.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getAuxVecs | ( | self, | ||
args | ||||
) |
getAuxVecs(self) -> Teuchos::Array<(Teuchos::RCP<(q(const).Epetra_MultiVector)>)> Teuchos::Array< Teuchos::RCP< const MV > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getAuxVecs() const Get the auxiliary vectors for the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getAuxVecs | ( | self, | ||
args | ||||
) |
getAuxVecs(self) -> Teuchos::Array<(Teuchos::RCP<(q(const).Epetra_MultiVector)>)> Teuchos::Array< Teuchos::RCP< const MV > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getAuxVecs() const Get the auxiliary vectors for the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getBlockSize | ( | self, | ||
args | ||||
) |
getBlockSize(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getBlockSize() const Get the blocksize used by the iterative solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getBlockSize | ( | self, | ||
args | ||||
) |
getBlockSize(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getBlockSize() const Get the blocksize used by the iterative solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getCurSubspaceDim | ( | self, | ||
args | ||||
) |
getCurSubspaceDim(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getCurSubspaceDim() const Get the dimension of the search subspace used to generate the current eigenvectors and eigenvalues. An integer specifying the rank of the Krylov subspace currently in use by the eigensolver. If isInitialized() == false, the return is 0. Otherwise, it will be some strictly positive multiple of getBlockSize().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getCurSubspaceDim | ( | self, | ||
args | ||||
) |
getCurSubspaceDim(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getCurSubspaceDim() const Get the dimension of the search subspace used to generate the current eigenvectors and eigenvalues. An integer specifying the rank of the Krylov subspace currently in use by the eigensolver. If isInitialized() == false, the return is 0. Otherwise, it will be some strictly positive multiple of getBlockSize().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getMaxSubspaceDim | ( | self, | ||
args | ||||
) |
getMaxSubspaceDim(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getMaxSubspaceDim() const Get the maximum dimension allocated for the search subspace. For BlockDavidson, this always returns numBlocks*blockSize.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getMaxSubspaceDim | ( | self, | ||
args | ||||
) |
getMaxSubspaceDim(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getMaxSubspaceDim() const Get the maximum dimension allocated for the search subspace. For BlockDavidson, this always returns numBlocks*blockSize.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getNumIters | ( | self, | ||
args | ||||
) |
getNumIters(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getNumIters() const Get the current iteration count.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getNumIters | ( | self, | ||
args | ||||
) |
getNumIters(self) -> int int Anasazi::BlockDavidson< ScalarType, MV, OP >::getNumIters() const Get the current iteration count.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getProblem | ( | self, | ||
args | ||||
) |
getProblem(self) -> EigenproblemEpetra const Eigenproblem< ScalarType, MV, OP > & Anasazi::BlockDavidson< ScalarType, MV, OP >::getProblem() const Get a constant reference to the eigenvalue problem.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getProblem | ( | self, | ||
args | ||||
) |
getProblem(self) -> EigenproblemEpetra const Eigenproblem< ScalarType, MV, OP > & Anasazi::BlockDavidson< ScalarType, MV, OP >::getProblem() const Get a constant reference to the eigenvalue problem.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRes2Norms | ( | self, | ||
args | ||||
) |
getRes2Norms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRes2Norms() Get the current residual 2-norms, computing the norms if they are not up-to-date with the current residual vectors. A vector of length getCurSubspaceDim() containing the 2-norms of the current residuals.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRes2Norms | ( | self, | ||
args | ||||
) |
getRes2Norms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRes2Norms() Get the current residual 2-norms, computing the norms if they are not up-to-date with the current residual vectors. A vector of length getCurSubspaceDim() containing the 2-norms of the current residuals.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getResNorms | ( | self, | ||
args | ||||
) |
getResNorms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getResNorms() Get the current residual norms, computing the norms if they are not up-to-date with the current residual vectors. A vector of length getCurSubspaceDim() containing the norms of the residuals, with respect to the orthogonalization manager's norm() method.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getResNorms | ( | self, | ||
args | ||||
) |
getResNorms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getResNorms() Get the current residual norms, computing the norms if they are not up-to-date with the current residual vectors. A vector of length getCurSubspaceDim() containing the norms of the residuals, with respect to the orthogonalization manager's norm() method.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzIndex | ( | self, | ||
args | ||||
) |
getRitzIndex(self) -> VectorInt std::vector< int > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzIndex() Get the index used for extracting individual Ritz vectors from getRitzVectors(). Because BlockDavidson is a Hermitian solver, all Ritz values are real and all Ritz vectors can be represented in a single column of a multivector. Therefore, getRitzIndex() is not needed when using the output from getRitzVectors(). An int vector of size getCurSubspaceDim() composed of zeros.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzIndex | ( | self, | ||
args | ||||
) |
getRitzIndex(self) -> VectorInt std::vector< int > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzIndex() Get the index used for extracting individual Ritz vectors from getRitzVectors(). Because BlockDavidson is a Hermitian solver, all Ritz values are real and all Ritz vectors can be represented in a single column of a multivector. Therefore, getRitzIndex() is not needed when using the output from getRitzVectors(). An int vector of size getCurSubspaceDim() composed of zeros.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzRes2Norms | ( | self, | ||
args | ||||
) |
getRitzRes2Norms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzRes2Norms() Get the 2-norms of the residuals. The Ritz residuals are not defined for the LOBPCG iteration. Hence, this method returns the 2-norms of the direct residuals, and is equivalent to calling getRes2Norms(). A vector of length getBlockSize() containing the 2-norms of the direct residuals.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzRes2Norms | ( | self, | ||
args | ||||
) |
getRitzRes2Norms(self) -> std::vector<(Teuchos::ScalarTraits<(double)>::magnitudeType,std::allocator<(Teuchos::ScalarTraits<(double)>::magnitudeType)>)> std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzRes2Norms() Get the 2-norms of the residuals. The Ritz residuals are not defined for the LOBPCG iteration. Hence, this method returns the 2-norms of the direct residuals, and is equivalent to calling getRes2Norms(). A vector of length getBlockSize() containing the 2-norms of the direct residuals.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzValues | ( | self, | ||
args | ||||
) |
getRitzValues(self) -> VectorValueDouble std::vector< Value< ScalarType > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzValues() Get the Ritz values for the previous iteration. A vector of length getCurSubspaceDim() containing the Ritz values from the previous projected eigensolve.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzValues | ( | self, | ||
args | ||||
) |
getRitzValues(self) -> VectorValueDouble std::vector< Value< ScalarType > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzValues() Get the Ritz values for the previous iteration. A vector of length getCurSubspaceDim() containing the Ritz values from the previous projected eigensolve.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzVectors | ( | self, | ||
args | ||||
) |
getRitzVectors(self) -> Teuchos::RCP<(q(const).Epetra_MultiVector)> Teuchos::RCP< const MV > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzVectors() Get access to the current Ritz vectors. A multivector with getBlockSize() vectors containing the sorted Ritz vectors corresponding to the most significant Ritz values. The i-th vector of the return corresponds to the i-th Ritz vector; there is no need to use getRitzIndex().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getRitzVectors | ( | self, | ||
args | ||||
) |
getRitzVectors(self) -> Teuchos::RCP<(q(const).Epetra_MultiVector)> Teuchos::RCP< const MV > Anasazi::BlockDavidson< ScalarType, MV, OP >::getRitzVectors() Get access to the current Ritz vectors. A multivector with getBlockSize() vectors containing the sorted Ritz vectors corresponding to the most significant Ritz values. The i-th vector of the return corresponds to the i-th Ritz vector; there is no need to use getRitzIndex().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getState | ( | self, | ||
args | ||||
) |
getState(self) -> Anasazi::BlockDavidsonState<(double,Epetra_MultiVector)> BlockDavidsonState< ScalarType, MV > Anasazi::BlockDavidson< ScalarType, MV, OP >::getState() const Get access to the current state of the eigensolver. The data is only valid if isInitialized() == true. The data for the preconditioned residual is only meaningful in the scenario that the solver throws a BlockDavidsonRitzFailure exception during iterate(). A BlockDavidsonState object containing const pointers to the current solver state. Note, these are direct pointers to the multivectors; they are not pointers to views of the multivectors.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getState | ( | self, | ||
args | ||||
) |
getState(self) -> Anasazi::BlockDavidsonState<(double,Epetra_MultiVector)> BlockDavidsonState< ScalarType, MV > Anasazi::BlockDavidson< ScalarType, MV, OP >::getState() const Get access to the current state of the eigensolver. The data is only valid if isInitialized() == true. The data for the preconditioned residual is only meaningful in the scenario that the solver throws a BlockDavidsonRitzFailure exception during iterate(). A BlockDavidsonState object containing const pointers to the current solver state. Note, these are direct pointers to the multivectors; they are not pointers to views of the multivectors.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getStatusTest | ( | self, | ||
args | ||||
) |
getStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> Teuchos::RCP< StatusTest< ScalarType, MV, OP > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getStatusTest() const Get the current StatusTest used by the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::getStatusTest | ( | self, | ||
args | ||||
) |
getStatusTest(self) -> Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> Teuchos::RCP< StatusTest< ScalarType, MV, OP > > Anasazi::BlockDavidson< ScalarType, MV, OP >::getStatusTest() const Get the current StatusTest used by the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::initialize | ( | self, | ||
args | ||||
) |
initialize(self, Anasazi::BlockDavidsonState<(double,Epetra_MultiVector)> newstate) initialize(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::initialize() Initialize the solver with the initial vectors from the eigenproblem or random data.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::initialize | ( | self, | ||
args | ||||
) |
initialize(self, Anasazi::BlockDavidsonState<(double,Epetra_MultiVector)> newstate) initialize(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::initialize() Initialize the solver with the initial vectors from the eigenproblem or random data.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::isInitialized | ( | self, | ||
args | ||||
) |
isInitialized(self) -> bool bool Anasazi::BlockDavidson< ScalarType, MV, OP >::isInitialized() const Indicates whether the solver has been initialized or not. bool indicating the state of the solver. If isInitialized() == true: getCurSubspaceDim() > 0 and is a multiple of getBlockSize() the first getCurSubspaceDim() vectors of V are orthogonal to auxiliary vectors and have orthonormal columns the principal submatrix of order getCurSubspaceDim() of KK contains the project eigenproblem matrix X contains the Ritz vectors with respect to the current Krylov basis T contains the Ritz values with respect to the current Krylov basis KX == Op*X MX == M*X if M != Teuchos::null Otherwise, MX == Teuchos::null R contains the residual vectors with respect to X
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::isInitialized | ( | self, | ||
args | ||||
) |
isInitialized(self) -> bool bool Anasazi::BlockDavidson< ScalarType, MV, OP >::isInitialized() const Indicates whether the solver has been initialized or not. bool indicating the state of the solver. If isInitialized() == true: getCurSubspaceDim() > 0 and is a multiple of getBlockSize() the first getCurSubspaceDim() vectors of V are orthogonal to auxiliary vectors and have orthonormal columns the principal submatrix of order getCurSubspaceDim() of KK contains the project eigenproblem matrix X contains the Ritz vectors with respect to the current Krylov basis T contains the Ritz values with respect to the current Krylov basis KX == Op*X MX == M*X if M != Teuchos::null Otherwise, MX == Teuchos::null R contains the residual vectors with respect to X
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::iterate | ( | self, | ||
args | ||||
) |
iterate(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::iterate() This method performs BlockDavidson iterations until the status test indicates the need to stop or an error occurs (in which case, an appropriate exception is thrown). iterate() will first determine whether the solver is uninitialized; if not, it will call initialize(). After initialization, the solver performs block Davidson iterations until the status test evaluates as Passed, at which point the method returns to the caller. The block Davidson iteration proceeds as follows: The current residual (R) is preconditioned to form H H is orthogonalized against the auxiliary vectors and the previous basis vectors, and made orthonormal. The current basis is expanded with H and used to project the problem matrix. The projected eigenproblem is solved, and the desired eigenvectors and eigenvalues are selected. These are used to form the new eigenvector estimates (X). The new residual (R) is formed. The status test is queried at the beginning of the iteration. Possible exceptions thrown include std::invalid_argument or one of the BlockDavidson-specific exceptions.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::iterate | ( | self, | ||
args | ||||
) |
iterate(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::iterate() This method performs BlockDavidson iterations until the status test indicates the need to stop or an error occurs (in which case, an appropriate exception is thrown). iterate() will first determine whether the solver is uninitialized; if not, it will call initialize(). After initialization, the solver performs block Davidson iterations until the status test evaluates as Passed, at which point the method returns to the caller. The block Davidson iteration proceeds as follows: The current residual (R) is preconditioned to form H H is orthogonalized against the auxiliary vectors and the previous basis vectors, and made orthonormal. The current basis is expanded with H and used to project the problem matrix. The projected eigenproblem is solved, and the desired eigenvectors and eigenvalues are selected. These are used to form the new eigenvector estimates (X). The new residual (R) is formed. The status test is queried at the beginning of the iteration. Possible exceptions thrown include std::invalid_argument or one of the BlockDavidson-specific exceptions.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::resetNumIters | ( | self, | ||
args | ||||
) |
resetNumIters(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::resetNumIters() Reset the iteration count.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::resetNumIters | ( | self, | ||
args | ||||
) |
resetNumIters(self) void Anasazi::BlockDavidson< ScalarType, MV, OP >::resetNumIters() Reset the iteration count.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setAuxVecs | ( | self, | ||
args | ||||
) |
setAuxVecs(self, Teuchos::Array<(Teuchos::RCP<(q(const).Epetra_MultiVector)>)> auxvecs) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setAuxVecs(const Teuchos::Array< Teuchos::RCP< const MV > > &auxvecs) Set the auxiliary vectors for the solver. Because the current basis V cannot be assumed orthogonal to the new auxiliary vectors, a call to setAuxVecs() will reset the solver to the uninitialized state. This happens only in the case where the new auxiliary vectors have a combined dimension of greater than zero. In order to preserve the current state, the user will need to extract it from the solver using getState(), orthogonalize it against the new auxiliary vectors, and reinitialize using initialize().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setAuxVecs | ( | self, | ||
args | ||||
) |
setAuxVecs(self, Teuchos::Array<(Teuchos::RCP<(q(const).Epetra_MultiVector)>)> auxvecs) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setAuxVecs(const Teuchos::Array< Teuchos::RCP< const MV > > &auxvecs) Set the auxiliary vectors for the solver. Because the current basis V cannot be assumed orthogonal to the new auxiliary vectors, a call to setAuxVecs() will reset the solver to the uninitialized state. This happens only in the case where the new auxiliary vectors have a combined dimension of greater than zero. In order to preserve the current state, the user will need to extract it from the solver using getState(), orthogonalize it against the new auxiliary vectors, and reinitialize using initialize().
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setBlockSize | ( | self, | ||
args | ||||
) |
setBlockSize(self, int blockSize) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setBlockSize(int blockSize) Set the blocksize. This method is required to support the interface provided by Eigensolver. However, the preferred method of setting the allocated size for the BlockDavidson eigensolver is setSize(). In fact, setBlockSize() simply calls setSize(), maintaining the current number of blocks. The block size determines the number of Ritz vectors and values that are computed on each iteration, thereby determining the increase in the Krylov subspace at each iteration.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setBlockSize | ( | self, | ||
args | ||||
) |
setBlockSize(self, int blockSize) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setBlockSize(int blockSize) Set the blocksize. This method is required to support the interface provided by Eigensolver. However, the preferred method of setting the allocated size for the BlockDavidson eigensolver is setSize(). In fact, setBlockSize() simply calls setSize(), maintaining the current number of blocks. The block size determines the number of Ritz vectors and values that are computed on each iteration, thereby determining the increase in the Krylov subspace at each iteration.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setSize | ( | self, | ||
args | ||||
) |
setSize(self, int blockSize, int numBlocks) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setSize(int blockSize, int numBlocks) Set the blocksize and number of blocks to be used by the iterative solver in solving this eigenproblem. Changing either the block size or the number of blocks will reset the solver to an uninitialized state. The requested block size must be strictly positive; the number of blocks must be greater than one. Invalid arguments will result in a std::invalid_argument exception.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setSize | ( | self, | ||
args | ||||
) |
setSize(self, int blockSize, int numBlocks) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setSize(int blockSize, int numBlocks) Set the blocksize and number of blocks to be used by the iterative solver in solving this eigenproblem. Changing either the block size or the number of blocks will reset the solver to an uninitialized state. The requested block size must be strictly positive; the number of blocks must be greater than one. Invalid arguments will result in a std::invalid_argument exception.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setStatusTest | ( | self, | ||
args | ||||
) |
setStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> test) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setStatusTest(Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test) Set a new StatusTest for the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.
def PyTrilinos::Anasazi::BlockDavidsonEpetra::setStatusTest | ( | self, | ||
args | ||||
) |
setStatusTest(self, Teuchos::RCP<(Anasazi::StatusTest<(double,Epetra_MultiVector,Epetra_Operator)>)> test) void Anasazi::BlockDavidson< ScalarType, MV, OP >::setStatusTest(Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test) Set a new StatusTest for the solver.
Reimplemented from PyTrilinos::Anasazi::EigensolverEpetra.