
Public Member Functions | |
| const VectorSpace< Scalar > | domain () const |
| Return the domain. | |
| const VectorSpace< Scalar > | range () const |
| Return the range. | |
| void | apply (const Vector< Scalar > &in, Vector< Scalar > &out, const Scalar &alpha=1.0, const Scalar &beta=0.0) const |
| Compute. | |
| void | applyTranspose (const Vector< Scalar > &in, Vector< Scalar > &out, const Scalar &alpha=1.0, const Scalar &beta=0.0) const |
| Compute. | |
| LinearOperator< Scalar > | form () const |
| For the moment this does nothing. | |
| RCP< Time > & | opTimer () |
| Get a stopwatch for timing vector operations. | |
| LinearOperator< Scalar > | transpose () const |
| Return a TransposeOperator. | |
| RCP< LoadableMatrix< Scalar > > | matrix () |
| Return a Loadable Matrix. | |
| void | getRow (const int &row, Teuchos::Array< int > &indices, Teuchos::Array< Scalar > &values) const |
| Get a row of the underlying matrix. | |
Constructors, Destructors, and Assignment Operators | |
| LinearOperator () | |
| Empty constructor. | |
| LinearOperator (const RCP< LinearOpBase< Scalar > > &smartPtr) | |
| Constructor with smart pointer. | |
Block operations | |
| int | numBlockRows () const |
| return number of block rows | |
| int | numBlockCols () const |
| return number of block cols | |
| LinearOperator< Scalar > | getBlock (const int &i, const int &j) const |
| get the (i,j)-th block | |
| LinearOperator< Scalar > | getNonconstBlock (const int &i, const int &j) |
| get a writeable copy of the (i,j)-th block | |
| void | 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 | |
| void | endBlockFill () |
| Finalize block assembly. | |
Private Attributes | |
| int | verb_ |
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) |
Definition at line 57 of file TSFLinearOperatorDecl.hpp.
| LinearOperator::LinearOperator | ( | ) | [inline] |
| TSFExtended::LinearOperator< Scalar >::LinearOperator | ( | const RCP< LinearOpBase< Scalar > > & | smartPtr | ) |
Constructor with smart pointer.
| void LinearOperator::apply | ( | const Vector< Scalar > & | in, | |
| Vector< Scalar > & | out, | |||
| const Scalar & | alpha = 1.0, |
|||
| const Scalar & | beta = 0.0 | |||
| ) | const [inline] |
Compute.
out = beta*out + alpha*op*in;
Definition at line 73 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::Vector< Scalar >::description(), Sundance::Handle< LinearOpBase< Scalar > >::description(), Sundance::Out::os(), Sundance::Handle< LinearOpBase< Scalar > >::ptr(), Sundance::Handle< Thyra::VectorBase< Scalar > >::ptr(), TSFExtended::LinearOperator< Scalar >::range(), SUNDANCE_MSG1, SUNDANCE_MSG3, and Sundance::Handle< LinearOpBase< Scalar > >::verb().
Referenced by Epetra::Epetra_TSFOperator::Apply(), NOX::TSF::Group::applyJacobian(), and TSFExtended::BICGSTABSolver< Scalar >::solveUnprec().
| void LinearOperator::applyTranspose | ( | const Vector< Scalar > & | in, | |
| Vector< Scalar > & | out, | |||
| const Scalar & | alpha = 1.0, |
|||
| const Scalar & | beta = 0.0 | |||
| ) | const [inline] |
Compute.
out = beta*out + alpha*op^T*in;
Definition at line 136 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::Vector< Scalar >::description(), Sundance::Handle< LinearOpBase< Scalar > >::description(), TSFExtended::LinearOperator< Scalar >::domain(), Sundance::Out::os(), Sundance::Handle< LinearOpBase< Scalar > >::ptr(), Sundance::Handle< Thyra::VectorBase< Scalar > >::ptr(), SUNDANCE_MSG1, SUNDANCE_MSG3, and Sundance::Handle< LinearOpBase< Scalar > >::verb().
Referenced by NOX::TSF::Group::applyJacobianTranspose().
| const VectorSpace< Scalar > LinearOperator::domain | ( | ) | const [inline] |
Return the domain.
Definition at line 284 of file TSFLinearOperatorImpl.hpp.
References Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by Epetra::Epetra_TSFOperator::Apply(), Epetra::Epetra_TSFOperator::ApplyInverse(), TSFExtended::LinearOperator< Scalar >::applyTranspose(), TSFExtended::LTIProblemFactoryBase< Scalar >::blockDiag(), TSFExtended::LTIProblemFactoryBase< Scalar >::createBigF(), TSFExtended::PCDPreconditionerFactory::createPreconditioner(), TSFExtended::denseSVD(), Epetra::Epetra_TSFOperator::Epetra_TSFOperator(), TSFExtended::epetraLeftScale(), TSFExtended::epetraMatrixMatrixProduct(), TSFExtended::epetraMatrixMatrixSum(), TSFExtended::epetraRightScale(), TSFExtended::ExplicitlyTransposedLTIProblemFactory< Scalar >::formExplicitTranspose(), TSFExtended::getEpetraDiagonal(), Sundance::LinearEigenproblem::lumpedOperator(), TSFExtended::LinearCombinationTester< Scalar >::nonModifyingOpTests(), TSFExtended::LinearCombinationTester< Scalar >::selfModifyingOpTests(), TSFExtended::BlockTriangularSolver< Scalar >::solve(), TSFExtended::AnasaziEigensolver< Scalar >::solve(), TSFExtended::GMRESSolver< Scalar >::solveUnprec(), and TSFExtended::transposedOperator().
| void LinearOperator::endBlockFill | ( | ) | [inline] |
Finalize block assembly.
Definition at line 330 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::SetableBlockOperatorBase< Scalar >::endBlockFill(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::LTIProblemFactoryBase< Scalar >::blockDiag(), Sundance::Assembler::configureMatrix(), TSFExtended::LTIProblemFactoryBase< Scalar >::createBigF(), TSFExtended::PartitionedMatrixFactory::createMatrix(), and TSFExtended::PCDPreconditionerFactory::createPreconditioner().
| LinearOperator<Scalar> TSFExtended::LinearOperator< Scalar >::form | ( | ) | const [inline] |
| LinearOperator< Scalar > LinearOperator::getBlock | ( | const int & | i, | |
| const int & | j | |||
| ) | const [inline] |
get the (i,j)-th block
Definition at line 291 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::BlockOperatorBase< Scalar >::getBlock(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::PCDPreconditionerFactory::createPreconditioner(), Sundance::MatrixVectorAssemblyKernel::init(), and TSFExtended::BlockTriangularSolver< Scalar >::solve().
| LinearOperator< Scalar > LinearOperator::getNonconstBlock | ( | const int & | i, | |
| const int & | j | |||
| ) | [inline] |
get a writeable copy of the (i,j)-th block
Definition at line 310 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::BlockOperatorBase< Scalar >::getNonconstBlock(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
| void LinearOperator::getRow | ( | const int & | row, | |
| Teuchos::Array< int > & | indices, | |||
| Teuchos::Array< Scalar > & | values | |||
| ) | const [inline] |
Get a row of the underlying matrix.
Definition at line 228 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::RowAccessibleOp< Scalar >::getRow(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
| RCP< LoadableMatrix< Scalar > > LinearOperator::matrix | ( | ) | [inline] |
Return a Loadable Matrix.
Definition at line 219 of file TSFLinearOperatorImpl.hpp.
References Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::HeatOperator1D::getOp(), TSFExtended::MatrixLaplacian1D::init(), and TSFExtended::PoissonBoltzmannJacobian::setEvalPoint().
| int LinearOperator::numBlockCols | ( | ) | const [inline] |
return number of block cols
Definition at line 250 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::BlockOperatorBase< Scalar >::numBlockCols(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::BlockTriangularSolver< Scalar >::solve().
| int LinearOperator::numBlockRows | ( | ) | const [inline] |
return number of block rows
Definition at line 241 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::BlockOperatorBase< Scalar >::numBlockRows(), and Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::BlockTriangularSolver< Scalar >::solve().
| RCP< Time > & LinearOperator::opTimer | ( | ) | [inline] |
Get a stopwatch for timing vector operations.
Definition at line 198 of file TSFLinearOperatorImpl.hpp.
| const VectorSpace< Scalar > LinearOperator::range | ( | ) | const [inline] |
Return the range.
Definition at line 261 of file TSFLinearOperatorImpl.hpp.
References Sundance::Handle< LinearOpBase< Scalar > >::ptr().
Referenced by TSFExtended::LinearOperator< Scalar >::apply(), Epetra::Epetra_TSFOperator::Apply(), Epetra::Epetra_TSFOperator::ApplyInverse(), TSFExtended::LTIProblemFactoryBase< Scalar >::blockDiag(), TSFExtended::LTIProblemFactoryBase< Scalar >::createBigF(), TSFExtended::PCDPreconditionerFactory::createPreconditioner(), TSFExtended::denseSVD(), Epetra::Epetra_TSFOperator::Epetra_TSFOperator(), TSFExtended::epetraLeftScale(), TSFExtended::epetraMatrixMatrixProduct(), TSFExtended::epetraMatrixMatrixSum(), TSFExtended::epetraRightScale(), TSFExtended::ExplicitlyTransposedLTIProblemFactory< Scalar >::formExplicitTranspose(), and TSFExtended::transposedOperator().
| void LinearOperator::setBlock | ( | int | i, | |
| int | j, | |||
| const LinearOperator< Scalar > & | sub | |||
| ) | [inline] |
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 267 of file TSFLinearOperatorImpl.hpp.
References Sundance::Handle< LinearOpBase< Scalar > >::ptr(), and TSFExtended::SetableBlockOperatorBase< Scalar >::setBlock().
Referenced by TSFExtended::LTIProblemFactoryBase< Scalar >::blockDiag(), Sundance::Assembler::configureMatrix(), TSFExtended::LTIProblemFactoryBase< Scalar >::createBigF(), TSFExtended::PartitionedMatrixFactory::createMatrix(), and TSFExtended::PCDPreconditionerFactory::createPreconditioner().
| LinearOperator< Scalar > LinearOperator::transpose | ( | ) | const [inline] |
Return a TransposeOperator.
Definition at line 207 of file TSFLinearOperatorImpl.hpp.
References TSFExtended::transposedOperator().
| LinearOperator< Scalar > addedOperator | ( | const Array< LinearOperator< Scalar > > & | ops | ) | [related] |
Definition at line 135 of file TSFNonmemberOpHelpersImpl.hpp.
| LinearOperator< double > epetraLeftScale | ( | const Vector< double > & | d, | |
| const LinearOperator< double > & | A | |||
| ) | [related] |
Definition at line 48 of file TSFEpetraMatrixMatrixProduct.cpp.
| LinearOperator< double > epetraMatrixMatrixProduct | ( | const LinearOperator< double > & | A, | |
| const LinearOperator< double > & | B | |||
| ) | [related] |
Definition at line 111 of file TSFEpetraMatrixMatrixProduct.cpp.
| LinearOperator< double > epetraMatrixMatrixSum | ( | const LinearOperator< double > & | A, | |
| const LinearOperator< double > & | B | |||
| ) | [related] |
Definition at line 47 of file TSFEpetraMatrixMatrixSum.cpp.
| LinearOperator< double > epetraRightScale | ( | const LinearOperator< double > & | A, | |
| const Vector< double > & | d | |||
| ) | [related] |
Definition at line 79 of file TSFEpetraMatrixMatrixProduct.cpp.
| LinearOperator< Scalar > operator+ | ( | const LinearOperator< Scalar > & | A, | |
| const LinearOperator< Scalar > & | B | |||
| ) | [related] |
Definition at line 148 of file TSFSimpleAddedOpImpl.hpp.
int TSFExtended::LinearOperator< Scalar >::verb_ [private] |
Definition at line 154 of file TSFLinearOperatorDecl.hpp.