10 #ifndef EIGEN_BASIC_PRECONDITIONERS_H
11 #define EIGEN_BASIC_PRECONDITIONERS_H
38 template <
typename Scalar_>
49 template <
typename MatType>
57 template <
typename MatType>
62 template <
typename MatType>
66 typename MatType::InnerIterator it(
mat,
j);
67 while (it && it.index() !=
j) ++it;
68 if (it && it.index() ==
j && it.value() !=
Scalar(0))
77 template <
typename MatType>
83 template <
typename Rhs,
typename Dest>
88 template <
typename Rhs>
92 "DiagonalPreconditioner::solve(): invalid number of rows of the right hand side matrix b");
120 template <
typename Scalar_>
130 template <
typename MatType>
135 template <
typename MatType>
140 template <
typename MatType>
144 if (MatType::IsRowMajor) {
164 template <
typename MatType>
185 template <
typename MatrixType>
188 template <
typename MatrixType>
193 template <
typename MatrixType>
198 template <
typename MatrixType>
203 template <
typename Rhs>
#define EIGEN_NOEXCEPT
Definition: Macros.h:1267
#define EIGEN_CONSTEXPR
Definition: Macros.h:758
#define eigen_assert(x)
Definition: Macros.h:910
Scalar * b
Definition: benchVecAdd.cpp:17
MatrixXf MatrixType
Definition: benchmark-blocking-sizes.cpp:52
A preconditioner based on the digonal entries.
Definition: BasicPreconditioners.h:39
DiagonalPreconditioner & factorize(const MatType &mat)
Definition: BasicPreconditioners.h:63
EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: BasicPreconditioners.h:55
Scalar_ Scalar
Definition: BasicPreconditioners.h:40
DiagonalPreconditioner & analyzePattern(const MatType &)
Definition: BasicPreconditioners.h:58
void _solve_impl(const Rhs &b, Dest &x) const
Definition: BasicPreconditioners.h:84
ComputationInfo info()
Definition: BasicPreconditioners.h:96
DiagonalPreconditioner(const MatType &mat)
Definition: BasicPreconditioners.h:50
Vector m_invdiag
Definition: BasicPreconditioners.h:99
@ MaxColsAtCompileTime
Definition: BasicPreconditioners.h:45
@ ColsAtCompileTime
Definition: BasicPreconditioners.h:45
EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: BasicPreconditioners.h:54
DiagonalPreconditioner()
Definition: BasicPreconditioners.h:47
DiagonalPreconditioner & compute(const MatType &mat)
Definition: BasicPreconditioners.h:78
Matrix< Scalar, Dynamic, 1 > Vector
Definition: BasicPreconditioners.h:41
bool m_isInitialized
Definition: BasicPreconditioners.h:100
const Solve< DiagonalPreconditioner, Rhs > solve(const MatrixBase< Rhs > &b) const
Definition: BasicPreconditioners.h:89
Vector::StorageIndex StorageIndex
Definition: BasicPreconditioners.h:44
A naive preconditioner which approximates any matrix as the identity matrix.
Definition: BasicPreconditioners.h:181
IdentityPreconditioner & factorize(const MatrixType &)
Definition: BasicPreconditioners.h:194
ComputationInfo info()
Definition: BasicPreconditioners.h:208
IdentityPreconditioner(const MatrixType &)
Definition: BasicPreconditioners.h:186
IdentityPreconditioner & analyzePattern(const MatrixType &)
Definition: BasicPreconditioners.h:189
const Rhs & solve(const Rhs &b) const
Definition: BasicPreconditioners.h:204
IdentityPreconditioner()
Definition: BasicPreconditioners.h:183
IdentityPreconditioner & compute(const MatrixType &)
Definition: BasicPreconditioners.h:199
Jacobi preconditioner for LeastSquaresConjugateGradient.
Definition: BasicPreconditioners.h:121
LeastSquareDiagonalPreconditioner & compute(const MatType &mat)
Definition: BasicPreconditioners.h:165
LeastSquareDiagonalPreconditioner & analyzePattern(const MatType &)
Definition: BasicPreconditioners.h:136
Vector m_invdiag
Definition: BasicPreconditioners.h:99
DiagonalPreconditioner< Scalar_ > Base
Definition: BasicPreconditioners.h:124
LeastSquareDiagonalPreconditioner()
Definition: BasicPreconditioners.h:128
LeastSquareDiagonalPreconditioner & factorize(const MatType &mat)
Definition: BasicPreconditioners.h:141
LeastSquareDiagonalPreconditioner(const MatType &mat)
Definition: BasicPreconditioners.h:131
NumTraits< Scalar >::Real RealScalar
Definition: BasicPreconditioners.h:123
Scalar_ Scalar
Definition: BasicPreconditioners.h:122
ComputationInfo info()
Definition: BasicPreconditioners.h:169
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
Definition: CwiseNullaryOp.h:569
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
Definition: PlainObjectBase.h:294
Pseudo expression representing a solving operation.
Definition: Solve.h:62
RealScalar squaredNorm() const
Definition: SparseDot.h:82
Index cols() const
Definition: SparseMatrix.h:161
Index outerSize() const
Definition: SparseMatrix.h:166
float real
Definition: datatypes.h:10
ComputationInfo
Definition: Constants.h:438
@ Success
Definition: Constants.h:440
@ Rhs
Definition: TensorContractionMapper.h:20
EIGEN_DEVICE_FUNC bool abs2(bool x)
Definition: MathFunctions.h:1102
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const int Dynamic
Definition: Constants.h:25
list x
Definition: plotDoE.py:28
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2