![]() |
|
Base class for all dense matrices, vectors, and expressions. More...
#include <MatrixBase.h>
Classes | |
struct | ConstSelfAdjointViewReturnType |
struct | ConstTriangularViewReturnType |
struct | SelfAdjointViewReturnType |
struct | TriangularViewReturnType |
Public Member Functions | |
EIGEN_DEVICE_FUNC Index | diagonalSize () const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const MatrixBase &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator+= (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator-= (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC const Product< Derived, OtherDerived > | operator* (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC const Product< Derived, OtherDerived, LazyProduct > | lazyProduct (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
Derived & | operator*= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
void | applyOnTheLeft (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
void | applyOnTheRight (const EigenBase< OtherDerived > &other) |
template<typename DiagonalDerived > | |
EIGEN_DEVICE_FUNC const Product< Derived, DiagonalDerived, LazyProduct > | operator* (const DiagonalBase< DiagonalDerived > &diagonal) const |
template<typename SkewDerived > | |
EIGEN_DEVICE_FUNC const Product< Derived, SkewDerived, LazyProduct > | operator* (const SkewSymmetricBase< SkewDerived > &skew) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const |
EIGEN_DEVICE_FUNC RealScalar | squaredNorm () const |
EIGEN_DEVICE_FUNC RealScalar | norm () const |
RealScalar | stableNorm () const |
RealScalar | blueNorm () const |
RealScalar | hypotNorm () const |
EIGEN_DEVICE_FUNC const PlainObject | normalized () const |
EIGEN_DEVICE_FUNC const PlainObject | stableNormalized () const |
EIGEN_DEVICE_FUNC void | normalize () |
EIGEN_DEVICE_FUNC void | stableNormalize () |
EIGEN_DEVICE_FUNC const AdjointReturnType | adjoint () const |
EIGEN_DEVICE_FUNC void | adjointInPlace () |
EIGEN_DEVICE_FUNC DiagonalReturnType | diagonal () |
EIGEN_DEVICE_FUNC const ConstDiagonalReturnType | diagonal () const |
template<int Index> | |
EIGEN_DEVICE_FUNC Diagonal< Derived, Index > | diagonal () |
template<int Index> | |
EIGEN_DEVICE_FUNC const Diagonal< const Derived, Index > | diagonal () const |
EIGEN_DEVICE_FUNC Diagonal< Derived, DynamicIndex > | diagonal (Index index) |
EIGEN_DEVICE_FUNC const Diagonal< const Derived, DynamicIndex > | diagonal (Index index) const |
template<unsigned int Mode> | |
EIGEN_DEVICE_FUNC TriangularViewReturnType< Mode >::Type | triangularView () |
template<unsigned int Mode> | |
EIGEN_DEVICE_FUNC ConstTriangularViewReturnType< Mode >::Type | triangularView () const |
template<unsigned int UpLo> | |
EIGEN_DEVICE_FUNC SelfAdjointViewReturnType< UpLo >::Type | selfadjointView () |
template<unsigned int UpLo> | |
EIGEN_DEVICE_FUNC ConstSelfAdjointViewReturnType< UpLo >::Type | selfadjointView () const |
const SparseView< Derived > | sparseView (const Scalar &m_reference=Scalar(0), const typename NumTraits< Scalar >::Real &m_epsilon=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC const DiagonalWrapper< const Derived > | asDiagonal () const |
const PermutationWrapper< const Derived > | asPermutation () const |
EIGEN_DEVICE_FUNC const SkewSymmetricWrapper< const Derived > | asSkewSymmetric () const |
EIGEN_DEVICE_FUNC Derived & | setIdentity () |
EIGEN_DEVICE_FUNC Derived & | setIdentity (Index rows, Index cols) |
Resizes to the given size, and writes the identity expression (not necessarily square) into *this. More... | |
EIGEN_DEVICE_FUNC Derived & | setUnit (Index i) |
Set the coefficients of *this to the i-th unit (basis) vector. More... | |
EIGEN_DEVICE_FUNC Derived & | setUnit (Index newSize, Index i) |
Resizes to the given newSize, and writes the i-th unit (basis) vector into *this. More... | |
bool | isIdentity (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isDiagonal (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isUpperTriangular (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isLowerTriangular (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isSkewSymmetric (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
bool | isOrthogonal (const MatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isUnitary (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | operator== (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | operator!= (const MatrixBase< OtherDerived > &other) const |
NoAlias< Derived, Eigen::MatrixBase > EIGEN_DEVICE_FUNC | noalias () |
const Derived & | forceAlignedAccess () const |
Derived & | forceAlignedAccess () |
template<bool Enable> | |
const Derived & | forceAlignedAccessIf () const |
template<bool Enable> | |
Derived & | forceAlignedAccessIf () |
EIGEN_DEVICE_FUNC Scalar | trace () const |
template<int p> | |
EIGEN_DEVICE_FUNC RealScalar | lpNorm () const |
EIGEN_DEVICE_FUNC MatrixBase< Derived > & | matrix () |
EIGEN_DEVICE_FUNC const MatrixBase< Derived > & | matrix () const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ArrayWrapper< Derived > | array () |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArrayWrapper< const Derived > | array () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const FullPivLU< PlainObject, PermutationIndex > | fullPivLu () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const PartialPivLU< PlainObject, PermutationIndex > | partialPivLu () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const PartialPivLU< PlainObject, PermutationIndex > | lu () const |
EIGEN_DEVICE_FUNC const Inverse< Derived > | inverse () const |
template<typename ResultType > | |
void | computeInverseAndDetWithCheck (ResultType &inverse, typename ResultType::Scalar &determinant, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const |
template<typename ResultType > | |
void | computeInverseWithCheck (ResultType &inverse, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC Scalar | determinant () const |
const LLT< PlainObject > | llt () const |
const LDLT< PlainObject > | ldlt () const |
const HouseholderQR< PlainObject > | householderQr () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const ColPivHouseholderQR< PlainObject, PermutationIndex > | colPivHouseholderQr () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const FullPivHouseholderQR< PlainObject, PermutationIndex > | fullPivHouseholderQr () const |
template<typename PermutationIndex = DefaultPermutationIndex> | |
const CompleteOrthogonalDecomposition< PlainObject, PermutationIndex > | completeOrthogonalDecomposition () const |
EigenvaluesReturnType | eigenvalues () const |
Computes the eigenvalues of a matrix. More... | |
RealScalar | operatorNorm () const |
Computes the L2 operator norm. More... | |
template<int Options = 0> | |
JacobiSVD< PlainObject, Options > | jacobiSvd () const |
template<int Options = 0> | |
EIGEN_DEPRECATED JacobiSVD< PlainObject, Options > | jacobiSvd (unsigned int computationOptions) const |
template<int Options = 0> | |
BDCSVD< PlainObject, Options > | bdcSvd () const |
template<int Options = 0> | |
EIGEN_DEPRECATED BDCSVD< PlainObject, Options > | bdcSvd (unsigned int computationOptions) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC internal::cross_impl< Derived, OtherDerived >::return_type | cross (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC PlainObject | cross3 (const MatrixBase< OtherDerived > &other) const |
EIGEN_DEVICE_FUNC PlainObject | unitOrthogonal (void) const |
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Matrix< Scalar, 3, 1 > | eulerAngles (Index a0, Index a1, Index a2) const |
EIGEN_DEVICE_FUNC Matrix< Scalar, 3, 1 > | canonicalEulerAngles (Index a0, Index a1, Index a2) const |
EIGEN_DEVICE_FUNC HomogeneousReturnType | homogeneous () const |
typedef | EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE (ConstStartMinusOne, Scalar, quotient) HNormalizedReturnType |
EIGEN_DEVICE_FUNC const HNormalizedReturnType | hnormalized () const |
homogeneous normalization More... | |
EIGEN_DEVICE_FUNC void | makeHouseholderInPlace (Scalar &tau, RealScalar &beta) |
template<typename EssentialPart > | |
EIGEN_DEVICE_FUNC void | makeHouseholder (EssentialPart &essential, Scalar &tau, RealScalar &beta) const |
template<typename EssentialPart > | |
EIGEN_DEVICE_FUNC void | applyHouseholderOnTheLeft (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) |
template<typename EssentialPart > | |
EIGEN_DEVICE_FUNC void | applyHouseholderOnTheRight (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) |
template<typename OtherScalar > | |
EIGEN_DEVICE_FUNC void | applyOnTheLeft (Index p, Index q, const JacobiRotation< OtherScalar > &j) |
template<typename OtherScalar > | |
EIGEN_DEVICE_FUNC void | applyOnTheRight (Index p, Index q, const JacobiRotation< OtherScalar > &j) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE const SparseMatrixBase< OtherDerived >::template CwiseProductDenseReturnType< Derived >::Type | cwiseProduct (const SparseMatrixBase< OtherDerived > &other) const |
const MatrixFunctionReturnValue< Derived > | matrixFunction (StemFunction f) const |
Helper function for the unsupported MatrixFunctions module. More... | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const ReturnByValue< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const |
template<int p> | |
EIGEN_DEVICE_FUNC NumTraits< typename internal::traits< Derived >::Scalar >::Real | lpNorm () const |
template<bool Enable> | |
add_const_on_value_type_t< std::conditional_t< Enable, ForceAlignedAccess< Derived >, Derived & > > | forceAlignedAccessIf () const |
template<bool Enable> | |
std::conditional_t< Enable, ForceAlignedAccess< Derived >, Derived & > | forceAlignedAccessIf () |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Product< Derived, OtherDerived > | operator* (const MatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Product< Derived, OtherDerived, LazyProduct > | lazyProduct (const MatrixBase< OtherDerived > &other) const |
template<unsigned int UpLo> | |
EIGEN_DEVICE_FUNC MatrixBase< Derived >::template ConstSelfAdjointViewReturnType< UpLo >::Type | selfadjointView () const |
template<unsigned int UpLo> | |
EIGEN_DEVICE_FUNC MatrixBase< Derived >::template SelfAdjointViewReturnType< UpLo >::Type | selfadjointView () |
template<unsigned int Mode> | |
EIGEN_DEVICE_FUNC MatrixBase< Derived >::template TriangularViewReturnType< Mode >::Type | triangularView () |
template<unsigned int Mode> | |
EIGEN_DEVICE_FUNC MatrixBase< Derived >::template ConstTriangularViewReturnType< Mode >::Type | triangularView () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::cross_impl< Derived, OtherDerived >::return_type | cross (const MatrixBase< OtherDerived > &other) const |
template<typename PermutationIndex > | |
const FullPivLU< typename MatrixBase< Derived >::PlainObject, PermutationIndex > | fullPivLu () const |
template<typename PermutationIndex > | |
const PartialPivLU< typename MatrixBase< Derived >::PlainObject, PermutationIndex > | partialPivLu () const |
template<typename PermutationIndex > | |
const PartialPivLU< typename MatrixBase< Derived >::PlainObject, PermutationIndex > | lu () const |
template<typename PermutationIndexType > | |
const ColPivHouseholderQR< typename MatrixBase< Derived >::PlainObject, PermutationIndexType > | colPivHouseholderQr () const |
template<typename PermutationIndex > | |
const CompleteOrthogonalDecomposition< typename MatrixBase< Derived >::PlainObject, PermutationIndex > | completeOrthogonalDecomposition () const |
template<typename PermutationIndex > | |
const FullPivHouseholderQR< typename MatrixBase< Derived >::PlainObject, PermutationIndex > | fullPivHouseholderQr () const |
template<int Options> | |
BDCSVD< typename MatrixBase< Derived >::PlainObject, Options > | bdcSvd () const |
template<int Options> | |
BDCSVD< typename MatrixBase< Derived >::PlainObject, Options > | bdcSvd (unsigned int computationOptions) const |
template<int Options> | |
JacobiSVD< typename MatrixBase< Derived >::PlainObject, Options > | jacobiSvd () const |
template<int Options> | |
JacobiSVD< typename MatrixBase< Derived >::PlainObject, Options > | jacobiSvd (unsigned int computationOptions) const |
![]() | |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | outerSize () const |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | innerSize () const |
EIGEN_DEVICE_FUNC void | resize (Index newSize) |
EIGEN_DEVICE_FUNC void | resize (Index rows, Index cols) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. More... | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const Scalar &s) |
template<unsigned int Added, unsigned int Removed> | |
EIGEN_DEPRECATED const Derived & | flagged () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC TransposeReturnType | transpose () |
EIGEN_DEVICE_FUNC const ConstTransposeReturnType | transpose () const |
EIGEN_DEVICE_FUNC void | transposeInPlace () |
EIGEN_DEVICE_FUNC void | fill (const Scalar &value) |
EIGEN_DEVICE_FUNC Derived & | setConstant (const Scalar &value) |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. More... | |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. More... | |
EIGEN_DEVICE_FUNC Derived & | setEqualSpaced (Index size, const Scalar &low, const Scalar &step) |
EIGEN_DEVICE_FUNC Derived & | setEqualSpaced (const Scalar &low, const Scalar &step) |
EIGEN_DEVICE_FUNC Derived & | setZero () |
EIGEN_DEVICE_FUNC Derived & | setOnes () |
EIGEN_DEVICE_FUNC Derived & | setRandom () |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | hasNaN () const |
EIGEN_DEVICE_FUNC bool | allFinite () const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator*= (const Scalar &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator/= (const Scalar &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType | eval () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | swap (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | swap (PlainObjectBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC const NestByValue< Derived > | nestByValue () const |
EIGEN_DEVICE_FUNC const ForceAlignedAccess< Derived > | forceAlignedAccess () const |
EIGEN_DEVICE_FUNC ForceAlignedAccess< Derived > | forceAlignedAccess () |
template<bool Enable> | |
EIGEN_DEVICE_FUNC const std::conditional_t< Enable, ForceAlignedAccess< Derived >, Derived & > | forceAlignedAccessIf () const |
template<bool Enable> | |
EIGEN_DEVICE_FUNC std::conditional_t< Enable, ForceAlignedAccess< Derived >, Derived & > | forceAlignedAccessIf () |
EIGEN_DEVICE_FUNC Scalar | sum () const |
EIGEN_DEVICE_FUNC Scalar | mean () const |
EIGEN_DEVICE_FUNC Scalar | trace () const |
EIGEN_DEVICE_FUNC Scalar | prod () const |
template<int NaNPropagation> | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
template<int NaNPropagation> | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<typename BinaryOp > | |
EIGEN_DEVICE_FUNC Scalar | redux (const BinaryOp &func) const |
template<typename Visitor > | |
EIGEN_DEVICE_FUNC void | visit (Visitor &func) const |
const WithFormat< Derived > | format (const IOFormat &fmt) const |
EIGEN_DEVICE_FUNC CoeffReturnType | value () const |
EIGEN_DEVICE_FUNC bool | all () const |
EIGEN_DEVICE_FUNC bool | any () const |
EIGEN_DEVICE_FUNC Index | count () const |
EIGEN_DEVICE_FUNC ConstRowwiseReturnType | rowwise () const |
EIGEN_DEVICE_FUNC RowwiseReturnType | rowwise () |
EIGEN_DEVICE_FUNC ConstColwiseReturnType | colwise () const |
EIGEN_DEVICE_FUNC ColwiseReturnType | colwise () |
template<typename ThenDerived , typename ElseDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ThenDerived >::Scalar, typename DenseBase< ElseDerived >::Scalar, Scalar >, ThenDerived, ElseDerived, Derived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const |
template<typename ThenDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ThenDerived >::Scalar, typename DenseBase< ThenDerived >::Scalar, Scalar >, ThenDerived, typename DenseBase< ThenDerived >::ConstantReturnType, Derived > | select (const DenseBase< ThenDerived > &thenMatrix, const typename DenseBase< ThenDerived >::Scalar &elseScalar) const |
template<typename ElseDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ElseDerived >::Scalar, typename DenseBase< ElseDerived >::Scalar, Scalar >, typename DenseBase< ElseDerived >::ConstantReturnType, ElseDerived, Derived > | select (const typename DenseBase< ElseDerived >::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
template<int p> | |
RealScalar | lpNorm () const |
template<int RowFactor, int ColFactor> | |
EIGEN_DEVICE_FUNC const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
EIGEN_DEVICE_FUNC const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFactor, Index colFactor) const |
EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
EIGEN_DEVICE_FUNC ConstReverseReturnType | reverse () const |
EIGEN_DEVICE_FUNC void | reverseInPlace () |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
iterator | end () |
const_iterator | end () const |
const_iterator | cend () const |
template<typename Dest > | |
EIGEN_DEVICE_FUNC void | evalTo (Dest &) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
template<typename Derived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
template<typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar | redux (const Func &func) const |
template<typename ThenDerived , typename ElseDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ThenDerived >::Scalar, typename DenseBase< ElseDerived >::Scalar, typename DenseBase< Derived >::Scalar >, ThenDerived, ElseDerived, Derived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const |
template<typename ThenDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ThenDerived >::Scalar, typename DenseBase< ThenDerived >::Scalar, typename DenseBase< Derived >::Scalar >, ThenDerived, typename DenseBase< ThenDerived >::ConstantReturnType, Derived > | select (const DenseBase< ThenDerived > &thenMatrix, const typename DenseBase< ThenDerived >::Scalar &elseScalar) const |
template<typename ElseDerived > | |
EIGEN_DEVICE_FUNC CwiseTernaryOp< internal::scalar_boolean_select_op< typename DenseBase< ElseDerived >::Scalar, typename DenseBase< ElseDerived >::Scalar, typename DenseBase< Derived >::Scalar >, typename DenseBase< ElseDerived >::ConstantReturnType, ElseDerived, Derived > | select (const typename DenseBase< ElseDerived >::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
Protected Member Functions | |
template<typename OtherDerived > | |
Derived & | operator+= (const ArrayBase< OtherDerived > &) |
template<typename OtherDerived > | |
Derived & | operator-= (const ArrayBase< OtherDerived > &) |
![]() | |
constexpr EIGEN_DEVICE_FUNC | DenseBase ()=default |
Private Member Functions | |
EIGEN_DEVICE_FUNC | MatrixBase (int) |
EIGEN_DEVICE_FUNC | MatrixBase (int, int) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC | MatrixBase (const MatrixBase< OtherDerived > &) |
Additional Inherited Members | |
![]() | |
EIGEN_DEPRECATED typedef CwiseNullaryOp< internal::linspaced_op< Scalar >, PlainObject > | SequentialLinSpacedReturnType |
![]() | |
template<typename Derived > | |
std::ostream & | operator<< (std::ostream &s, const DenseBase< Derived > &m) |
Base class for all dense matrices, vectors, and expressions.
This class is the base that is inherited by all matrix, vector, and related expression types. Most of the Eigen API is contained in this class, and its base classes. Other important classes for the Eigen API are Matrix, and VectorwiseOp.
Note that some methods are defined in other modules such as the LU_Module LU module for all functions related to matrix inversions.
Derived | is the derived type, e.g. a matrix type, or an expression, etc. |
When writing a function taking Eigen objects as argument, if you want your function to take as argument any matrix, vector, or expression, just let it take a MatrixBase argument. As an example, here is a function printFirstRow which, given a matrix, vector, or expression x, prints the first row of x.
This class can be extended with the help of the plugin mechanism described on the page Extending MatrixBase (and other classes) by defining the preprocessor symbol EIGEN_MATRIXBASE_PLUGIN
.
typedef std::conditional_t<NumTraits<Scalar>::IsComplex, CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, ConstTransposeReturnType>, ConstTransposeReturnType> Eigen::MatrixBase< Derived >::AdjointReturnType |
the return type of MatrixBase::adjoint()
typedef DenseBase<Derived> Eigen::MatrixBase< Derived >::Base |
typedef Block<const CwiseNullaryOp<internal::scalar_identity_op<Scalar>, SquareMatrixType>, internal::traits<Derived>::RowsAtCompileTime, internal::traits<Derived>::ColsAtCompileTime> Eigen::MatrixBase< Derived >::BasisReturnType |
the return type of unit vectors
typedef Base::CoeffReturnType Eigen::MatrixBase< Derived >::CoeffReturnType |
typedef Base::ColXpr Eigen::MatrixBase< Derived >::ColXpr |
typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> Eigen::MatrixBase< Derived >::ConstantReturnType |
Represents a matrix with all coefficients equal to one another
typedef Diagonal<const Derived> Eigen::MatrixBase< Derived >::ConstDiagonalReturnType |
typedef Block<const Derived, internal::traits<Derived>::ColsAtCompileTime == 1 ? SizeMinusOne : 1, internal::traits<Derived>::ColsAtCompileTime == 1 ? 1 : SizeMinusOne> Eigen::MatrixBase< Derived >::ConstStartMinusOne |
typedef Base::ConstTransposeReturnType Eigen::MatrixBase< Derived >::ConstTransposeReturnType |
typedef Diagonal<Derived> Eigen::MatrixBase< Derived >::DiagonalReturnType |
typedef Matrix<std::complex<RealScalar>, internal::traits<Derived>::ColsAtCompileTime, 1, ColMajor> Eigen::MatrixBase< Derived >::EigenvaluesReturnType |
Return type of eigenvalues()
typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> Eigen::MatrixBase< Derived >::HomogeneousReturnType |
typedef CwiseNullaryOp<internal::scalar_identity_op<Scalar>, PlainObject> Eigen::MatrixBase< Derived >::IdentityReturnType |
the return type of identity
typedef internal::packet_traits<Scalar>::type Eigen::MatrixBase< Derived >::PacketScalar |
typedef Base::PlainObject Eigen::MatrixBase< Derived >::PlainObject |
typedef NumTraits<Scalar>::Real Eigen::MatrixBase< Derived >::RealScalar |
typedef Base::RowXpr Eigen::MatrixBase< Derived >::RowXpr |
typedef internal::traits<Derived>::Scalar Eigen::MatrixBase< Derived >::Scalar |
type of the equivalent square matrix
typedef internal::stem_function<Scalar>::type Eigen::MatrixBase< Derived >::StemFunction |
typedef MatrixBase Eigen::MatrixBase< Derived >::StorageBaseType |
typedef internal::traits<Derived>::StorageIndex Eigen::MatrixBase< Derived >::StorageIndex |
typedef internal::traits<Derived>::StorageKind Eigen::MatrixBase< Derived >::StorageKind |
anonymous enum |
|
explicitprivate |
|
private |
|
explicitprivate |
|
inline |
Example:
Output:
|
inline |
This is the "in place" version of adjoint(): it replaces *this
by its own transpose. Thus, doing
has the same effect on m as doing
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own adjoint. If you just need the adjoint of a matrix, use adjoint().
*this
must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.References adjoint().
EIGEN_DEVICE_FUNC void Eigen::MatrixBase< Derived >::applyHouseholderOnTheLeft | ( | const EssentialPart & | essential, |
const Scalar & | tau, | ||
Scalar * | workspace | ||
) |
Apply the elementary reflector H given by \( H = I - tau v v^*\) with \( v^T = [1 essential^T] \) from the left to a vector or matrix.
On input:
essential | the essential part of the vector v |
tau | the scaling factor of the Householder transformation |
workspace | a pointer to working space with at least this->cols() entries |
References cols, Eigen::numext::is_exactly_zero(), row(), rows, and tmp.
EIGEN_DEVICE_FUNC void Eigen::MatrixBase< Derived >::applyHouseholderOnTheRight | ( | const EssentialPart & | essential, |
const Scalar & | tau, | ||
Scalar * | workspace | ||
) |
Apply the elementary reflector H given by \( H = I - tau v v^*\) with \( v^T = [1 essential^T] \) from the right to a vector or matrix.
On input:
essential | the essential part of the vector v |
tau | the scaling factor of the Householder transformation |
workspace | a pointer to working space with at least this->rows() entries |
References col(), cols, Eigen::numext::is_exactly_zero(), rows, and tmp.
|
inline |
|
inline |
\jacobi_module Applies the rotation in the plane j to the rows p and q of *this
, i.e., it computes B = J * B, with \( B = \left ( \begin{array}{cc} \text{*this.row}(p) \\ \text{*this.row}(q) \end{array} \right ) \).
References Eigen::internal::apply_rotation_in_the_plane(), j, row(), plotDoE::x, and y.
|
inline |
|
inline |
\jacobi_module Applies the rotation in the plane j to the columns p and q of *this
, i.e., it computes B = B * J with \( B = \left ( \begin{array}{cc} \text{*this.col}(p) & \text{*this.col}(q) \end{array} \right ) \).
References Eigen::internal::apply_rotation_in_the_plane(), col(), j, plotDoE::x, and y.
|
inline |
|
inline |
|
inline |
\only_for_vectors
Example:
Output:
Referenced by Eigen::Transform< Scalar_, Dim_, Mode_, Options_ >::fromPositionOrientationScale(), Eigen::Transform< Scalar_, Dim_, Mode_, Options_ >::prescale(), Eigen::Transform< Scalar_, Dim_, Mode_, Options_ >::scale(), and Eigen::Scaling().
const PermutationWrapper< const Derived > Eigen::MatrixBase< Derived >::asPermutation |
|
inline |
|
inline |
BDCSVD<typename MatrixBase<Derived>::PlainObject, Options> Eigen::MatrixBase< Derived >::bdcSvd | ( | ) | const |
|
inline |
BDCSVD<typename MatrixBase<Derived>::PlainObject, Options> Eigen::MatrixBase< Derived >::bdcSvd | ( | unsigned int | computationOptions | ) | const |
|
inline |
*this
using the Blue's algorithm. A Portable Fortran Program to Find the Euclidean Norm of a Vector, ACM TOMS, Vol 4, Issue 1, 1978.For architecture/scalar types without vectorization, this version is much faster than stableNorm(). Otherwise the stableNorm() is faster.
References Eigen::internal::blueNorm_impl().
|
inline |
const ColPivHouseholderQR<typename MatrixBase<Derived>::PlainObject, PermutationIndexType> Eigen::MatrixBase< Derived >::colPivHouseholderQr | ( | ) | const |
*this
.References eval().
|
inline |
const CompleteOrthogonalDecomposition<typename MatrixBase<Derived>::PlainObject, PermutationIndex> Eigen::MatrixBase< Derived >::completeOrthogonalDecomposition | ( | ) | const |
|
inline |
\lu_module
Computation of matrix inverse and determinant, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
Notice that it will trigger a copy of input matrix when trying to do the inverse in place.
inverse | Reference to the matrix in which to store the inverse. |
determinant | Reference to the variable in which to store the determinant. |
invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
References cols, determinant(), eigen_assert, inverse(), rows, and run().
|
inline |
\lu_module
Computation of matrix inverse, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
Notice that it will trigger a copy of input matrix when trying to do the inverse in place.
inverse | Reference to the matrix in which to store the inverse. |
invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
|
inline |
|
inline |
|
inline |
\lu_module
References cols, eigen_assert, rows, and Eigen::run().
|
inline |
*this
*this
is not required to be square.
Example:
Output:
*this
*this
is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
EIGEN_DEVICE_FUNC Diagonal<Derived, Index> Eigen::MatrixBase< Derived >::diagonal | ( | ) |
|
inline |
This is the const version of diagonal().
This is the const version of diagonal<int>().
EIGEN_DEVICE_FUNC const Diagonal<const Derived, Index> Eigen::MatrixBase< Derived >::diagonal | ( | ) | const |
|
inline |
*this
*this
is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
|
inline |
|
inline |
References cols, Eigen::numext::mini(), and rows.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarBinaryOpTraits<typename internal::traits<Derived>::Scalar, typename internal::traits<OtherDerived>::Scalar>::ReturnType Eigen::MatrixBase< Derived >::dot | ( | const MatrixBase< OtherDerived > & | other | ) | const |
References Eigen::internal::default_inner_product_impl< Lhs, Rhs, true >::run().
Eigen::MatrixBase< Derived >::dot | ( | const MatrixBase< OtherDerived > & | other | ) | const |
\only_for_vectors
typedef Eigen::MatrixBase< Derived >::EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE | ( | ConstStartMinusOne | , |
Scalar | , | ||
quotient | |||
) |
|
inline |
Computes the eigenvalues of a matrix.
\eigenvalues_module This function computes the eigenvalues with the help of the EigenSolver class (for real matrices) or the ComplexEigenSolver class (for complex matrices).
The eigenvalues are repeated according to their algebraic multiplicity, so there are as many eigenvalues as rows in the matrix.
The SelfAdjointView class provides a better algorithm for selfadjoint matrices.
Example:
Output:
References Eigen::run().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
const FullPivHouseholderQR<typename MatrixBase<Derived>::PlainObject, PermutationIndex> Eigen::MatrixBase< Derived >::fullPivHouseholderQr | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
*this
avoiding underflow and overflow. This version use a concatenation of hypot() calls, and it is very slow.References Eigen::numext::abs(), and size.
|
static |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variant taking size arguments.
Example:
Output:
References EIGEN_STATIC_ASSERT_FIXED_SIZE, and Eigen::DenseBase< Derived >::NullaryExpr().
|
static |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Identity() should be used instead.
Example:
Output:
References cols, Eigen::DenseBase< Derived >::NullaryExpr(), and rows.
|
inline |
\lu_module
For small fixed sizes up to 4x4, this method uses cofactors. In the general case, this method uses class PartialPivLU.
References cols, eigen_assert, EIGEN_STATIC_ASSERT, and rows.
bool Eigen::MatrixBase< Derived >::isDiagonal | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
References Eigen::numext::abs(), cols, i, Eigen::internal::isMuchSmallerThan(), j, and rows.
bool Eigen::MatrixBase< Derived >::isIdentity | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
References cols, i, Eigen::internal::isApprox(), Eigen::internal::isMuchSmallerThan(), j, and rows.
bool Eigen::MatrixBase< Derived >::isLowerTriangular | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
References Eigen::numext::abs(), cols, i, j, Eigen::numext::maxi(), Eigen::numext::mini(), and rows.
bool Eigen::MatrixBase< Derived >::isOrthogonal | ( | const MatrixBase< OtherDerived > & | other, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
Example:
Output:
References Eigen::numext::abs2().
bool Eigen::MatrixBase< Derived >::isSkewSymmetric | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
References cols, rows, and anonymous_namespace{skew_symmetric_matrix3.cpp}::transpose().
bool Eigen::MatrixBase< Derived >::isUnitary | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
m.isUnitary()
returns true if and only if the columns (equivalently, the rows) of m form an orthonormal basis.Example:
Output:
References col(), cols, dot(), i, Eigen::internal::isApprox(), Eigen::internal::isMuchSmallerThan(), and j.
bool Eigen::MatrixBase< Derived >::isUpperTriangular | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
References Eigen::numext::abs(), cols, i, j, Eigen::numext::maxi(), Eigen::numext::mini(), and rows.
|
inline |
JacobiSVD<typename MatrixBase<Derived>::PlainObject, Options> Eigen::MatrixBase< Derived >::jacobiSvd | ( | ) | const |
|
inline |
JacobiSVD<typename MatrixBase<Derived>::PlainObject, Options> Eigen::MatrixBase< Derived >::jacobiSvd | ( | unsigned int | computationOptions | ) | const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Product<Derived, OtherDerived, LazyProduct> Eigen::MatrixBase< Derived >::lazyProduct | ( | const MatrixBase< OtherDerived > & | other | ) | const |
*this
and other without implicit evaluation.The returned product will behave like any other expressions: the coefficients of the product will be computed once at a time as requested. This might be useful in some extremely rare cases when only a small and no coherent fraction of the result's coefficients have to be computed.
References Eigen::Dynamic, EIGEN_PREDICATE_SAME_MATRIX_SIZE, EIGEN_STATIC_ASSERT, and int().
EIGEN_DEVICE_FUNC const Product<Derived, OtherDerived, LazyProduct> Eigen::MatrixBase< Derived >::lazyProduct | ( | const MatrixBase< OtherDerived > & | other | ) | const |
|
inline |
\cholesky_module
*this
References Eigen::SolverBase< LDLT< MatrixType_, UpLo_ > >::derived().
|
inline |
\cholesky_module
*this
References Eigen::SolverBase< LLT< MatrixType_, UpLo_ > >::derived().
|
inline |
*this
, that is, returns the p-th root of the sum of the p-th powers of the absolute values of the coefficients of *this
. If p is the special value Eigen::Infinity, this function returns the \( \ell^\infty \) norm, that is the maximum of the absolute values of the coefficients of *this
.In all cases, if *this
is empty, then the value 0 is returned.
*this
is a matrix, then its coefficients are interpreted as a 1D vector. Nonetheless, you can easily compute the 1-norm and \(\infty\)-norm matrix operator norms using partial reductions .References Eigen::internal::lpNorm_selector< Derived, p >::run().
EIGEN_DEVICE_FUNC RealScalar Eigen::MatrixBase< Derived >::lpNorm | ( | ) | const |
|
inline |
|
inline |
EIGEN_DEVICE_FUNC void Eigen::MatrixBase< Derived >::makeHouseholder | ( | EssentialPart & | essential, |
Scalar & | tau, | ||
RealScalar & | beta | ||
) | const |
Computes the elementary reflector H such that: \( H *this = [ beta 0 ... 0]^T \) where the transformation H is: \( H = I - tau v v^*\) and the vector v is: \( v^T = [1 essential^T] \)
On output:
essential | the essential part of the vector v |
tau | the scaling factor of the Householder transformation |
beta | the result of H * *this |
References Eigen::numext::abs2(), beta, conj(), Eigen::conj(), EIGEN_STATIC_ASSERT_VECTOR_ONLY, imag(), min, size, sqrt(), and Eigen::numext::sqrt().
EIGEN_DEVICE_FUNC void Eigen::MatrixBase< Derived >::makeHouseholderInPlace | ( | Scalar & | tau, |
RealScalar & | beta | ||
) |
Computes the elementary reflector H such that: \( H *this = [ beta 0 ... 0]^T \) where the transformation H is: \( H = I - tau v v^*\) and the vector v is: \( v^T = [1 essential^T] \)
The essential part of the vector v
is stored in *this.
On output:
tau | the scaling factor of the Householder transformation |
beta | the result of H * *this |
|
inline |
|
inline |
const MatrixFunctionReturnValue< Derived > Eigen::MatrixBase< Derived >::matrixFunction | ( | StemFunction | f | ) | const |
Helper function for the unsupported MatrixFunctions module.
References cols, eigen_assert, f(), and rows.
NoAlias< Derived, MatrixBase > EIGEN_DEVICE_FUNC Eigen::MatrixBase< Derived >::noalias |
*this
with an operator= assuming no aliasing between *this
and the source expression.More precisely, noalias() allows to bypass the EvalBeforeAssignBit flag. Currently, even though several expressions may alias, only product expressions have this flag. Therefore, noalias() is only useful when the source expression contains a matrix product.
Here are some examples where noalias is useful:
On the other hand the following example will lead to a wrong result:
because the result matrix A is also an operand of the matrix product. Therefore, there is no alternative than evaluating A * B in a temporary, that is the default behavior when you write:
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase< Derived >::norm |
*this
, and for matrices the Frobenius norm. In both cases, it consists in the square root of the sum of the square of all the matrix entries. For vectors, this is also equals to the square root of the dot product of *this
with itself.References Eigen::numext::sqrt().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::MatrixBase< Derived >::normalize |
Normalizes the vector, i.e. divides it by its own norm.
\only_for_vectors
*this
is left unchanged.References Eigen::numext::sqrt().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const MatrixBase< Derived >::PlainObject Eigen::MatrixBase< Derived >::normalized |
*this
by its own norm.\only_for_vectors
References n, and Eigen::numext::sqrt().
|
inline |
|
inline |
*this
by the diagonal matrix diagonal. References Eigen::DiagonalBase< Derived >::derived().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Product<Derived, OtherDerived> Eigen::MatrixBase< Derived >::operator* | ( | const MatrixBase< OtherDerived > & | other | ) | const |
*this
and other.References Eigen::Dynamic, EIGEN_PREDICATE_SAME_MATRIX_SIZE, EIGEN_STATIC_ASSERT, and int().
EIGEN_DEVICE_FUNC const Product<Derived, OtherDerived> Eigen::MatrixBase< Derived >::operator* | ( | const MatrixBase< OtherDerived > & | other | ) | const |
|
inline |
*this
by the skew symmetric matrix \skew. References Eigen::SkewSymmetricBase< Derived >::derived().
|
inline |
|
inlineprotected |
References EIGEN_STATIC_ASSERT.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::operator+= | ( | const MatrixBase< OtherDerived > & | other | ) |
replaces *this
by *this
+ other.
*this
References Eigen::internal::call_assignment().
|
inlineprotected |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::operator-= | ( | const MatrixBase< OtherDerived > & | other | ) |
replaces *this
by *this
- other.
*this
References Eigen::internal::call_assignment().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
References Eigen::internal::call_assignment().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& Eigen::MatrixBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) |
References Eigen::internal::call_assignment(), and Eigen::EigenBase< Derived >::derived().
EIGEN_DEVICE_FUNC Derived& Eigen::MatrixBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::operator= | ( | const MatrixBase< Derived > & | other | ) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1)
References Eigen::internal::call_assignment().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& Eigen::MatrixBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | other | ) |
EIGEN_DEVICE_FUNC Derived& Eigen::MatrixBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | other | ) |
|
inline |
*this
and other are all exactly equal.
|
inline |
Computes the L2 operator norm.
\eigenvalues_module This function computes the L2 operator norm of a matrix, which is also known as the spectral norm. The norm of a matrix \( A \) is defined to be
\[ \|A\|_2 = \max_x \frac{\|Ax\|_2}{\|x\|_2} \]
where the maximum is over all vectors and the norm on the right is the Euclidean vector norm. The norm equals the largest singular value, which is the square root of the largest eigenvalue of the positive semi-definite matrix \( A^*A \).
The current implementation uses the eigenvalues of \( A^*A \), as computed by SelfAdjointView::eigenvalues(), to compute the operator norm of a matrix. The SelfAdjointView class provides a better algorithm for selfadjoint matrices.
Example:
Output:
References sqrt().
|
inline |
|
inline |
EIGEN_DEVICE_FUNC SelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase< Derived >::selfadjointView | ( | ) |
EIGEN_DEVICE_FUNC MatrixBase<Derived>::template SelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase< Derived >::selfadjointView | ( | ) |
The parameter UpLo can be either Upper
or Lower
Example:
Output:
EIGEN_DEVICE_FUNC ConstSelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase< Derived >::selfadjointView | ( | ) | const |
EIGEN_DEVICE_FUNC MatrixBase<Derived>::template ConstSelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase< Derived >::selfadjointView | ( | ) | const |
This is the const version of MatrixBase::selfadjointView()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::setIdentity |
Writes the identity expression (not necessarily square) into *this.
Example:
Output:
References Eigen::internal::setIdentity_impl< Derived, Big >::run().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::setIdentity | ( | Index | rows, |
Index | cols | ||
) |
Resizes to the given size, and writes the identity expression (not necessarily square) into *this.
rows | the new number of rows |
cols | the new number of columns |
Example:
Output:
References cols, rows, and setIdentity().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::setUnit | ( | Index | i | ) |
Set the coefficients of *this
to the i-th unit (basis) vector.
i | index of the unique coefficient to be set to 1 |
\only_for_vectors
References eigen_assert, EIGEN_STATIC_ASSERT_VECTOR_ONLY, i, and size.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase< Derived >::setUnit | ( | Index | newSize, |
Index | i | ||
) |
Resizes to the given newSize, and writes the i-th unit (basis) vector into *this.
newSize | the new size of the vector |
i | index of the unique coefficient to be set to 1 |
\only_for_vectors
References eigen_assert, EIGEN_STATIC_ASSERT_VECTOR_ONLY, and i.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase< Derived >::squaredNorm |
*this
, and for matrices the squared Frobenius norm. In both cases, it consists in the sum of the square of all the matrix entries. For vectors, this is also equals to the dot product of *this
with itself.References Eigen::internal::squared_norm_impl< Derived, Scalar >::run().
|
inline |
*this
avoiding underflow and overflow. This version use a blockwise two passes algorithm: 1 - find the absolute largest coefficient s
2 - compute \( s \Vert \frac{*this}{s} \Vert \) in a standard wayFor architecture/scalar types supporting vectorization, this version is faster than blueNorm(). Otherwise the blueNorm() is much faster.
References Eigen::internal::stable_norm_impl().
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::MatrixBase< Derived >::stableNormalize |
Normalizes the vector while avoid underflow and overflow
\only_for_vectors
This method is analogue to the normalize() method, but it reduces the risk of underflow and overflow when computing the norm.
*this
is left unchanged.References Eigen::numext::sqrt(), and w.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const MatrixBase< Derived >::PlainObject Eigen::MatrixBase< Derived >::stableNormalized |
*this
by its own norm while avoiding underflow and overflow.\only_for_vectors
This method is analogue to the normalized() method, but it reduces the risk of underflow and overflow when computing the norm.
References n, Eigen::numext::sqrt(), and w.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::MatrixBase< Derived >::trace |
EIGEN_DEVICE_FUNC TriangularViewReturnType<Mode>::Type Eigen::MatrixBase< Derived >::triangularView | ( | ) |
EIGEN_DEVICE_FUNC MatrixBase<Derived>::template TriangularViewReturnType<Mode>::Type Eigen::MatrixBase< Derived >::triangularView | ( | ) |
The parameter Mode can have the following values: Upper
, StrictlyUpper
, UnitUpper
, Lower
, StrictlyLower
, UnitLower
.
Example:
Output:
EIGEN_DEVICE_FUNC ConstTriangularViewReturnType<Mode>::Type Eigen::MatrixBase< Derived >::triangularView | ( | ) | const |
EIGEN_DEVICE_FUNC MatrixBase<Derived>::template ConstTriangularViewReturnType<Mode>::Type Eigen::MatrixBase< Derived >::triangularView | ( | ) | const |
This is the const version of MatrixBase::triangularView()
|
static |
\only_for_vectors
This variant is for fixed-size vector only.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY, and i.
|
static |
\only_for_vectors
References EIGEN_STATIC_ASSERT_VECTOR_ONLY, and i.
|
static |
|
static |
|
static |
|
static |