10 #ifndef EIGEN_SELFADJOINTMATRIX_H
11 #define EIGEN_SELFADJOINTMATRIX_H
35 template <
typename MatrixType,
unsigned int UpLo>
50 template <
typename MatrixType_,
unsigned int UpLo>
105 template <
typename OtherDerived>
111 template <
typename OtherDerived>
120 return (
s *
mat.nestedExpression()).template selfadjointView<UpLo>();
133 template <
typename DerivedU,
typename DerivedV>
147 template <
typename DerivedU>
161 template <
unsigned int TriMode>
167 typename MatrixType::ConstTransposeReturnType>
170 typename MatrixType::AdjointReturnType>
188 typedef std::conditional_t<Cond, ConjugateReturnType, ConstSelfAdjointView> ReturnType;
189 return ReturnType(
m_matrix.template conjugateIf<Cond>());
198 template <
class Dummy =
int>
201 typename MatrixType::TransposeReturnType
tmp(
m_matrix);
217 return typename MatrixType::ConstDiagonalReturnType(
m_matrix);
255 template <
typename MatrixType,
unsigned int Mode>
261 template <
int UpLo,
int SetOpposite,
typename DstEvaluatorTypeT,
typename SrcEvaluatorTypeT,
typename Functor,
303 template <
typename Derived>
304 template <
unsigned int UpLo>
320 template <
typename Derived>
321 template <
unsigned int UpLo>
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
#define eigen_internal_assert(x)
Definition: Macros.h:916
#define EIGEN_NOEXCEPT
Definition: Macros.h:1267
#define EIGEN_CONSTEXPR
Definition: Macros.h:758
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STATIC_ASSERT_LVALUE(Derived)
Definition: StaticAssert.h:87
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
SCALAR Scalar
Definition: bench_gemm.cpp:45
MatrixXf MatrixType
Definition: benchmark-blocking-sizes.cpp:52
Robust Cholesky decomposition of a matrix with pivoting.
Definition: LDLT.h:63
Standard Cholesky decomposition (LL^T) of a matrix and associated features.
Definition: LLT.h:70
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
EIGEN_DEVICE_FUNC SelfAdjointViewReturnType< UpLo >::Type selfadjointView()
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Expression of the product of two arbitrary matrices or vectors.
Definition: Product.h:202
Expression of a selfadjoint matrix from a triangular part of a dense matrix.
Definition: SelfAdjointView.h:51
EIGEN_DEVICE_FUNC SelfAdjointView & rankUpdate(const MatrixBase< DerivedU > &u, const Scalar &alpha=Scalar(1))
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: SelfAdjointView.h:77
Matrix< RealScalar, internal::traits< MatrixType >::ColsAtCompileTime, 1 > EigenvaluesReturnType
Definition: SelfAdjointView.h:230
EIGEN_DEVICE_FUNC TransposeReturnType transpose(std::enable_if_t< Eigen::internal::is_lvalue< MatrixType >::value, Dummy * >=nullptr)
Definition: SelfAdjointView.h:199
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const EIGEN_NOEXCEPT
Definition: SelfAdjointView.h:79
EIGEN_DEVICE_FUNC Scalar coeff(Index row, Index col) const
Definition: SelfAdjointView.h:84
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
Definition: SelfAdjointView.h:78
EIGEN_DEVICE_FUNC const ConjugateReturnType conjugate() const
Definition: SelfAdjointView.h:179
const LLT< PlainObject, UpLo > llt() const
Definition: LLT.h:507
MatrixType::PlainObject PlainObject
Definition: SelfAdjointView.h:72
EIGEN_DEVICE_FUNC std::conditional_t<(TriMode &(Upper|Lower))==(UpLo &(Upper|Lower)), TriangularView< MatrixType, TriMode >, TriangularView< typename MatrixType::AdjointReturnType, TriMode > > triangularView() const
Definition: SelfAdjointView.h:165
EIGEN_DEVICE_FUNC SelfAdjointView(MatrixType &matrix)
Definition: SelfAdjointView.h:74
const LDLT< PlainObject, UpLo > ldlt() const
Definition: LDLT.h:634
EIGEN_DEVICE_FUNC RealScalar operatorNorm() const
Computes the L2 operator norm.
Definition: MatrixBaseEigenvalues.h:136
internal::traits< SelfAdjointView >::MatrixTypeNested MatrixTypeNested
Definition: SelfAdjointView.h:57
EIGEN_DEVICE_FUNC EigenvaluesReturnType eigenvalues() const
Computes the eigenvalues of a matrix.
Definition: MatrixBaseEigenvalues.h:83
EIGEN_DEVICE_FUNC const MatrixTypeNestedCleaned & _expression() const
Definition: SelfAdjointView.h:99
MatrixType::StorageIndex StorageIndex
Definition: SelfAdjointView.h:63
EIGEN_DEVICE_FUNC const ConstTransposeReturnType transpose() const
Definition: SelfAdjointView.h:207
EIGEN_DEVICE_FUNC const MatrixTypeNestedCleaned & nestedExpression() const
Definition: SelfAdjointView.h:101
MatrixType_ MatrixType
Definition: SelfAdjointView.h:55
EIGEN_DEVICE_FUNC Scalar & coeffRef(Index row, Index col)
Definition: SelfAdjointView.h:92
SelfAdjointView< const MatrixConjugateReturnType, UpLo > ConjugateReturnType
Definition: SelfAdjointView.h:177
internal::traits< SelfAdjointView >::Scalar Scalar
The type of coefficients in this matrix.
Definition: SelfAdjointView.h:62
EIGEN_DEVICE_FUNC MatrixTypeNestedCleaned & nestedExpression()
Definition: SelfAdjointView.h:102
SelfAdjointView< const typename MatrixType::AdjointReturnType, TransposeMode > AdjointReturnType
Definition: SelfAdjointView.h:192
EIGEN_DEVICE_FUNC const AdjointReturnType adjoint() const
Definition: SelfAdjointView.h:194
internal::remove_all_t< typename MatrixType::ConjugateReturnType > MatrixConjugateReturnType
Definition: SelfAdjointView.h:64
EIGEN_DEVICE_FUNC SelfAdjointView & rankUpdate(const MatrixBase< DerivedU > &u, const MatrixBase< DerivedV > &v, const Scalar &alpha=Scalar(1))
friend EIGEN_DEVICE_FUNC const SelfAdjointView< const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar, MatrixType, product), UpLo > operator*(const Scalar &s, const SelfAdjointView &mat)
Definition: SelfAdjointView.h:119
NumTraits< Scalar >::Real RealScalar
Definition: SelfAdjointView.h:228
@ TransposeMode
Definition: SelfAdjointView.h:70
@ Mode
Definition: SelfAdjointView.h:68
MatrixTypeNestedCleaned NestedExpression
Definition: SelfAdjointView.h:59
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: SelfAdjointView.h:76
EIGEN_DEVICE_FUNC std::conditional_t< Cond, ConjugateReturnType, ConstSelfAdjointView > conjugateIf() const
Definition: SelfAdjointView.h:187
SelfAdjointView< typename MatrixType::TransposeReturnType, TransposeMode > TransposeReturnType
Definition: SelfAdjointView.h:196
friend EIGEN_DEVICE_FUNC const Product< OtherDerived, SelfAdjointView > operator*(const MatrixBase< OtherDerived > &lhs, const SelfAdjointView &rhs)
Definition: SelfAdjointView.h:112
EIGEN_DEVICE_FUNC MatrixType::ConstDiagonalReturnType diagonal() const
Definition: SelfAdjointView.h:216
EIGEN_DEVICE_FUNC const Product< SelfAdjointView, OtherDerived > operator*(const MatrixBase< OtherDerived > &rhs) const
Definition: SelfAdjointView.h:106
internal::traits< SelfAdjointView >::MatrixTypeNestedCleaned MatrixTypeNestedCleaned
Definition: SelfAdjointView.h:58
MatrixTypeNested m_matrix
Definition: SelfAdjointView.h:236
SelfAdjointView< const typename MatrixType::ConstTransposeReturnType, TransposeMode > ConstTransposeReturnType
Definition: SelfAdjointView.h:205
Base class for triangular part in a matrix.
Definition: TriangularMatrix.h:32
void check_coordinates_internal(Index, Index) const
Definition: TriangularMatrix.h:123
Expression of a triangular part in a matrix.
Definition: TriangularMatrix.h:167
Definition: AssignEvaluator.h:585
const SrcEvaluatorType & m_src
Definition: AssignEvaluator.h:671
DstEvaluatorTypeT DstEvaluatorType
Definition: AssignEvaluator.h:591
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index row, Index col)
Assign src(row,col) to dst(row,col) through the assignment functor.
Definition: AssignEvaluator.h:617
SrcEvaluatorTypeT SrcEvaluatorType
Definition: AssignEvaluator.h:592
DstEvaluatorType & m_dst
Definition: AssignEvaluator.h:670
const Functor & m_functor
Definition: AssignEvaluator.h:672
SrcEvaluatorTypeT::XprType SrcXprType
Definition: AssignEvaluator.h:588
DstEvaluatorTypeT::XprType DstXprType
Definition: AssignEvaluator.h:587
DstEvaluatorType::Scalar Scalar
Definition: AssignEvaluator.h:593
Base::SrcXprType SrcXprType
Definition: SelfAdjointView.h:269
EIGEN_DEVICE_FUNC void assignDiagonalCoeff(Index id)
Definition: SelfAdjointView.h:291
EIGEN_DEVICE_FUNC void assignOppositeCoeff(Index, Index)
Definition: SelfAdjointView.h:293
Base::AssignmentTraits AssignmentTraits
Definition: SelfAdjointView.h:278
Base::SrcEvaluatorType SrcEvaluatorType
Definition: SelfAdjointView.h:276
EIGEN_DEVICE_FUNC triangular_dense_assignment_kernel(DstEvaluatorType &dst, const SrcEvaluatorType &src, const Functor &func, DstXprType &dstExpr)
Definition: SelfAdjointView.h:280
Base::DstEvaluatorType DstEvaluatorType
Definition: SelfAdjointView.h:275
Base::Scalar Scalar
Definition: SelfAdjointView.h:277
generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version > Base
Definition: SelfAdjointView.h:267
EIGEN_DEVICE_FUNC void assignCoeff(Index row, Index col)
Definition: SelfAdjointView.h:284
Base::DstXprType DstXprType
Definition: SelfAdjointView.h:268
Definition: TriangularMatrix.h:664
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >, 0, Eigen::OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition: common.h:85
@ SelfAdjoint
Definition: Constants.h:227
@ Lower
Definition: Constants.h:211
@ Upper
Definition: Constants.h:213
const unsigned int PacketAccessBit
Definition: Constants.h:97
const unsigned int LinearAccessBit
Definition: Constants.h:133
const unsigned int DirectAccessBit
Definition: Constants.h:159
const unsigned int LvalueBit
Definition: Constants.h:148
RealScalar s
Definition: level1_cplx_impl.h:130
RealScalar alpha
Definition: level1_cplx_impl.h:151
Eigen::Matrix< Scalar, Dynamic, Dynamic, ColMajor > tmp
Definition: level3_impl.h:365
typename remove_all< T >::type remove_all_t
Definition: Meta.h:142
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
const unsigned int HereditaryBits
Definition: Constants.h:198
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Extend namespace for flags.
Definition: fsi_chan_precond_driver.cc:56
Definition: Eigen_Colamd.h:49
Type
Type of JSON value.
Definition: rapidjson.h:513
void product(const MatrixType &m)
Definition: product.h:42
Eigen::Index Index
The interface type of indices.
Definition: EigenBase.h:43
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Definition: Constants.h:561
Definition: Constants.h:577
Definition: AssignEvaluator.h:31
storage_kind_to_evaluator_kind< typename MatrixType::StorageKind >::Kind Kind
Definition: SelfAdjointView.h:257
SelfAdjointShape Shape
Definition: SelfAdjointView.h:258
Definition: CoreEvaluators.h:95
Definition: XprHelper.h:819
Definition: XprHelper.h:506
MatrixType::PlainObject FullMatrixType
Definition: SelfAdjointView.h:40
remove_all_t< MatrixTypeNested > MatrixTypeNestedCleaned
Definition: SelfAdjointView.h:38
ref_selector< MatrixType >::non_const_type MatrixTypeNested
Definition: SelfAdjointView.h:37
MatrixType ExpressionType
Definition: SelfAdjointView.h:39
Definition: ForwardDeclarations.h:21
Definition: NonLinearOptimization.cpp:97
Definition: benchGeometry.cpp:21