10 #ifndef EIGEN_ITERATIVE_SOLVER_BASE_H 11 #define EIGEN_ITERATIVE_SOLVER_BASE_H 20 template<
typename Derived>
26 typedef typename MatrixType::Scalar
Scalar;
27 typedef typename MatrixType::Index
Index;
32 Derived&
derived() {
return *
static_cast<Derived*
>(
this); }
33 const Derived&
derived()
const {
return *
static_cast<const Derived*
>(
this); }
171 &&
"IterativeSolverBase::solve(): invalid number of rows of the right hand side matrix b");
179 template<
typename Rhs>
185 &&
"IterativeSolverBase::solve(): invalid number of rows of the right hand side matrix b");
197 template<
typename Rhs,
typename DestScalar,
int DestOptions,
typename DestIndex>
202 int rhsCols = b.cols();
206 for(
int k=0; k<rhsCols; ++k)
210 dest.
col(k) = tx.sparseView(0);
237 template<
typename Derived,
typename Rhs>
244 template<typename Dest>
void evalTo(Dest& dst)
const 246 dec().derived()._solve_sparse(
rhs(),dst);
254 #endif // EIGEN_ITERATIVE_SOLVER_BASE_H
Derived & setTolerance(const RealScalar &tolerance)
A versatible sparse matrix representation.
iterative scaling algorithm to equilibrate rows and column norms in matrices
internal::traits< Derived >::Preconditioner Preconditioner
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
const internal::sparse_solve_retval< IterativeSolverBase, Rhs > solve(const SparseMatrixBase< Rhs > &b) const
IterativeSolverBase< Derived > Dec
Derived & analyzePattern(const MatrixType &A)
int maxIterations() const
const MatrixType * mp_matrix
MatrixType::Scalar Scalar
Base class of any sparse matrices or sparse expressions.
Preconditioner m_preconditioner
const Derived & derived() const
Derived & compute(const MatrixType &A)
ComputationInfo info() const
RealScalar tolerance() const
Derived & factorize(const MatrixType &A)
#define EIGEN_MAKE_SPARSE_SOLVE_HELPERS(DecompositionType, Rhs)
void rhs(const real_t *x, real_t *f)
void _solve_sparse(const Rhs &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const
Derived & setMaxIterations(int maxIters)
const Derived & derived() const
IterativeSolverBase(const MatrixType &A)
MatrixType::RealScalar RealScalar
Preconditioner & preconditioner()
const internal::solve_retval< Derived, Rhs > solve(const MatrixBase< Rhs > &b) const
The matrix class, also used for vectors and row-vectors.
internal::traits< Derived >::MatrixType MatrixType
Base class for linear iterative solvers.
Base class for all dense matrices, vectors, and expressions.
const Preconditioner & preconditioner() const