
Public Types | |||
| typedef MatrixBase < CoeffBasedProduct > | Base | ||
| typedef Base::PlainObject | PlainObject | ||
| The plain matrix type corresponding to this expression. | |||
| enum | |||
| enum | |||
| typedef Diagonal< Derived > | DiagonalReturnType | ||
| typedef const Diagonal< const Derived > | ConstDiagonalReturnType | ||
| typedef Homogeneous< Derived, HomogeneousReturnTypeDirection > | HomogeneousReturnType | ||
| typedef Block< const Derived, internal::traits< Derived > ::ColsAtCompileTime==1?SizeMinusOne:1, internal::traits< Derived > ::ColsAtCompileTime==1?1:SizeMinusOne > | ConstStartMinusOne | ||
| typedef CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const ConstStartMinusOne > | HNormalizedReturnType | ||
| typedef internal::stem_function < Scalar >::type | StemFunction | ||
MRPT plugin: Types | |||
| enum | |||
| typedef Scalar | value_type | ||
| Type of the elements. | |||
Public Member Functions | |||
| CoeffBasedProduct (const CoeffBasedProduct &other) | |||
| template<typename Lhs , typename Rhs > | |||
| CoeffBasedProduct (const Lhs &lhs, const Rhs &rhs) | |||
| EIGEN_STRONG_INLINE Index | rows () const | ||
| EIGEN_STRONG_INLINE Index | cols () const | ||
| EIGEN_STRONG_INLINE const Scalar | coeff (Index row, Index col) const | ||
| EIGEN_STRONG_INLINE const Scalar | coeff (Index index) const | ||
| template<int LoadMode> | |||
| EIGEN_STRONG_INLINE const PacketScalar | packet (Index row, Index col) const | ||
| EIGEN_STRONG_INLINE | operator const PlainObject & () const | ||
| const _LhsNested & | lhs () const | ||
| const _RhsNested & | rhs () const | ||
| const Diagonal< const LazyCoeffBasedProductType, 0 > | diagonal () const | ||
| template<int DiagonalIndex> | |||
| const Diagonal< const LazyCoeffBasedProductType, DiagonalIndex > | diagonal () const | ||
| const Diagonal< const LazyCoeffBasedProductType, Dynamic > | diagonal (Index index) const | ||
| Index | diagonalSize () const | ||
| const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator- () const | ||
| const ScalarMultipleReturnType | operator* (const Scalar &scalar) const | ||
| const ScalarMultipleReturnType | operator* (const RealScalar &scalar) const | ||
| const CwiseUnaryOp < internal::scalar_multiple2_op < Scalar, std::complex< Scalar > >, const Derived > | operator* (const std::complex< Scalar > &scalar) const | ||
| Overloaded for efficient real matrix times complex scalar value. | |||
| const ProductReturnType < Derived, OtherDerived > ::Type | operator* (const MatrixBase< OtherDerived > &other) const | ||
| const DiagonalProduct< Derived, DiagonalDerived, OnTheRight > | operator* (const DiagonalBase< DiagonalDerived > &diagonal) const | ||
| ScalarMultipleReturnType | operator* (const UniformScaling< Scalar > &s) const | ||
| const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator/ (const Scalar &scalar) const | ||
| internal::cast_return_type < Derived, const CwiseUnaryOp < internal::scalar_cast_op < typename internal::traits < Derived >::Scalar, NewType > , const Derived > >::type | cast () const | ||
| ConjugateReturnType | conjugate () const | ||
| RealReturnType | real () const | ||
| NonConstRealReturnType | real () | ||
| const ImagReturnType | imag () const | ||
| NonConstImagReturnType | imag () | ||
| const CwiseUnaryOp < CustomUnaryOp, const Derived > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const | ||
| Apply a unary operator coefficient-wise. | |||
| const CwiseUnaryView < CustomViewOp, const Derived > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const | ||
| EIGEN_STRONG_INLINE const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > | binaryExpr (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const | ||
| EIGEN_STRONG_INLINE const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const Derived > | cwiseAbs () const | ||
| EIGEN_STRONG_INLINE const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const Derived > | cwiseAbs2 () const | ||
| const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | cwiseSqrt () const | ||
| const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const Derived > | cwiseInverse () const | ||
| const CwiseUnaryOp < std::binder1st < std::equal_to< Scalar > >, const Derived > | cwiseEqual (const Scalar &s) const | ||
| const CwiseBinaryOp < std::equal_to< Scalar > , const Derived, const OtherDerived > | cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| EIGEN_STRONG_INLINE const | EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| const CwiseBinaryOp < std::not_equal_to< Scalar > , const Derived, const OtherDerived > | cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const Derived, const OtherDerived > | cwiseMin (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const Derived, const OtherDerived > | cwiseMax (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| bool | isDiagonal (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| void | normalize () | ||
| EIGEN_STRONG_INLINE void | extractRow (size_t nRow, Eigen::EigenBase< OtherDerived > &v, size_t startingCol=0) const | ||
| Extract one row from the matrix into a row vector. | |||
| void | extractRow (size_t nRow, std::vector< T > &v, size_t startingCol=0) const | ||
| EIGEN_STRONG_INLINE void | extractRowAsCol (size_t nRow, VECTOR &v, size_t startingCol=0) const | ||
| Extract one row from the matrix into a column vector. | |||
| EIGEN_STRONG_INLINE void | extractCol (size_t nCol, VECTOR &v, size_t startingRow=0) const | ||
| Extract one column from the matrix into a column vector. | |||
| void | extractCol (size_t nCol, std::vector< T > &v, size_t startingRow=0) const | ||
| EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, MATRIX &m) const | ||
| EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, const size_t nRows, const size_t nCols, MATRIX &m) const | ||
| EIGEN_STRONG_INLINE void | extractSubmatrix (const size_t row_first, const size_t row_last, const size_t col_first, const size_t col_last, MATRIX &out) const | ||
| Get a submatrix, given its bounds: first & last column and row (inclusive). | |||
| void | extractSubmatrixSymmetricalBlocks (const size_t block_size, const std::vector< size_t > &block_indices, MATRIX &out) const | ||
| Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is a sequence {block_indices(i):block_indices(i)+block_size-1} for all "i" up to the size of block_indices. | |||
| void | extractSubmatrixSymmetrical (const std::vector< size_t > &indices, MATRIX &out) const | ||
| Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is the sequence of indices passed as argument. | |||
| Derived & | operator+= (const MatrixBase< OtherDerived > &other) | ||
| Derived & | operator-= (const MatrixBase< OtherDerived > &other) | ||
| const LazyProductReturnType < Derived, OtherDerived > ::Type | lazyProduct (const MatrixBase< OtherDerived > &other) const | ||
| Derived & | operator*= (const EigenBase< OtherDerived > &other) | ||
| void | applyOnTheLeft (const EigenBase< OtherDerived > &other) | ||
| void | applyOnTheLeft (Index p, Index q, const JacobiRotation< OtherScalar > &j) | ||
| void | applyOnTheRight (const EigenBase< OtherDerived > &other) | ||
| void | applyOnTheRight (Index p, Index q, const JacobiRotation< OtherScalar > &j) | ||
| internal::scalar_product_traits < typename internal::traits < Derived >::Scalar, typename internal::traits< OtherDerived > ::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const | ||
| RealScalar | squaredNorm () const | ||
| RealScalar | norm () const | ||
| RealScalar | stableNorm () const | ||
| RealScalar | blueNorm () const | ||
| RealScalar | hypotNorm () const | ||
| const PlainObject | normalized () const | ||
| const AdjointReturnType | adjoint () const | ||
| void | adjointInPlace () | ||
| DiagonalReturnType | diagonal () | ||
| DiagonalIndexReturnType < Dynamic >::Type | diagonal (Index index) | ||
| TriangularViewReturnType< Mode > ::Type | triangularView () | ||
| ConstTriangularViewReturnType < Mode >::Type | triangularView () const | ||
| SelfAdjointViewReturnType < UpLo >::Type | selfadjointView () | ||
| ConstSelfAdjointViewReturnType < UpLo >::Type | selfadjointView () const | ||
| const SparseView< Derived > | sparseView (const Scalar &m_reference=Scalar(0), typename NumTraits< Scalar >::Real m_epsilon=NumTraits< Scalar >::dummy_precision()) const | ||
| const DiagonalWrapper< const Derived > | asDiagonal () const | ||
| const PermutationWrapper < const Derived > | asPermutation () const | ||
| Derived & | setIdentity () | ||
| Derived & | setIdentity (Index rows, Index cols) | ||
| bool | isIdentity (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isUpperTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isLowerTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isOrthogonal (const MatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isUnitary (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | operator== (const MatrixBase< OtherDerived > &other) const | ||
| bool | operator!= (const MatrixBase< OtherDerived > &other) const | ||
| NoAlias< Derived, Eigen::MatrixBase > | noalias () | ||
| const ForceAlignedAccess< Derived > | forceAlignedAccess () const | ||
| ForceAlignedAccess< Derived > | forceAlignedAccess () | ||
| internal::add_const_on_value_type < typename internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type >::type | forceAlignedAccessIf () const | ||
| internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type | forceAlignedAccessIf () | ||
| Scalar | trace () const | ||
| RealScalar | lpNorm () const | ||
| MatrixBase< Derived > & | matrix () | ||
| const MatrixBase< Derived > & | matrix () const | ||
| ArrayWrapper< Derived > | array () | ||
| const ArrayWrapper< Derived > | array () const | ||
| const FullPivLU< PlainObject > | fullPivLu () const | ||
| const PartialPivLU< PlainObject > | partialPivLu () const | ||
| const PartialPivLU< PlainObject > | lu () const | ||
| const internal::inverse_impl < Derived > | inverse () const | ||
| void | computeInverseAndDetWithCheck (ResultType &inverse, typename ResultType::Scalar &determinant, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const | ||
| void | computeInverseWithCheck (ResultType &inverse, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const | ||
| Scalar | determinant () const | ||
| const LLT< PlainObject > | llt () const | ||
| const LDLT< PlainObject > | ldlt () const | ||
| const HouseholderQR< PlainObject > | householderQr () const | ||
| const ColPivHouseholderQR < PlainObject > | colPivHouseholderQr () const | ||
| const FullPivHouseholderQR < PlainObject > | fullPivHouseholderQr () const | ||
| EigenvaluesReturnType | eigenvalues () const | ||
| RealScalar | operatorNorm () const | ||
| JacobiSVD< PlainObject > | jacobiSvd (unsigned int computationOptions=0) const | ||
| cross_product_return_type < OtherDerived >::type | cross (const MatrixBase< OtherDerived > &other) const | ||
| PlainObject | cross3 (const MatrixBase< OtherDerived > &other) const | ||
| PlainObject | unitOrthogonal (void) const | ||
| Matrix< Scalar, 3, 1 > | eulerAngles (Index a0, Index a1, Index a2) const | ||
| HomogeneousReturnType | homogeneous () const | ||
| const HNormalizedReturnType | hnormalized () const | ||
| void | makeHouseholderInPlace (Scalar &tau, RealScalar &beta) | ||
| void | makeHouseholder (EssentialPart &essential, Scalar &tau, RealScalar &beta) const | ||
| void | applyHouseholderOnTheLeft (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) | ||
| void | applyHouseholderOnTheRight (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) | ||
| const MatrixExponentialReturnValue < Derived > | exp () const | ||
| const MatrixFunctionReturnValue < Derived > | matrixFunction (StemFunction f) const | ||
| const MatrixFunctionReturnValue < Derived > | cosh () const | ||
| const MatrixFunctionReturnValue < Derived > | sinh () const | ||
| const MatrixFunctionReturnValue < Derived > | cos () const | ||
| const MatrixFunctionReturnValue < Derived > | sin () const | ||
| const MatrixSquareRootReturnValue < Derived > | sqrt () const | ||
| const MatrixLogarithmReturnValue < Derived > | log () const | ||
MRPT plugin: Set/get/load/save and other miscelaneous methods | |||
| EIGEN_STRONG_INLINE void | fill (const Scalar v) | ||
| EIGEN_STRONG_INLINE void | assign (const Scalar v) | ||
| EIGEN_STRONG_INLINE void | assign (size_t N, const Scalar v) | ||
| EIGEN_STRONG_INLINE size_t | getRowCount () const | ||
| Get number of rows. | |||
| EIGEN_STRONG_INLINE size_t | getColCount () const | ||
| Get number of columns. | |||
| EIGEN_STRONG_INLINE void | unit (const size_t nRows, const Scalar diag_vals) | ||
| Make the matrix an identity matrix (the diagonal values can be 1.0 or any other value) | |||
| EIGEN_STRONG_INLINE void | unit () | ||
| Make the matrix an identity matrix. | |||
| EIGEN_STRONG_INLINE void | eye () | ||
| Make the matrix an identity matrix. | |||
| EIGEN_STRONG_INLINE void | zeros () | ||
| Set all elements to zero. | |||
| EIGEN_STRONG_INLINE void | zeros (const size_t row, const size_t col) | ||
| Resize and set all elements to zero. | |||
| EIGEN_STRONG_INLINE void | ones (const size_t row, const size_t col) | ||
| Resize matrix and set all elements to one. | |||
| EIGEN_STRONG_INLINE void | ones () | ||
| Set all elements to one. | |||
| EIGEN_STRONG_INLINE Scalar * | get_unsafe_row (size_t row) | ||
| Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications) VERY IMPORTANT WARNING: You must be aware of the memory layout, either Column or Row-major ordering. | |||
| EIGEN_STRONG_INLINE const Scalar * | get_unsafe_row (size_t row) const | ||
| EIGEN_STRONG_INLINE Scalar | get_unsafe (const size_t row, const size_t col) const | ||
| Read-only access to one element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE Scalar & | get_unsafe (const size_t row, const size_t col) | ||
| Reference access to one element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE void | set_unsafe (const size_t row, const size_t col, const Scalar val) | ||
| Sets an element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE void | push_back (Scalar val) | ||
| Insert an element at the end of the container (for 1D vectors/arrays) | |||
| EIGEN_STRONG_INLINE bool | isSquare () const | ||
| EIGEN_STRONG_INLINE bool | isSingular (const Scalar absThreshold=0) const | ||
| bool | fromMatlabStringFormat (const std::string &s, bool dumpErrorMsgToStdErr=true) | ||
| Read a matrix from a string in Matlab-like format, for example "[1 0 2; 0 4 -1]" The string must start with '[' and end with ']'. | |||
| std::string | inMatlabFormat (const size_t decimal_digits=6) const | ||
| Dump matrix in matlab format. | |||
| void | saveToTextFile (const std::string &file, mrpt::math::TMatrixTextFileFormat fileFormat=mrpt::math::MATRIX_FORMAT_ENG, bool appendMRPTHeader=false, const std::string &userHeader=std::string()) const | ||
| Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classes themselves). | |||
| void | loadFromTextFile (const std::string &file) | ||
| Load matrix from a text file, compatible with MATLAB text format. | |||
| void | loadFromTextFile (std::istream &_input_text_stream) | ||
| EIGEN_STRONG_INLINE void | multiplyColumnByScalar (size_t c, Scalar s) | ||
| EIGEN_STRONG_INLINE void | multiplyRowByScalar (size_t r, Scalar s) | ||
| EIGEN_STRONG_INLINE void | swapCols (size_t i1, size_t i2) | ||
| EIGEN_STRONG_INLINE void | swapRows (size_t i1, size_t i2) | ||
| EIGEN_STRONG_INLINE size_t | countNonZero () const | ||
| EIGEN_STRONG_INLINE Scalar | maximum () const | ||
[VECTORS OR MATRICES] Finds the maximum value
| |||
| EIGEN_STRONG_INLINE Scalar | maximum (size_t *maxIndex) const | ||
| [VECTORS ONLY] Finds the maximum value (and the corresponding zero-based index) from a given container. | |||
| EIGEN_STRONG_INLINE Scalar | minimum () const | ||
| [VECTORS OR MATRICES] Finds the minimum value | |||
| EIGEN_STRONG_INLINE Scalar | minimum (size_t *minIndex) const | ||
| [VECTORS ONLY] Finds the minimum value (and the corresponding zero-based index) from a given container. | |||
| EIGEN_STRONG_INLINE void | minimum_maximum (Scalar &out_min, Scalar &out_max) const | ||
| [VECTORS OR MATRICES] Compute the minimum and maximum of a container at once | |||
| EIGEN_STRONG_INLINE void | minimum_maximum (Scalar &out_min, Scalar &out_max, size_t *minIndex, size_t *maxIndex) const | ||
| [VECTORS ONLY] Compute the minimum and maximum of a container at once | |||
| void | find_index_max_value (size_t &u, size_t &v, Scalar &valMax) const | ||
| [VECTORS OR MATRICES] Finds the maximum value (and the corresponding zero-based index) from a given container. | |||
| EIGEN_STRONG_INLINE Scalar | norm_inf () const | ||
| Compute the norm-infinite of a vector ($f[ ||{v}||_ $f]), ie the maximum absolute value of the elements. | |||
| EIGEN_STRONG_INLINE Scalar | squareNorm () const | ||
| Compute the square norm of a vector/array/matrix (the Euclidean distance to the origin, taking all the elements as a single vector). | |||
| EIGEN_STRONG_INLINE Scalar | sumAll () const | ||
| EIGEN_STRONG_INLINE void | laplacian (Eigen::MatrixBase< OtherDerived > &ret) const | ||
| Computes the laplacian of this square graph weight matrix. | |||
| EIGEN_STRONG_INLINE void | setSize (size_t row, size_t col) | ||
| Changes the size of matrix, maintaining its previous content as possible and padding with zeros where applicable. | |||
| void | largestEigenvector (OUTVECT &x, Scalar resolution=Scalar(0.01), size_t maxIterations=6, int *out_Iterations=NULL, float *out_estimatedResolution=NULL) const | ||
| Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it in the passed vector "x". | |||
| MatrixBase< Derived > & | operator^= (const unsigned int pow) | ||
| Combined matrix power and assignment operator. | |||
| EIGEN_STRONG_INLINE void | scalarPow (const Scalar s) | ||
| Scalar power of all elements to a given power, this is diferent of ^ operator. | |||
| EIGEN_STRONG_INLINE bool | isDiagonal () const | ||
| Checks for matrix type. | |||
| EIGEN_STRONG_INLINE Scalar | maximumDiagonal () const | ||
| Finds the maximum value in the diagonal of the matrix. | |||
| EIGEN_STRONG_INLINE double | mean () const | ||
| Computes the mean of the entire matrix. | |||
| void | meanAndStd (VEC &outMeanVector, VEC &outStdVector, const bool unbiased_variance=true) const | ||
| Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column. | |||
| void | meanAndStdAll (double &outMean, double &outStd, const bool unbiased_variance=true) const | ||
| Computes the mean and standard deviation of all the elements in the matrix as a whole. | |||
| EIGEN_STRONG_INLINE void | insertMatrix (size_t r, size_t c, const MAT &m) | ||
| Insert matrix "m" into this matrix at indices (r,c), that is, (*this)(r,c)=m(0,0) and so on. | |||
| EIGEN_STRONG_INLINE void | insertMatrixTranspose (size_t r, size_t c, const MAT &m) | ||
| EIGEN_STRONG_INLINE void | insertRow (size_t nRow, const MAT &aRow) | ||
| void | insertRow (size_t nRow, const std::vector< R > &aRow) | ||
| EIGEN_STRONG_INLINE void | insertCol (size_t nCol, const MAT &aCol) | ||
| void | insertCol (size_t nCol, const std::vector< R > &aCol) | ||
| EIGEN_STRONG_INLINE void | removeColumns (const std::vector< size_t > &idxsToRemove) | ||
| Remove columns of the matrix. | |||
| EIGEN_STRONG_INLINE void | unsafeRemoveColumns (const std::vector< size_t > &idxs) | ||
| Remove columns of the matrix. | |||
| EIGEN_STRONG_INLINE void | removeRows (const std::vector< size_t > &idxsToRemove) | ||
| Remove rows of the matrix. | |||
| EIGEN_STRONG_INLINE void | unsafeRemoveRows (const std::vector< size_t > &idxs) | ||
| Remove rows of the matrix. | |||
| EIGEN_STRONG_INLINE const AdjointReturnType | t () const | ||
| Transpose. | |||
| EIGEN_STRONG_INLINE PlainObject | inv () const | ||
| EIGEN_STRONG_INLINE void | inv (MATRIX &outMat) const | ||
| EIGEN_STRONG_INLINE void | inv_fast (MATRIX &outMat) const | ||
| EIGEN_STRONG_INLINE Scalar | det () const | ||
MRPT plugin: Multiply and extra addition functions | |||
| EIGEN_STRONG_INLINE bool | empty () const | ||
| EIGEN_STRONG_INLINE void | add_Ac (const OTHERMATRIX &m, const Scalar c) | ||
| EIGEN_STRONG_INLINE void | substract_Ac (const OTHERMATRIX &m, const Scalar c) | ||
| EIGEN_STRONG_INLINE void | substract_At (const OTHERMATRIX &m) | ||
| EIGEN_STRONG_INLINE void | substract_An (const OTHERMATRIX &m, const size_t n) | ||
| EIGEN_STRONG_INLINE void | add_AAt (const OTHERMATRIX &A) | ||
| EIGEN_STRONG_INLINE void | substract_AAt (const OTHERMATRIX &A) | ||
| EIGEN_STRONG_INLINE void | multiply (const MATRIX1 &A, const MATRIX2 &B) | ||
| EIGEN_STRONG_INLINE void | multiply_AB (const MATRIX1 &A, const MATRIX2 &B) | ||
| EIGEN_STRONG_INLINE void | multiply_AtB (const MATRIX1 &A, const MATRIX2 &B) | ||
| EIGEN_STRONG_INLINE void | multiply_Ab (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const | ||
| EIGEN_STRONG_INLINE void | multiply_Atb (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const | ||
| EIGEN_STRONG_INLINE void | multiply_HCHt (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const | ||
| EIGEN_STRONG_INLINE void | multiply_HtCH (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const | ||
| EIGEN_STRONG_INLINE Scalar | multiply_HCHt_scalar (const MAT_C &C) const | ||
| EIGEN_STRONG_INLINE Scalar | multiply_HtCH_scalar (const MAT_C &C) const | ||
| EIGEN_STRONG_INLINE void | multiply_AAt_scalar (const MAT_A &A, typename MAT_A::value_type f) | ||
| EIGEN_STRONG_INLINE void | multiply_AtA_scalar (const MAT_A &A, typename MAT_A::value_type f) | ||
| void | multiply_A_skew3 (const MAT_A &A, const SKEW_3VECTOR &v) | ||
| void | multiply_skew3_A (const SKEW_3VECTOR &v, const MAT_A &A) | ||
| EIGEN_STRONG_INLINE void | multiply_subMatrix (const MAT_A &A, MAT_OUT &outResult, const size_t A_cols_offset, const size_t A_rows_offset, const size_t A_col_count) const | ||
| outResult = this * A | |||
| void | multiply_ABC (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| void | multiply_ABCt (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| void | multiply_AtBC (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| EIGEN_STRONG_INLINE void | multiply_ABt (const MAT_A &A, const MAT_B &B) | ||
| EIGEN_STRONG_INLINE void | multiply_AAt (const MAT_A &A) | ||
| EIGEN_STRONG_INLINE void | multiply_AtA (const MAT_A &A) | ||
| EIGEN_STRONG_INLINE void | multiply_result_is_symmetric (const MAT_A &A, const MAT_B &B) | ||
| EIGEN_STRONG_INLINE void | leftDivideSquare (const MAT2 &A, MAT3 &RES) const | ||
| Matrix left divide: RES = A-1 * this , with A being squared (using the Eigen::ColPivHouseholderQR method) | |||
| EIGEN_STRONG_INLINE void | rightDivideSquare (const MAT2 &B, MAT3 &RES) const | ||
| Matrix right divide: RES = this * B-1, with B being squared (using the Eigen::ColPivHouseholderQR method) | |||
MRPT plugin: Eigenvalue / Eigenvectors | |||
| EIGEN_STRONG_INLINE void | eigenVectors (MATRIX1 &eVecs, MATRIX2 &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), both returned as matrices: eigenvectors are the columns in "eVecs", and eigenvalues in ascending order as the diagonal of "eVals". | |||
| EIGEN_STRONG_INLINE void | eigenVectorsVec (MATRIX1 &eVecs, VECTOR1 &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), eigenvectors are the columns in "eVecs", and eigenvalues are returned in in ascending order in the vector "eVals". | |||
| EIGEN_STRONG_INLINE void | eigenValues (VECTOR &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), and return only the eigenvalues in the vector "eVals". | |||
| EIGEN_STRONG_INLINE void | eigenVectorsSymmetric (MATRIX1 &eVecs, MATRIX2 &eVals) const | ||
| [For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues | |||
| EIGEN_STRONG_INLINE void | eigenVectorsSymmetricVec (MATRIX1 &eVecs, VECTOR1 &eVals) const | ||
| [For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues | |||
MRPT plugin: Linear algebra & decomposition-based methods | |||
| EIGEN_STRONG_INLINE bool | chol (MATRIX &U) const | ||
| Cholesky M=UT * U decomposition for simetric matrix (upper-half of the matrix will be actually ignored) | |||
| EIGEN_STRONG_INLINE size_t | rank (double threshold=0) const | ||
| Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method. | |||
MRPT plugin: Scalar and element-wise extra operators | |||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Sqrt () | ||
| EIGEN_STRONG_INLINE PlainObject | Sqrt () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Abs () | ||
| EIGEN_STRONG_INLINE PlainObject | Abs () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Log () | ||
| EIGEN_STRONG_INLINE PlainObject | Log () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Exp () | ||
| EIGEN_STRONG_INLINE PlainObject | Exp () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Square () | ||
| EIGEN_STRONG_INLINE PlainObject | Square () const | ||
| void | normalize (Scalar valMin, Scalar valMax) | ||
| Scales all elements such as the minimum & maximum values are shifted to the given values. | |||
| void | adjustRange (Scalar valMin, Scalar valMax) | ||
Static Public Member Functions | |||
| static const IdentityReturnType | Identity () | ||
| static const IdentityReturnType | Identity (Index rows, Index cols) | ||
| static const BasisReturnType | Unit (Index size, Index i) | ||
| static const BasisReturnType | Unit (Index i) | ||
| static const BasisReturnType | UnitX () | ||
| static const BasisReturnType | UnitY () | ||
| static const BasisReturnType | UnitZ () | ||
| static const BasisReturnType | UnitW () | ||
Protected Member Functions | |||
| Derived & | operator+= (const ArrayBase< OtherDerived > &) | ||
| Derived & | operator-= (const ArrayBase< OtherDerived > &) | ||
Protected Attributes | |||
| const LhsNested | m_lhs | ||
| const RhsNested | m_rhs | ||
| PlainObject | m_result | ||
Private Types | |||
| enum | { PacketSize = internal::packet_traits<Scalar>::size, InnerSize = internal::traits<CoeffBasedProduct>::InnerSize, Unroll = CoeffReadCost != Dynamic && CoeffReadCost <= EIGEN_UNROLLING_LIMIT, CanVectorizeInner = internal::traits<CoeffBasedProduct>::CanVectorizeInner } | ||
| typedef internal::traits < CoeffBasedProduct > ::_LhsNested | _LhsNested | ||
| typedef internal::traits < CoeffBasedProduct > ::_RhsNested | _RhsNested | ||
| typedef internal::product_coeff_impl < CanVectorizeInner?InnerVectorizedTraversal:DefaultTraversal, Unroll?InnerSize-1:Dynamic, _LhsNested, _RhsNested, Scalar > | ScalarCoeffImpl | ||
| typedef CoeffBasedProduct < LhsNested, RhsNested, NestByRefBit > | LazyCoeffBasedProductType | ||
Friends | |||
| const ScalarMultipleReturnType | operator* (const Scalar &scalar, const StorageBaseType &matrix) | ||
| const CwiseUnaryOp < internal::scalar_multiple2_op < Scalar, std::complex< Scalar > >, const Derived > | operator* (const std::complex< Scalar > &scalar, const StorageBaseType &matrix) | ||
MRPT plugin: Basic iterators. These iterators are intended for 1D matrices only, i.e. column or row vectors. | |||
| typedef Scalar * | iterator | ||
| typedef const Scalar * | const_iterator | ||
| EIGEN_STRONG_INLINE iterator | begin () | ||
| EIGEN_STRONG_INLINE const_iterator | begin () const | ||
| EIGEN_STRONG_INLINE iterator | end () | ||
| EIGEN_STRONG_INLINE const_iterator | end () const | ||
typedef internal::traits<CoeffBasedProduct>::_LhsNested Eigen::CoeffBasedProduct::_LhsNested [private] |
typedef internal::traits<CoeffBasedProduct>::_RhsNested Eigen::CoeffBasedProduct::_RhsNested [private] |
typedef const Scalar* Eigen::MatrixBase::const_iterator [inherited] |
typedef const Diagonal<const Derived> Eigen::MatrixBase::ConstDiagonalReturnType [inherited] |
typedef Block<const Derived, internal::traits<Derived>::ColsAtCompileTime==1 ? SizeMinusOne : 1, internal::traits<Derived>::ColsAtCompileTime==1 ? 1 : SizeMinusOne> Eigen::MatrixBase::ConstStartMinusOne [inherited] |
typedef Diagonal<Derived> Eigen::MatrixBase::DiagonalReturnType [inherited] |
typedef CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const ConstStartMinusOne > Eigen::MatrixBase::HNormalizedReturnType [inherited] |
typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> Eigen::MatrixBase::HomogeneousReturnType [inherited] |
typedef Scalar* Eigen::MatrixBase::iterator [inherited] |
typedef CoeffBasedProduct<LhsNested,RhsNested,NestByRefBit> Eigen::CoeffBasedProduct::LazyCoeffBasedProductType [private] |
The plain matrix type corresponding to this expression.
This is not necessarily exactly the return type of eval(). In the case of plain matrices, the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either PlainObject or const PlainObject&.
Reimplemented from Eigen::MatrixBase< CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > >.
typedef internal::product_coeff_impl<CanVectorizeInner ? InnerVectorizedTraversal : DefaultTraversal, Unroll ? InnerSize-1 : Dynamic, _LhsNested, _RhsNested, Scalar> Eigen::CoeffBasedProduct::ScalarCoeffImpl [private] |
typedef internal::stem_function<Scalar>::type Eigen::MatrixBase::StemFunction [inherited] |
typedef Scalar Eigen::MatrixBase::value_type [inherited] |
anonymous enum [private] |
| Eigen::CoeffBasedProduct::CoeffBasedProduct | ( | const CoeffBasedProduct & | other | ) | [inline] |
| Eigen::CoeffBasedProduct::CoeffBasedProduct | ( | const Lhs & | lhs, |
| const Rhs & | rhs | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Abs | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Abs | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_AAt | ( | const OTHERMATRIX & | A | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_Ac | ( | const OTHERMATRIX & | m, |
| const Scalar | c | ||
| ) | [inline, inherited] |
| const AdjointReturnType Eigen::MatrixBase::adjoint | ( | ) | const [inherited] |
Example:
Output:
m = m.adjoint(); // bug!!! caused by aliasing effect
m.adjointInPlace();
m = m.adjoint().eval();
| void Eigen::MatrixBase::adjointInPlace | ( | ) | [inherited] |
This is the "in place" version of adjoint(): it replaces *this by its own transpose.
Thus, doing
m.adjointInPlace();
has the same effect on m as doing
m = m.adjoint().eval();
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.| void Eigen::MatrixBase::adjustRange | ( | Scalar | valMin, |
| Scalar | valMax | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::applyHouseholderOnTheLeft | ( | const EssentialPart & | essential, |
| const Scalar & | tau, | ||
| Scalar * | workspace | ||
| ) | [inherited] |
| void Eigen::MatrixBase::applyHouseholderOnTheRight | ( | const EssentialPart & | essential, |
| const Scalar & | tau, | ||
| Scalar * | workspace | ||
| ) | [inherited] |
| void Eigen::MatrixBase::applyOnTheLeft | ( | const EigenBase< OtherDerived > & | other | ) | [inherited] |
replaces *this by *this * other.
| void Eigen::MatrixBase::applyOnTheLeft | ( | Index | p, |
| Index | q, | ||
| const JacobiRotation< OtherScalar > & | j | ||
| ) | [inherited] |
Applies the rotation in the plane j to the rows p and q of *this, i.e., it computes B = J * B, with
.
| void Eigen::MatrixBase::applyOnTheRight | ( | const EigenBase< OtherDerived > & | other | ) | [inherited] |
replaces *this by *this * other.
It is equivalent to MatrixBase::operator*=()
| void Eigen::MatrixBase::applyOnTheRight | ( | Index | p, |
| Index | q, | ||
| const JacobiRotation< OtherScalar > & | j | ||
| ) | [inherited] |
Applies the rotation in the plane j to the columns p and q of *this, i.e., it computes B = B * J with
.
| ArrayWrapper<Derived> Eigen::MatrixBase::array | ( | ) | [inline, inherited] |
| const ArrayWrapper<Derived> Eigen::MatrixBase::array | ( | ) | const [inline, inherited] |
| const DiagonalWrapper<const Derived> Eigen::MatrixBase::asDiagonal | ( | ) | const [inherited] |
Example:
Output:
| const PermutationWrapper<const Derived> Eigen::MatrixBase::asPermutation | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign | ( | const Scalar | v | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign | ( | size_t | N, |
| const Scalar | v | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::begin | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::begin | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> Eigen::MatrixBase::binaryExpr | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other, |
| const CustomBinaryOp & | func = CustomBinaryOp() |
||
| ) | const [inline, inherited] |
*this and other *this and other The template parameter CustomBinaryOp is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)
Here is an example illustrating the use of custom functors:
Output:
| RealScalar Eigen::MatrixBase::blueNorm | ( | ) | const [inherited] |
*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.
| internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type Eigen::MatrixBase::cast | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::chol | ( | MATRIX & | U | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE const Scalar Eigen::CoeffBasedProduct::coeff | ( | Index | row, |
| Index | col | ||
| ) | const [inline] |
| EIGEN_STRONG_INLINE const Scalar Eigen::CoeffBasedProduct::coeff | ( | Index | index | ) | const [inline] |
| const ColPivHouseholderQR<PlainObject> Eigen::MatrixBase::colPivHouseholderQr | ( | ) | const [inherited] |
*this.| EIGEN_STRONG_INLINE Index Eigen::CoeffBasedProduct::cols | ( | void | ) | const [inline] |
| void Eigen::MatrixBase::computeInverseAndDetWithCheck | ( | ResultType & | inverse, |
| typename ResultType::Scalar & | determinant, | ||
| bool & | invertible, | ||
| const RealScalar & | absDeterminantThreshold = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
Computation of matrix inverse and determinant, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| inverse | Reference to the matrix in which to store the inverse. |
| determinant | Reference to the variable 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:
| void Eigen::MatrixBase::computeInverseWithCheck | ( | ResultType & | inverse, |
| bool & | invertible, | ||
| const RealScalar & | absDeterminantThreshold = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
Computation of matrix inverse, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| 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:
| ConjugateReturnType Eigen::MatrixBase::conjugate | ( | ) | const [inline, inherited] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cos | ( | ) | const [inherited] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cosh | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::countNonZero | ( | ) | const [inline, inherited] |
| cross_product_return_type<OtherDerived>::type Eigen::MatrixBase::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const [inherited] |
*this and other Here is a very good explanation of cross-product: http://xkcd.com/199/
| PlainObject Eigen::MatrixBase::cross3 | ( | const MatrixBase< OtherDerived > & | other | ) | const [inherited] |
*this and other using only the x, y, and z coefficientsThe size of *this and other must be four. This function is especially useful when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
| EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs2 | ( | ) | const [inline, inherited] |
| const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline, inherited] |
Example:
Output:
| const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> Eigen::MatrixBase::cwiseEqual | ( | const Scalar & | s | ) | const [inline, inherited] |
*this and a scalar s | const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseInverse | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseMax | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseMin | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline, inherited] |
| const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseNotEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline, inherited] |
Example:
Output:
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseQuotient | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline, inherited] |
| const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseSqrt | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::det | ( | ) | const [inline, inherited] |
| Scalar Eigen::MatrixBase::determinant | ( | ) | const [inherited] |
| const Diagonal<const LazyCoeffBasedProductType,0> Eigen::CoeffBasedProduct::diagonal | ( | ) | const [inline] |
Reimplemented from Eigen::MatrixBase< CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > >.
| const Diagonal<const LazyCoeffBasedProductType,DiagonalIndex> Eigen::CoeffBasedProduct::diagonal | ( | ) | const [inline] |
Reimplemented from Eigen::MatrixBase< CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > >.
| const Diagonal<const LazyCoeffBasedProductType,Dynamic> Eigen::CoeffBasedProduct::diagonal | ( | Index | index | ) | const [inline] |
Reimplemented from Eigen::MatrixBase< CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > >.
| DiagonalReturnType Eigen::MatrixBase::diagonal | ( | ) | [inherited] |
*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:
| DiagonalIndexReturnType<Dynamic>::Type Eigen::MatrixBase::diagonal | ( | Index | index | ) | [inherited] |
*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:
| Index Eigen::MatrixBase::diagonalSize | ( | ) | const [inline, inherited] |
| internal::scalar_product_traits<typename internal::traits<Derived>::Scalar,typename internal::traits<OtherDerived>::Scalar>::ReturnType Eigen::MatrixBase::dot | ( | const MatrixBase< OtherDerived > & | other | ) | const [inherited] |
| EIGEN_STRONG_INLINE const Eigen::MatrixBase::EIGEN_CWISE_PRODUCT_RETURN_TYPE | ( | Derived | , |
| OtherDerived | |||
| ) | const [inline, inherited] |
| EigenvaluesReturnType Eigen::MatrixBase::eigenvalues | ( | ) | const [inherited] |
Computes the eigenvalues of a matrix.
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:
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenValues | ( | VECTOR & | eVals | ) | const [inline, inherited] |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), and return only the eigenvalues in the vector "eVals".
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectors | ( | MATRIX1 & | eVecs, |
| MATRIX2 & | eVals | ||
| ) | const [inherited] |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), both returned as matrices: eigenvectors are the columns in "eVecs", and eigenvalues in ascending order as the diagonal of "eVals".
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetric | ( | MATRIX1 & | eVecs, |
| MATRIX2 & | eVals | ||
| ) | const [inherited] |
[For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetricVec | ( | MATRIX1 & | eVecs, |
| VECTOR1 & | eVals | ||
| ) | const [inherited] |
[For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsVec | ( | MATRIX1 & | eVecs, |
| VECTOR1 & | eVals | ||
| ) | const [inherited] |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), eigenvectors are the columns in "eVecs", and eigenvalues are returned in in ascending order in the vector "eVals".
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::empty | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::end | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::end | ( | ) | const [inline, inherited] |
| Matrix<Scalar,3,1> Eigen::MatrixBase::eulerAngles | ( | Index | a0, |
| Index | a1, | ||
| Index | a2 | ||
| ) | const [inherited] |
*this using the convention defined by the triplet (a0,a1,a2)Each of the three parameters a0,a1,a2 represents the respective rotation axis as an integer in {0,1,2}. For instance, in:
Vector3f ea = mat.eulerAngles(2, 0, 2);
"2" represents the z axis and "0" the x axis, etc. The returned angles are such that we have the following equality:
mat == AngleAxisf(ea[0], Vector3f::UnitZ()) * AngleAxisf(ea[1], Vector3f::UnitX()) * AngleAxisf(ea[2], Vector3f::UnitZ());
This corresponds to the right-multiply conventions (with right hand side frames).
| const MatrixExponentialReturnValue<Derived> Eigen::MatrixBase::exp | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Exp | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Exp | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractCol | ( | size_t | nCol, |
| VECTOR & | v, | ||
| size_t | startingRow = 0 |
||
| ) | const [inline, inherited] |
| void Eigen::MatrixBase::extractCol | ( | size_t | nCol, |
| std::vector< T > & | v, | ||
| size_t | startingRow = 0 |
||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractMatrix | ( | const size_t | firstRow, |
| const size_t | firstCol, | ||
| MATRIX & | m | ||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractMatrix | ( | const size_t | firstRow, |
| const size_t | firstCol, | ||
| const size_t | nRows, | ||
| const size_t | nCols, | ||
| MATRIX & | m | ||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRow | ( | size_t | nRow, |
| Eigen::EigenBase< OtherDerived > & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline, inherited] |
| void Eigen::MatrixBase::extractRow | ( | size_t | nRow, |
| std::vector< T > & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRowAsCol | ( | size_t | nRow, |
| VECTOR & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractSubmatrix | ( | const size_t | row_first, |
| const size_t | row_last, | ||
| const size_t | col_first, | ||
| const size_t | col_last, | ||
| MATRIX & | out | ||
| ) | const [inline, inherited] |
| void Eigen::MatrixBase::extractSubmatrixSymmetrical | ( | const std::vector< size_t > & | indices, |
| MATRIX & | out | ||
| ) | const [inline, inherited] |
Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is the sequence of indices passed as argument.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
| void Eigen::MatrixBase::extractSubmatrixSymmetricalBlocks | ( | const size_t | block_size, |
| const std::vector< size_t > & | block_indices, | ||
| MATRIX & | out | ||
| ) | const [inline, inherited] |
Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is a sequence {block_indices(i):block_indices(i)+block_size-1} for all "i" up to the size of block_indices.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eye | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::fill | ( | const Scalar | v | ) | [inline, inherited] |
| void Eigen::MatrixBase::find_index_max_value | ( | size_t & | u, |
| size_t & | v, | ||
| Scalar & | valMax | ||
| ) | const [inline, inherited] |
[VECTORS OR MATRICES] Finds the maximum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| const ForceAlignedAccess<Derived> Eigen::MatrixBase::forceAlignedAccess | ( | ) | const [inline, inherited] |
| ForceAlignedAccess<Derived> Eigen::MatrixBase::forceAlignedAccess | ( | ) | [inline, inherited] |
| internal::add_const_on_value_type<typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type>::type Eigen::MatrixBase::forceAlignedAccessIf | ( | ) | const [inline, inherited] |
| internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type Eigen::MatrixBase::forceAlignedAccessIf | ( | ) | [inline, inherited] |
| bool Eigen::MatrixBase::fromMatlabStringFormat | ( | const std::string & | s, |
| bool | dumpErrorMsgToStdErr = true |
||
| ) | [inherited] |
Read a matrix from a string in Matlab-like format, for example "[1 0 2; 0 4 -1]" The string must start with '[' and end with ']'.
Rows are separated by semicolons ';' and columns in each row by one or more whitespaces ' ', commas ',' or tabs ''.
This format is also used for CConfigFile::read_matrix.
This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double
| const FullPivHouseholderQR<PlainObject> Eigen::MatrixBase::fullPivHouseholderQr | ( | ) | const [inherited] |
*this.| const FullPivLU<PlainObject> Eigen::MatrixBase::fullPivLu | ( | ) | const [inherited] |
*this.| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::get_unsafe | ( | const size_t | row, |
| const size_t | col | ||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar& Eigen::MatrixBase::get_unsafe | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar* Eigen::MatrixBase::get_unsafe_row | ( | size_t | row | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE const Scalar* Eigen::MatrixBase::get_unsafe_row | ( | size_t | row | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getColCount | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getRowCount | ( | ) | const [inline, inherited] |
| const HNormalizedReturnType Eigen::MatrixBase::hnormalized | ( | ) | const [inherited] |
*this Example:
Output:
| HomogeneousReturnType Eigen::MatrixBase::homogeneous | ( | ) | const [inherited] |
Example:
Output:
| const HouseholderQR<PlainObject> Eigen::MatrixBase::householderQr | ( | ) | const [inherited] |
*this.| RealScalar Eigen::MatrixBase::hypotNorm | ( | ) | const [inherited] |
*this avoiding undeflow and overflow. This version use a concatenation of hypot() calls, and it is very slow.| static const IdentityReturnType Eigen::MatrixBase::Identity | ( | ) | [static, inherited] |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variant taking size arguments.
Example:
Output:
| static const IdentityReturnType Eigen::MatrixBase::Identity | ( | Index | rows, |
| Index | cols | ||
| ) | [static, inherited] |
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:
| const ImagReturnType Eigen::MatrixBase::imag | ( | ) | const [inline, inherited] |
| NonConstImagReturnType Eigen::MatrixBase::imag | ( | ) | [inline, inherited] |
| std::string Eigen::MatrixBase::inMatlabFormat | ( | const size_t | decimal_digits = 6 | ) | const [inherited] |
Dump matrix in matlab format.
This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertCol | ( | size_t | nCol, |
| const MAT & | aCol | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::insertCol | ( | size_t | nCol, |
| const std::vector< R > & | aCol | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrix | ( | size_t | r, |
| size_t | c, | ||
| const MAT & | m | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrixTranspose | ( | size_t | r, |
| size_t | c, | ||
| const MAT & | m | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertRow | ( | size_t | nRow, |
| const MAT & | aRow | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::insertRow | ( | size_t | nRow, |
| const std::vector< R > & | aRow | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::inv | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv | ( | MATRIX & | outMat | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv_fast | ( | MATRIX & | outMat | ) | const [inline, inherited] |
| const internal::inverse_impl<Derived> Eigen::MatrixBase::inverse | ( | ) | const [inherited] |
For small fixed sizes up to 4x4, this method uses cofactors. In the general case, this method uses class PartialPivLU.
| bool Eigen::MatrixBase::isDiagonal | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
Example:
Output:
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isDiagonal | ( | ) | const [inline, inherited] |
| bool Eigen::MatrixBase::isIdentity | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
Example:
Output:
| bool Eigen::MatrixBase::isLowerTriangular | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
| bool Eigen::MatrixBase::isOrthogonal | ( | const MatrixBase< OtherDerived > & | other, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
Example:
Output:
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSingular | ( | const Scalar | absThreshold = 0 | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSquare | ( | ) | const [inline, inherited] |
| bool Eigen::MatrixBase::isUnitary | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
m.isUnitary() returns true if and only if the columns (equivalently, the rows) of m form an orthonormal basis.Example:
Output:
| bool Eigen::MatrixBase::isUpperTriangular | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
| JacobiSVD<PlainObject> Eigen::MatrixBase::jacobiSvd | ( | unsigned int | computationOptions = 0 | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::laplacian | ( | Eigen::MatrixBase< OtherDerived > & | ret | ) | const [inline, inherited] |
| void Eigen::MatrixBase::largestEigenvector | ( | OUTVECT & | x, |
| Scalar | resolution = Scalar(0.01), |
||
| size_t | maxIterations = 6, |
||
| int * | out_Iterations = NULL, |
||
| float * | out_estimatedResolution = NULL |
||
| ) | const [inline, inherited] |
| const LazyProductReturnType<Derived,OtherDerived>::Type Eigen::MatrixBase::lazyProduct | ( | const MatrixBase< OtherDerived > & | other | ) | const [inherited] |
*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.
| const LDLT<PlainObject> Eigen::MatrixBase::ldlt | ( | ) | const [inherited] |
*this | EIGEN_STRONG_INLINE void Eigen::MatrixBase::leftDivideSquare | ( | const MAT2 & | A, |
| MAT3 & | RES | ||
| ) | const [inline, inherited] |
Matrix left divide: RES = A-1 * this , with A being squared (using the Eigen::ColPivHouseholderQR method)
| const _LhsNested& Eigen::CoeffBasedProduct::lhs | ( | ) | const [inline] |
| const LLT<PlainObject> Eigen::MatrixBase::llt | ( | ) | const [inherited] |
*this | void Eigen::MatrixBase::loadFromTextFile | ( | const std::string & | file | ) | [inherited] |
Load matrix from a text file, compatible with MATLAB text format.
Lines starting with '%' or '#' are interpreted as comments and ignored.
| void Eigen::MatrixBase::loadFromTextFile | ( | std::istream & | _input_text_stream | ) | [inherited] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| const MatrixLogarithmReturnValue<Derived> Eigen::MatrixBase::log | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Log | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Log | ( | ) | const [inline, inherited] |
| RealScalar Eigen::MatrixBase::lpNorm | ( | ) | const [inherited] |
norm of *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
norm, that is the maximum of the absolute values of the coefficients of *this.| const PartialPivLU<PlainObject> Eigen::MatrixBase::lu | ( | ) | const [inherited] |
Synonym of partialPivLu().
*this.| void Eigen::MatrixBase::makeHouseholder | ( | EssentialPart & | essential, |
| Scalar & | tau, | ||
| RealScalar & | beta | ||
| ) | const [inherited] |
Computes the elementary reflector H such that:
where the transformation H is:
and the vector v is:
.
On output:
| essential | the essential part of the vector v |
| tau | the scaling factor of the householder transformation |
| beta | the result of H * *this |
| void Eigen::MatrixBase::makeHouseholderInPlace | ( | Scalar & | tau, |
| RealScalar & | beta | ||
| ) | [inherited] |
| MatrixBase<Derived>& Eigen::MatrixBase::matrix | ( | ) | [inline, inherited] |
| const MatrixBase<Derived>& Eigen::MatrixBase::matrix | ( | ) | const [inline, inherited] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::matrixFunction | ( | StemFunction | f | ) | const [inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximum | ( | ) | const [inline, inherited] |
[VECTORS OR MATRICES] Finds the maximum value
| std::exception | On an empty input container |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximum | ( | size_t * | maxIndex | ) | const [inline, inherited] |
[VECTORS ONLY] Finds the maximum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximumDiagonal | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE double Eigen::MatrixBase::mean | ( | ) | const [inline, inherited] |
| void Eigen::MatrixBase::meanAndStd | ( | VEC & | outMeanVector, |
| VEC & | outStdVector, | ||
| const bool | unbiased_variance = true |
||
| ) | const [inline, inherited] |
Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column.
| std::exception | If the matrix/vector is empty. |
| unbiased_variance | Standard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively. |
| void Eigen::MatrixBase::meanAndStdAll | ( | double & | outMean, |
| double & | outStd, | ||
| const bool | unbiased_variance = true |
||
| ) | const [inline, inherited] |
Computes the mean and standard deviation of all the elements in the matrix as a whole.
| std::exception | If the matrix/vector is empty. |
| unbiased_variance | Standard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively. |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::minimum | ( | ) | const [inline, inherited] |
[VECTORS OR MATRICES] Finds the minimum value
| std::exception | On an empty input container |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::minimum | ( | size_t * | minIndex | ) | const [inline, inherited] |
[VECTORS ONLY] Finds the minimum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::minimum_maximum | ( | Scalar & | out_min, |
| Scalar & | out_max | ||
| ) | const [inline, inherited] |
[VECTORS OR MATRICES] Compute the minimum and maximum of a container at once
| std::exception | On an empty input container |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::minimum_maximum | ( | Scalar & | out_min, |
| Scalar & | out_max, | ||
| size_t * | minIndex, | ||
| size_t * | maxIndex | ||
| ) | const [inline, inherited] |
[VECTORS ONLY] Compute the minimum and maximum of a container at once
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::multiply_A_skew3 | ( | const MAT_A & | A, |
| const SKEW_3VECTOR & | v | ||
| ) | [inline, inherited] |
this = A * skew(v), with v being a 3-vector (or 3-array) and skew(v) the skew symmetric matrix of v (see mrpt::math::skew_symmetric3)
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt | ( | const MAT_A & | A | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt_scalar | ( | const MAT_A & | A, |
| typename MAT_A::value_type | f | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AB | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Ab | ( | const OTHERVECTOR1 & | vIn, |
| OTHERVECTOR2 & | vOut, | ||
| bool | accumToOutput = false |
||
| ) | const [inline, inherited] |
| void Eigen::MatrixBase::multiply_ABC | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::multiply_ABCt | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_ABt | ( | const MAT_A & | A, |
| const MAT_B & | B | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA | ( | const MAT_A & | A | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA_scalar | ( | const MAT_A & | A, |
| typename MAT_A::value_type | f | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtB | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Atb | ( | const OTHERVECTOR1 & | vIn, |
| OTHERVECTOR2 & | vOut, | ||
| bool | accumToOutput = false |
||
| ) | const [inline, inherited] |
| void Eigen::MatrixBase::multiply_AtBC | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HCHt | ( | const MAT_C & | C, |
| MAT_R & | R, | ||
| bool | accumResultInOutput = false |
||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HCHt_scalar | ( | const MAT_C & | C | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HtCH | ( | const MAT_C & | C, |
| MAT_R & | R, | ||
| bool | accumResultInOutput = false |
||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HtCH_scalar | ( | const MAT_C & | C | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_result_is_symmetric | ( | const MAT_A & | A, |
| const MAT_B & | B | ||
| ) | [inline, inherited] |
| void Eigen::MatrixBase::multiply_skew3_A | ( | const SKEW_3VECTOR & | v, |
| const MAT_A & | A | ||
| ) | [inline, inherited] |
this = skew(v)*A, with v being a 3-vector (or 3-array) and skew(v) the skew symmetric matrix of v (see mrpt::math::skew_symmetric3)
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_subMatrix | ( | const MAT_A & | A, |
| MAT_OUT & | outResult, | ||
| const size_t | A_cols_offset, | ||
| const size_t | A_rows_offset, | ||
| const size_t | A_col_count | ||
| ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyColumnByScalar | ( | size_t | c, |
| Scalar | s | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyRowByScalar | ( | size_t | r, |
| Scalar | s | ||
| ) | [inline, inherited] |
| NoAlias<Derived,Eigen::MatrixBase > Eigen::MatrixBase::noalias | ( | ) | [inherited] |
*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 usefull when the source expression contains a matrix product.
Here are some examples where noalias is usefull:
D.noalias() = A * B; D.noalias() += A.transpose() * B; D.noalias() -= 2 * A * B.adjoint();
On the other hand the following example will lead to a wrong result:
A.noalias() = A * B;
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:
A = A * B;
| RealScalar Eigen::MatrixBase::norm | ( | ) | const [inherited] |
*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.| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::norm_inf | ( | ) | const [inline, inherited] |
| void Eigen::MatrixBase::normalize | ( | void | ) | [inherited] |
| void Eigen::MatrixBase::normalize | ( | Scalar | valMin, |
| Scalar | valMax | ||
| ) | [inline, inherited] |
| const PlainObject Eigen::MatrixBase::normalized | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE Eigen::CoeffBasedProduct::operator const PlainObject & | ( | ) | const [inline] |
| bool Eigen::MatrixBase::operator!= | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline, inherited] |
*this and other are not exactly equal to each other. | const ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const Scalar & | scalar | ) | const [inline, inherited] |
| const ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const RealScalar & | scalar | ) | const [inherited] |
| const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> Eigen::MatrixBase::operator* | ( | const std::complex< Scalar > & | scalar | ) | const [inline, inherited] |
| const ProductReturnType<Derived,OtherDerived>::Type Eigen::MatrixBase::operator* | ( | const MatrixBase< OtherDerived > & | other | ) | const [inherited] |
*this and other.| const DiagonalProduct<Derived, DiagonalDerived, OnTheRight> Eigen::MatrixBase::operator* | ( | const DiagonalBase< DiagonalDerived > & | diagonal | ) | const [inherited] |
*this by the diagonal matrix diagonal. | ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const UniformScaling< Scalar > & | s | ) | const [inherited] |
Concatenates a linear transformation matrix and a uniform scaling.
| Derived& Eigen::MatrixBase::operator*= | ( | const EigenBase< OtherDerived > & | other | ) | [inherited] |
replaces *this by *this * other.
*this | Derived& Eigen::MatrixBase::operator+= | ( | const MatrixBase< OtherDerived > & | other | ) | [inherited] |
replaces *this by *this + other.
*this | Derived& Eigen::MatrixBase::operator+= | ( | const ArrayBase< OtherDerived > & | ) | [inline, protected, inherited] |
| const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator- | ( | ) | const [inline, inherited] |
| Derived& Eigen::MatrixBase::operator-= | ( | const MatrixBase< OtherDerived > & | other | ) | [inherited] |
replaces *this by *this - other.
*this | Derived& Eigen::MatrixBase::operator-= | ( | const ArrayBase< OtherDerived > & | ) | [inline, protected, inherited] |
| const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator/ | ( | const Scalar & | scalar | ) | const [inline, inherited] |
| bool Eigen::MatrixBase::operator== | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline, inherited] |
*this and other are all exactly equal. | MatrixBase<Derived>& Eigen::MatrixBase::operator^= | ( | const unsigned int | pow | ) | [inline, inherited] |
| RealScalar Eigen::MatrixBase::operatorNorm | ( | ) | const [inherited] |
Computes the L2 operator norm.
This function computes the L2 operator norm of a matrix, which is also known as the spectral norm. The norm of a matrix
is defined to be
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
.
The current implementation uses the eigenvalues of
, 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:
| EIGEN_STRONG_INLINE const PacketScalar Eigen::CoeffBasedProduct::packet | ( | Index | row, |
| Index | col | ||
| ) | const [inline] |
| const PartialPivLU<PlainObject> Eigen::MatrixBase::partialPivLu | ( | ) | const [inherited] |
*this.| EIGEN_STRONG_INLINE void Eigen::MatrixBase::push_back | ( | Scalar | val | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::rank | ( | double | threshold = 0 | ) | const [inline, inherited] |
Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method.
| threshold | If set to >0, it's used as threshold instead of Eigen's default one. |
| RealReturnType Eigen::MatrixBase::real | ( | ) | const [inline, inherited] |
| NonConstRealReturnType Eigen::MatrixBase::real | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::removeColumns | ( | const std::vector< size_t > & | idxsToRemove | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::removeRows | ( | const std::vector< size_t > & | idxsToRemove | ) | [inline, inherited] |
| const _RhsNested& Eigen::CoeffBasedProduct::rhs | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::rightDivideSquare | ( | const MAT2 & | B, |
| MAT3 & | RES | ||
| ) | const [inline, inherited] |
Matrix right divide: RES = this * B-1, with B being squared (using the Eigen::ColPivHouseholderQR method)
| EIGEN_STRONG_INLINE Index Eigen::CoeffBasedProduct::rows | ( | void | ) | const [inline] |
| void Eigen::MatrixBase::saveToTextFile | ( | const std::string & | file, |
| mrpt::math::TMatrixTextFileFormat | fileFormat = mrpt::math::MATRIX_FORMAT_ENG, |
||
| bool | appendMRPTHeader = false, |
||
| const std::string & | userHeader = std::string() |
||
| ) | const [inherited] |
Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classes themselves).
| theMatrix | It can be a CMatrixTemplate or a CMatrixFixedNumeric. |
| file | The target filename. |
| fileFormat | See TMatrixTextFileFormat. The format of the numbers in the text file. |
| appendMRPTHeader | Insert this header to the file "% File generated by MRPT. Load with MATLAB with: VAR=load(FILENAME);" |
| userHeader | Additional text to be written at the head of the file. Typically MALAB comments "% This file blah blah". Final end-of-line is not needed. |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::scalarPow | ( | const Scalar | s | ) | [inline, inherited] |
| SelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase::selfadjointView | ( | ) | [inherited] |
| ConstSelfAdjointViewReturnType<UpLo>::Type Eigen::MatrixBase::selfadjointView | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::set_unsafe | ( | const size_t | row, |
| const size_t | col, | ||
| const Scalar | val | ||
| ) | [inline, inherited] |
| Derived& Eigen::MatrixBase::setIdentity | ( | ) | [inherited] |
Writes the identity expression (not necessarily square) into *this.
Example:
Output:
| Derived& Eigen::MatrixBase::setIdentity | ( | Index | rows, |
| Index | cols | ||
| ) | [inherited] |
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:
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::setSize | ( | size_t | row, |
| size_t | col | ||
| ) | [inline, inherited] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sin | ( | ) | const [inherited] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sinh | ( | ) | const [inherited] |
| const SparseView<Derived> Eigen::MatrixBase::sparseView | ( | const Scalar & | m_reference = Scalar(0), |
| typename NumTraits< Scalar >::Real | m_epsilon = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
| const MatrixSquareRootReturnValue<Derived> Eigen::MatrixBase::sqrt | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Sqrt | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Sqrt | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Square | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Square | ( | ) | const [inline, inherited] |
| RealScalar Eigen::MatrixBase::squaredNorm | ( | ) | const [inherited] |
*this, and for matrices the 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.| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::squareNorm | ( | ) | const [inline, inherited] |
| RealScalar Eigen::MatrixBase::stableNorm | ( | ) | const [inherited] |
*this avoiding underflow and overflow. This version use a blockwise two passes algorithm: 1 - find the absolute largest coefficient s 2 - compute
in a standard wayFor architecture/scalar types supporting vectorization, this version is faster than blueNorm(). Otherwise the blueNorm() is much faster.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_AAt | ( | const OTHERMATRIX & | A | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_Ac | ( | const OTHERMATRIX & | m, |
| const Scalar | c | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_An | ( | const OTHERMATRIX & | m, |
| const size_t | n | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_At | ( | const OTHERMATRIX & | m | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::sumAll | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapCols | ( | size_t | i1, |
| size_t | i2 | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapRows | ( | size_t | i1, |
| size_t | i2 | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE const AdjointReturnType Eigen::MatrixBase::t | ( | ) | const [inline, inherited] |
| Scalar Eigen::MatrixBase::trace | ( | ) | const [inherited] |
*this, i.e. the sum of the coefficients on the main diagonal.*this can be any matrix, not necessarily square.
| TriangularViewReturnType<Mode>::Type Eigen::MatrixBase::triangularView | ( | ) | [inherited] |
The parameter Mode can have the following values: #Upper, #StrictlyUpper, #UnitUpper, #Lower, #StrictlyLower, #UnitLower.
Example:
Output:
| ConstTriangularViewReturnType<Mode>::Type Eigen::MatrixBase::triangularView | ( | ) | const [inherited] |
This is the const version of MatrixBase::triangularView()
| const CwiseUnaryOp<CustomUnaryOp, const Derived> Eigen::MatrixBase::unaryExpr | ( | const CustomUnaryOp & | func = CustomUnaryOp() | ) | const [inline, inherited] |
Apply a unary operator coefficient-wise.
| [in] | func | Functor implementing the unary operator |
| CustomUnaryOp | Type of func |
The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
Example:
Output:
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
Output:
| const CwiseUnaryView<CustomViewOp, const Derived> Eigen::MatrixBase::unaryViewExpr | ( | const CustomViewOp & | func = CustomViewOp() | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit | ( | const size_t | nRows, |
| const Scalar | diag_vals | ||
| ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit | ( | ) | [inline, inherited] |
| static const BasisReturnType Eigen::MatrixBase::Unit | ( | Index | size, |
| Index | i | ||
| ) | [static, inherited] |
| static const BasisReturnType Eigen::MatrixBase::Unit | ( | Index | i | ) | [static, inherited] |
This variant is for fixed-size vector only.
| PlainObject Eigen::MatrixBase::unitOrthogonal | ( | void | ) | const [inherited] |
*this The size of *this must be at least 2. If the size is exactly 2, then the returned vector is a counter clock wise rotation of *this, i.e., (-y,x).normalized().
| static const BasisReturnType Eigen::MatrixBase::UnitW | ( | ) | [static, inherited] |
| static const BasisReturnType Eigen::MatrixBase::UnitX | ( | ) | [static, inherited] |
| static const BasisReturnType Eigen::MatrixBase::UnitY | ( | ) | [static, inherited] |
| static const BasisReturnType Eigen::MatrixBase::UnitZ | ( | ) | [static, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveColumns | ( | const std::vector< size_t > & | idxs | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveRows | ( | const std::vector< size_t > & | idxs | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros | ( | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline, inherited] |
| const ScalarMultipleReturnType operator* | ( | const Scalar & | scalar, |
| const StorageBaseType & | matrix | ||
| ) | [friend, inherited] |
| const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> operator* | ( | const std::complex< Scalar > & | scalar, |
| const StorageBaseType & | matrix | ||
| ) | [friend, inherited] |
const LhsNested Eigen::CoeffBasedProduct::m_lhs [protected] |
PlainObject Eigen::CoeffBasedProduct::m_result [mutable, protected] |
const RhsNested Eigen::CoeffBasedProduct::m_rhs [protected] |
| Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011 |