Public Member Functions | |
| const VectorSpace< Scalar > | domain () const |
| const VectorSpace< Scalar > | range () const |
| void | apply (const Vector< Scalar > &in, Vector< Scalar > &out) const |
| void | applyTranspose (const Vector< Scalar > &in, Vector< Scalar > &out) const |
| LinearOperator< Scalar > | form () const |
| RCP< Time > & | opTimer () |
| LinearOperator< Scalar > | transpose () const |
| RCP< LoadableMatrix< Scalar > > | matrix () |
| void | getRow (const int &row, Teuchos::Array< int > &indices, Teuchos::Array< Scalar > &values) const |
Constructors, Destructors, and Assignment Operators | |
| LinearOperator () | |
| LinearOperator (const RCP< LinearOperatorBase< Scalar > > &smartPtr) | |
Block operations | |
| int | numBlockRows () const |
| int | numBlockCols () const |
| LinearOperator< Scalar > | getBlock (const int &i, const int &j) const |
| LinearOperator< Scalar > | getNonconstBlock (const int &i, const int &j) |
| void | setBlock (int i, int j, const LinearOperator< Scalar > &sub) |
| void | endBlockFill () |
Related Functions | |
(Note that these are not member functions.) | |
| LinearOperator< double > | epetraMatrixMatrixProduct (const LinearOperator< double > &A, const LinearOperator< double > &B) |
| LinearOperator< double > | epetraLeftScale (const Vector< double > &d, const LinearOperator< double > &A) |
| LinearOperator< double > | epetraRightScale (const LinearOperator< double > &A, const Vector< double > &d) |
| LinearOperator< double > | epetraMatrixMatrixSum (const LinearOperator< double > &A, const LinearOperator< double > &B) |
| template<class Scalar > | |
| LinearOperator< Scalar > | addedOperator (const Array< LinearOperator< Scalar > > &ops) |
| template<class Scalar > | |
| LinearOperator< Scalar > | operator+ (const LinearOperator< Scalar > &A, const LinearOperator< Scalar > &B) |
User-level linear operator class
Definition at line 68 of file PlayaLinearOperatorDecl.hpp.
| LinearOperator::LinearOperator | ( | ) |
Empty constructor
Definition at line 72 of file PlayaLinearOperatorImpl.hpp.
| LinearOperator::LinearOperator | ( | const RCP< LinearOperatorBase< Scalar > > & | smartPtr | ) |
Constructor with smart pointer
Definition at line 78 of file PlayaLinearOperatorImpl.hpp.
| void LinearOperator::apply | ( | const Vector< Scalar > & | in, |
| Vector< Scalar > & | out | ||
| ) | const [inline] |
Compute
out = beta*out + alpha*op*in;
Definition at line 86 of file PlayaLinearOperatorImpl.hpp.
References Playa::Vector< Scalar >::description(), Playa::Out::os(), PLAYA_MSG1, PLAYA_MSG3, and Playa::Handle< VectorBase< Scalar > >::ptr().
Referenced by Epetra::Epetra_PlayaOperator::Apply(), Playa::operator*(), and Playa::BICGSTABSolver< Scalar >::solveUnprec().
| void LinearOperator::applyTranspose | ( | const Vector< Scalar > & | in, |
| Vector< Scalar > & | out | ||
| ) | const [inline] |
Compute
out = beta*out + alpha*op^T*in;
Definition at line 142 of file PlayaLinearOperatorImpl.hpp.
References Playa::Vector< Scalar >::description(), Playa::Out::os(), PLAYA_MSG1, PLAYA_MSG3, and Playa::Handle< VectorBase< Scalar > >::ptr().
| const VectorSpace< Scalar > LinearOperator::domain | ( | ) | const |
Return the domain
Definition at line 285 of file PlayaLinearOperatorImpl.hpp.
Referenced by Epetra::Epetra_PlayaOperator::Apply(), Epetra::Epetra_PlayaOperator::ApplyInverse(), Playa::PCDPreconditionerFactory::createPreconditioner(), Playa::denseSVD(), Epetra::Epetra_PlayaOperator::Epetra_PlayaOperator(), Playa::epetraLeftScale(), Playa::epetraMatrixMatrixProduct(), Playa::epetraMatrixMatrixSum(), Playa::epetraRightScale(), Playa::getEpetraDiagonal(), Sundance::LinearEigenproblem::lumpedOperator(), Playa::LinearCombinationTester< Scalar >::nonModifyingOpTests(), Playa::LinearCombinationTester< Scalar >::selfModifyingOpTests(), Playa::BlockTriangularSolver< Scalar >::solve(), Playa::AnasaziEigensolver< Scalar >::solve(), and Playa::transposedOperator().
| void LinearOperator::endBlockFill | ( | ) |
Finalize block assembly
Definition at line 331 of file PlayaLinearOperatorImpl.hpp.
References Playa::SetableBlockOperatorBase< Scalar >::endBlockFill().
Referenced by Sundance::Assembler::configureMatrix(), and Playa::PCDPreconditionerFactory::createPreconditioner().
| LinearOperator<Scalar> Playa::LinearOperator< Scalar >::form | ( | ) | const [inline] |
For the moment this does nothing
Definition at line 107 of file PlayaLinearOperatorDecl.hpp.
| LinearOperator< Scalar > LinearOperator::getBlock | ( | const int & | i, |
| const int & | j | ||
| ) | const |
get the (i,j)-th block
Definition at line 292 of file PlayaLinearOperatorImpl.hpp.
References Playa::BlockOperatorBase< Scalar >::getBlock().
Referenced by Playa::PCDPreconditionerFactory::createPreconditioner(), Sundance::MatrixVectorAssemblyKernel::init(), and Playa::BlockTriangularSolver< Scalar >::solve().
| LinearOperator< Scalar > LinearOperator::getNonconstBlock | ( | const int & | i, |
| const int & | j | ||
| ) |
get a writeable copy of the (i,j)-th block
Definition at line 311 of file PlayaLinearOperatorImpl.hpp.
References Playa::BlockOperatorBase< Scalar >::getNonconstBlock().
| void LinearOperator::getRow | ( | const int & | row, |
| Teuchos::Array< int > & | indices, | ||
| Teuchos::Array< Scalar > & | values | ||
| ) | const |
Get a row of the underlying matrix
Definition at line 229 of file PlayaLinearOperatorImpl.hpp.
References Playa::RowAccessibleOp< Scalar >::getRow().
| RCP< LoadableMatrix< Scalar > > LinearOperator::matrix | ( | ) |
Return a Loadable Matrix
Definition at line 220 of file PlayaLinearOperatorImpl.hpp.
Referenced by Playa::HeatOperator1D::getOp(), Playa::MatrixLaplacian1D::init(), Playa::MassMatrix1D::init(), and Playa::PoissonBoltzmannJacobian::setEvalPoint().
| int LinearOperator::numBlockCols | ( | ) | const |
return number of block cols
Definition at line 251 of file PlayaLinearOperatorImpl.hpp.
References Playa::BlockOperatorBase< Scalar >::numBlockCols().
Referenced by Playa::BlockTriangularSolver< Scalar >::solve().
| int LinearOperator::numBlockRows | ( | ) | const |
return number of block rows
Definition at line 242 of file PlayaLinearOperatorImpl.hpp.
References Playa::BlockOperatorBase< Scalar >::numBlockRows().
Referenced by Playa::BlockTriangularSolver< Scalar >::solve().
| RCP< Time > & LinearOperator::opTimer | ( | ) |
Get a stopwatch for timing vector operations
Definition at line 199 of file PlayaLinearOperatorImpl.hpp.
| const VectorSpace< Scalar > LinearOperator::range | ( | ) | const |
Return the range
Definition at line 262 of file PlayaLinearOperatorImpl.hpp.
Referenced by Epetra::Epetra_PlayaOperator::Apply(), Epetra::Epetra_PlayaOperator::ApplyInverse(), Playa::PCDPreconditionerFactory::createPreconditioner(), Playa::denseSVD(), Epetra::Epetra_PlayaOperator::Epetra_PlayaOperator(), Playa::epetraLeftScale(), Playa::epetraMatrixMatrixProduct(), Playa::epetraMatrixMatrixSum(), Playa::epetraRightScale(), and Playa::transposedOperator().
| void LinearOperator::setBlock | ( | int | i, |
| int | j, | ||
| const LinearOperator< Scalar > & | sub | ||
| ) |
set the (i,j)-th block If the domain and/or the range are not set, then we are building the operator
Definition at line 268 of file PlayaLinearOperatorImpl.hpp.
References Playa::SetableBlockOperatorBase< Scalar >::setBlock().
Referenced by Sundance::Assembler::configureMatrix(), and Playa::PCDPreconditionerFactory::createPreconditioner().
| LinearOperator< Scalar > LinearOperator::transpose | ( | ) | const |
Return a TransposeOperator.
Definition at line 208 of file PlayaLinearOperatorImpl.hpp.
References Playa::transposedOperator().
Referenced by Playa::EpetraMatrix::getICCPreconditioner().
| LinearOperator< Scalar > addedOperator | ( | const Array< LinearOperator< Scalar > > & | ops | ) | [related] |
Definition at line 131 of file PlayaSimpleAddedOpImpl.hpp.
| LinearOperator< double > epetraLeftScale | ( | const Vector< double > & | d, |
| const LinearOperator< double > & | A | ||
| ) | [related] |
Definition at line 60 of file PlayaEpetraMatrixMatrixProduct.cpp.
| LinearOperator< double > epetraMatrixMatrixProduct | ( | const LinearOperator< double > & | A, |
| const LinearOperator< double > & | B | ||
| ) | [related] |
Definition at line 110 of file PlayaEpetraMatrixMatrixProduct.cpp.
| LinearOperator< double > epetraMatrixMatrixSum | ( | const LinearOperator< double > & | A, |
| const LinearOperator< double > & | B | ||
| ) | [related] |
Definition at line 60 of file PlayaEpetraMatrixMatrixSum.cpp.
| LinearOperator< double > epetraRightScale | ( | const LinearOperator< double > & | A, |
| const Vector< double > & | d | ||
| ) | [related] |
Definition at line 84 of file PlayaEpetraMatrixMatrixProduct.cpp.
| LinearOperator< Scalar > operator+ | ( | const LinearOperator< Scalar > & | A, |
| const LinearOperator< Scalar > & | B | ||
| ) | [related] |
Definition at line 160 of file PlayaSimpleAddedOpImpl.hpp.