10#ifndef EIGEN_CONJUGATE_GRADIENT_H
11#define EIGEN_CONJUGATE_GRADIENT_H
26template<
typename MatrixType,
typename Rhs,
typename Dest,
typename Preconditioner>
35 typedef typename Dest::Scalar
Scalar;
84 absNew = numext::real(residual.dot(z));
95template<
typename _MatrixType,
int _UpLo=
Lower,
96 typename _Preconditioner = DiagonalPreconditioner<typename _MatrixType::Scalar> >
97class ConjugateGradient;
101template<
typename _MatrixType,
int _UpLo,
typename _Preconditioner>
157template<
typename _MatrixType,
int _UpLo,
typename _Preconditioner>
168 typedef typename MatrixType::Scalar
Scalar;
191 template<
typename MatrixDerived>
197 template<
typename Rhs,
typename Dest>
203 TransposeInput = (!MatrixWrapper::MatrixFree)
205 && (!MatrixType::IsRowMajor)
212 typename MatrixWrapper::template ConstSelfAdjointViewReturnType<UpLo>::Type
213 >::type SelfAdjointWrapper;
218 RowMajorWrapper row_mat(matrix());
int n
Definition BiCGSTAB_simple.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_DONT_INLINE
Definition Macros.h:940
#define EIGEN_IMPLIES(a, b)
Definition Macros.h:1315
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:127
MatrixXf mat
Definition Tutorial_AdvancedInitialization_CommaTemporary.cpp:1
float * p
Definition Tutorial_Map_using.cpp:9
Scalar * b
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
NumTraits< Scalar >::Real RealScalar
Definition bench_gemm.cpp:47
MatrixXf MatrixType
Definition benchmark-blocking-sizes.cpp:52
A conjugate gradient solver for sparse (or dense) self-adjoint problems.
Definition ConjugateGradient.h:159
_Preconditioner Preconditioner
Definition ConjugateGradient.h:170
void _solve_vector_with_guess_impl(const Rhs &b, Dest &x) const
Definition ConjugateGradient.h:198
MatrixType::Scalar Scalar
Definition ConjugateGradient.h:168
ConjugateGradient()
Definition ConjugateGradient.h:179
~ConjugateGradient()
Definition ConjugateGradient.h:194
MatrixType::RealScalar RealScalar
Definition ConjugateGradient.h:169
ConjugateGradient(const EigenBase< MatrixDerived > &A)
Definition ConjugateGradient.h:192
_MatrixType MatrixType
Definition ConjugateGradient.h:167
@ UpLo
Definition ConjugateGradient.h:173
Base class for linear iterative solvers.
Definition IterativeSolverBase.h:144
internal::generic_matrix_wrapper< MatrixType > MatrixWrapper
Definition IterativeSolverBase.h:416
Index maxIterations() const
Definition IterativeSolverBase.h:281
ComputationInfo m_info
Definition IterativeSolverBase.h:438
MatrixWrapper::ActualMatrixType ActualMatrixType
Definition IterativeSolverBase.h:417
RealScalar m_error
Definition IterativeSolverBase.h:436
Preconditioner m_preconditioner
Definition IterativeSolverBase.h:431
Index m_iterations
Definition IterativeSolverBase.h:437
bool m_isInitialized
Definition SparseSolverBase.h:119
ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > & derived()
Definition SparseSolverBase.h:79
RealScalar m_tolerance
Definition IterativeSolverBase.h:434
const ActualMatrixType & matrix() const
Definition IterativeSolverBase.h:419
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition gnuplot_common_settings.hh:12
@ Lower
Definition Constants.h:209
@ Upper
Definition Constants.h:211
@ Success
Definition Constants.h:442
@ NoConvergence
Definition Constants.h:446
RealScalar alpha
Definition level1_cplx_impl.h:147
@ Rhs
Definition TensorContractionMapper.h:18
EIGEN_DONT_INLINE void conjugate_gradient(const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error)
Definition ConjugateGradient.h:28
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T maxi(const T &x, const T &y)
Definition MathFunctions.h:1091
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition BandTriangularSolver.h:13
Definition EigenBase.h:30
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition NumTraits.h:233
_MatrixType MatrixType
Definition ConjugateGradient.h:104
_Preconditioner Preconditioner
Definition ConjugateGradient.h:105
Definition ForwardDeclarations.h:17