Go to the source code of this file.
Enumerations | |
MRPT plugin: Types | |
enum | { static_size = RowsAtCompileTime * ColsAtCompileTime } |
Functions | |
template<class OtherDerived > | |
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. More... | |
template<typename T > | |
void | extractRow (size_t nRow, std::vector< T > &v, size_t startingCol=0) const |
template<class VECTOR > | |
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. More... | |
template<class 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. More... | |
template<typename T > | |
void | extractCol (size_t nCol, std::vector< T > &v, size_t startingRow=0) const |
template<class MATRIX > | |
EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, MATRIX &m) const |
template<class MATRIX > | |
EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, const size_t nRows, const size_t nCols, MATRIX &m) const |
template<class MATRIX > | |
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). More... | |
template<class MATRIX > | |
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. More... | |
template<class MATRIX > | |
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. More... | |
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. More... | |
EIGEN_STRONG_INLINE size_t | getColCount () const |
Get number of columns. More... | |
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) More... | |
EIGEN_STRONG_INLINE void | unit () |
Make the matrix an identity matrix. More... | |
EIGEN_STRONG_INLINE void | eye () |
Make the matrix an identity matrix. More... | |
EIGEN_STRONG_INLINE void | zeros () |
Set all elements to zero. More... | |
EIGEN_STRONG_INLINE void | zeros (const size_t row, const size_t col) |
Resize and set all elements to zero. More... | |
EIGEN_STRONG_INLINE void | ones (const size_t row, const size_t col) |
Resize matrix and set all elements to one. More... | |
EIGEN_STRONG_INLINE void | ones () |
Set all elements to one. More... | |
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. More... | |
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!) More... | |
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!) More... | |
EIGEN_STRONG_INLINE void | push_back (Scalar val) |
Insert an element at the end of the container (for 1D vectors/arrays) More... | |
EIGEN_STRONG_INLINE bool | isSquare () const |
EIGEN_STRONG_INLINE bool | isSingular (const Scalar absThreshold=0) const |
bool | fromMatlabStringFormat (const std::string &s, std::ostream *dump_errors_here=nullptr) |
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 ']'. More... | |
std::string | inMatlabFormat (const size_t decimal_digits=6) const |
Dump matrix in matlab format. More... | |
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). More... | |
void | loadFromTextFile (const std::string &file) |
Load matrix from a text file, compatible with MATLAB text format. More... | |
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 More... | |
EIGEN_STRONG_INLINE Scalar | minimum () const |
[VECTORS OR MATRICES] Finds the minimum value More... | |
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 More... | |
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. More... | |
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. More... | |
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. More... | |
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 More... | |
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. More... | |
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). More... | |
EIGEN_STRONG_INLINE Scalar | sumAll () const |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | laplacian (Eigen::MatrixBase< OtherDerived > &ret) const |
Computes the laplacian of this square graph weight matrix. More... | |
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. More... | |
template<class OUTVECT > | |
void | largestEigenvector (OUTVECT &x, Scalar resolution=Scalar(0.01), size_t maxIterations=6, int *out_Iterations=nullptr, float *out_estimatedResolution=nullptr) const |
Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it in the passed vector "x". More... | |
MatrixBase< Derived > & | operator^= (const unsigned int pow) |
Combined matrix power and assignment operator. More... | |
EIGEN_STRONG_INLINE void | scalarPow (const Scalar s) |
Scalar power of all elements to a given power, this is diferent of ^ operator. More... | |
EIGEN_STRONG_INLINE bool | isDiagonal () const |
Checks for matrix type. More... | |
EIGEN_STRONG_INLINE Scalar | maximumDiagonal () const |
Finds the maximum value in the diagonal of the matrix. More... | |
EIGEN_STRONG_INLINE double | mean () const |
Computes the mean of the entire matrix. More... | |
template<class VEC > | |
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. More... | |
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. More... | |
template<typename MAT > | |
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. More... | |
template<typename MAT > | |
EIGEN_STRONG_INLINE void | insertMatrixTranspose (size_t r, size_t c, const MAT &m) |
template<typename MAT > | |
EIGEN_STRONG_INLINE void | insertRow (size_t nRow, const MAT &aRow) |
template<typename MAT > | |
EIGEN_STRONG_INLINE void | insertCol (size_t nCol, const MAT &aCol) |
template<typename R > | |
void | insertRow (size_t nRow, const std::vector< R > &aRow) |
template<typename R > | |
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. More... | |
EIGEN_STRONG_INLINE void | unsafeRemoveColumns (const std::vector< size_t > &idxs) |
Remove columns of the matrix. More... | |
EIGEN_STRONG_INLINE void | removeRows (const std::vector< size_t > &idxsToRemove) |
Remove rows of the matrix. More... | |
EIGEN_STRONG_INLINE void | unsafeRemoveRows (const std::vector< size_t > &idxs) |
Remove rows of the matrix. More... | |
EIGEN_STRONG_INLINE const AdjointReturnType | t () const |
Transpose. More... | |
EIGEN_STRONG_INLINE PlainObject | inv () const |
template<class MATRIX > | |
EIGEN_STRONG_INLINE void | inv (MATRIX &outMat) const |
template<class MATRIX > | |
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 |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | add_Ac (const OTHERMATRIX &m, const Scalar c) |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | substract_Ac (const OTHERMATRIX &m, const Scalar c) |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | substract_At (const OTHERMATRIX &m) |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | substract_An (const OTHERMATRIX &m, const size_t n) |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | add_AAt (const OTHERMATRIX &A) |
template<typename OTHERMATRIX > | |
EIGEN_STRONG_INLINE void | substract_AAt (const OTHERMATRIX &A) |
template<class MATRIX1 , class MATRIX2 > | |
EIGEN_STRONG_INLINE void | multiply (const MATRIX1 &A, const MATRIX2 &B) |
template<class MATRIX1 , class MATRIX2 > | |
EIGEN_STRONG_INLINE void | multiply_AB (const MATRIX1 &A, const MATRIX2 &B) |
template<typename MATRIX1 , typename MATRIX2 > | |
EIGEN_STRONG_INLINE void | multiply_AtB (const MATRIX1 &A, const MATRIX2 &B) |
template<typename OTHERVECTOR1 , typename OTHERVECTOR2 > | |
EIGEN_STRONG_INLINE void | multiply_Ab (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const |
template<typename OTHERVECTOR1 , typename OTHERVECTOR2 > | |
EIGEN_STRONG_INLINE void | multiply_Atb (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const |
template<typename MAT_C , typename MAT_R > | |
EIGEN_STRONG_INLINE void | multiply_HCHt (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const |
template<typename MAT_C , typename MAT_R > | |
EIGEN_STRONG_INLINE void | multiply_HtCH (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const |
template<typename MAT_C > | |
EIGEN_STRONG_INLINE Scalar | multiply_HCHt_scalar (const MAT_C &C) const |
template<typename MAT_C > | |
EIGEN_STRONG_INLINE Scalar | multiply_HtCH_scalar (const MAT_C &C) const |
template<typename MAT_A > | |
EIGEN_STRONG_INLINE void | multiply_AAt_scalar (const MAT_A &A, typename MAT_A::Scalar f) |
template<typename MAT_A > | |
EIGEN_STRONG_INLINE void | multiply_AtA_scalar (const MAT_A &A, typename MAT_A::Scalar f) |
template<class MAT_A , class SKEW_3VECTOR > | |
void | multiply_A_skew3 (const MAT_A &A, const SKEW_3VECTOR &v) |
template<class SKEW_3VECTOR , class MAT_A > | |
void | multiply_skew3_A (const SKEW_3VECTOR &v, const MAT_A &A) |
template<class MAT_A , class MAT_OUT > | |
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 More... | |
template<class MAT_A , class MAT_B , class MAT_C > | |
void | multiply_ABC (const MAT_A &A, const MAT_B &B, const MAT_C &C) |
template<class MAT_A , class MAT_B , class MAT_C > | |
void | multiply_ABCt (const MAT_A &A, const MAT_B &B, const MAT_C &C) |
template<class MAT_A , class MAT_B , class MAT_C > | |
void | multiply_AtBC (const MAT_A &A, const MAT_B &B, const MAT_C &C) |
template<class MAT_A , class MAT_B > | |
EIGEN_STRONG_INLINE void | multiply_ABt (const MAT_A &A, const MAT_B &B) |
template<class MAT_A > | |
EIGEN_STRONG_INLINE void | multiply_AAt (const MAT_A &A) |
template<class MAT_A > | |
EIGEN_STRONG_INLINE void | multiply_AtA (const MAT_A &A) |
template<class MAT_A , class MAT_B > | |
EIGEN_STRONG_INLINE void | multiply_result_is_symmetric (const MAT_A &A, const MAT_B &B) |
MRPT plugin: Eigenvalue / Eigenvectors | |
template<class MATRIX1 , class MATRIX2 > | |
EIGEN_STRONG_INLINE bool | 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". More... | |
template<class MATRIX1 , class VECTOR1 > | |
EIGEN_STRONG_INLINE bool | 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". More... | |
template<class VECTOR > | |
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". More... | |
template<class MATRIX1 , class MATRIX2 > | |
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 More... | |
template<class MATRIX1 , class VECTOR1 > | |
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 More... | |
MRPT plugin: Linear algebra & decomposition-based methods | |
template<class MATRIX > | |
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) More... | |
EIGEN_STRONG_INLINE size_t | rank (double threshold=0) const |
Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method. More... | |
MRPT plugin: Scalar and element-wise extra operators | |
void | normalize (Scalar valMin, Scalar valMax) |
Scales all elements such as the minimum & maximum values are shifted to the given values. More... | |
void | adjustRange (Scalar valMin, Scalar valMax) |
MRPT plugin: Basic iterators. These iterators are intended for 1D | |
column or row vectors. | |
typedef Scalar * | iterator |
typedef const Scalar * | const_iterator |
EIGEN_STRONG_INLINE iterator | begin () |
EIGEN_STRONG_INLINE iterator | end () |
typedef const Scalar* const_iterator |
Definition at line 27 of file eigen_plugins.h.
Definition at line 26 of file eigen_plugins.h.
anonymous enum |
Enumerator | |
---|---|
static_size |
Definition at line 17 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void add_AAt | ( | const OTHERMATRIX & | A | ) |
this += A + AT
Definition at line 639 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void add_Ac | ( | const OTHERMATRIX & | m, |
const Scalar | c | ||
) |
Add c (scalar) times A to this matrix: this += A * c
Definition at line 612 of file eigen_plugins.h.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 944 of file eigen_plugins.h.
References normalize().
Fill all the elements with a given value
Definition at line 48 of file eigen_plugins.h.
Resize to N and set all the elements to a given value
Definition at line 50 of file eigen_plugins.h.
EIGEN_STRONG_INLINE const_iterator begin | ( | ) |
Definition at line 29 of file eigen_plugins.h.
Referenced by mrpt::opengl::CPolyhedron::cantellate(), mrpt::vision::TSequenceFeatureObservations::compressIDs(), mrpt::hmtslam::CRobotPosesGraph::convertIntoSimplemap(), mrpt::vision::CFeatureList::copyListFrom(), mrpt::hmtslam::TArcList::debugDump(), mrpt::vision::TSequenceFeatureObservations::decimateCameraFrames(), mrpt::vision::CFeatureExtraction::detectFeatures(), mrpt::utils::list_searchable< CHMHMapNode::TNodeID >::find(), mrpt::utils::list_searchable< CHMHMapNode::TNodeID >::find_ptr_to(), mrpt::math::MatrixBlockSparseCols< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::findCurrentNumberOfRows(), mrpt::vision::findMultipleChessboardsCorners(), mrpt::vision::CMatchedFeatureList::get_type(), mrpt::math::MatrixBlockSparseCols< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::getAsDense(), mrpt::utils::TParameters< double >::getAsString(), mrpt::math::MatrixBlockSparseCols< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::getBinaryBlocksRepresentation(), mrpt::vision::CMatchedFeatureList::getBothFeatureLists(), mrpt::vision::CFeatureList::getByID(), mrpt::vision::CMatchedFeatureList::getByID(), mrpt::math::TPolygon2D::getCenter(), mrpt::math::TPolygon3D::getCenter(), mrpt::maps::CLandmarksMap::TCustomSequenceLandmarks::getLargestDistanceFromOrigin(), mrpt::vision::CFeatureList::getMaxID(), mrpt::opengl::CGeneralizedCylinder::getMeshIterators(), mrpt::poses::CPosePDFSOG::getMostLikelyCovarianceAndMean(), mrpt::opengl::COpenGLScene::insert(), mrpt::hmtslam::CRobotPosesGraph::insertIntoMetricMap(), mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA(), mrpt::graphslam::optimize_graph_spa_levmarq(), mrpt::vision::TSequenceFeatureObservations::removeFewObservedFeatures(), mrpt::opengl::CGeneralizedCylinder::render_dl(), mrpt::vision::TSequenceFeatureObservations::saveToTextFile(), mrpt::vision::CFeatureList::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), searchForEdge(), mrpt::vision::CMatchedFeatureList::updateMaxID(), mrpt::hmtslam::TArcList::write(), mrpt::hmtslam::CRobotPosesGraph::writeToStream(), mrpt::maps::CBeaconMap::writeToStream(), and mrpt::hmtslam::THypothesisIDSet::writeToStream().
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)
Definition at line 906 of file eigen_plugins.h.
EIGEN_STRONG_INLINE size_t countNonZero | ( | ) | const |
Definition at line 228 of file eigen_plugins.h.
EIGEN_STRONG_INLINE Scalar det | ( | ) | const |
Definition at line 599 of file eigen_plugins.h.
Referenced by mrpt::pbmap::ConsistencyTest::estimatePose(), mrpt::pbmap::ConsistencyTest::estimatePoseWithCovariance(), getAlignment(), mrpt::obs::CActionCollection::getBestMovementEstimation(), mrpt::utils::CProbabilityDensityFunction< CPose2D, 3 >::getCovarianceEntropy(), and mrpt::pbmap::ConsistencyTest::initPose().
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".
Definition at line 872 of file eigen_plugins.h.
References eigenVectorsVec().
Referenced by mrpt::graphs::CGraphPartitioner< GRAPH_MATRIX, num_t >::SpectralBisection().
EIGEN_STRONG_INLINE bool 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".
Referenced by mrpt::graphs::CGraphPartitioner< GRAPH_MATRIX, num_t >::SpectralBisection().
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
EIGEN_STRONG_INLINE bool 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".
Referenced by eigenValues().
EIGEN_STRONG_INLINE bool empty | ( | ) | const |
Definition at line 605 of file eigen_plugins.h.
References getColCount(), and getRowCount().
Referenced by mrpt::vision::CMatchedFeatureList::get_type(), mrpt::math::TPolygon2D::getBoundingBox(), mrpt::vision::CFeatureList::getMaxID(), mrpt::vision::CMatchedFeatureList::getMaxID(), mrpt::poses::CPose3DPDFSOG::getMostLikelyMode(), mrpt::poses::CPointPDFSOG::getMostLikelyMode(), mrpt::nav::CHolonomicFullEval::TOptions::loadFromConfigFile(), mrpt::hwdrivers::TCaptureOptions_DUO3D::m_camera_ext_params_from_yml(), mrpt::hwdrivers::TCaptureOptions_DUO3D::m_camera_int_params_from_yml(), mrpt::vision::CFeatureList::nearest(), mrpt::slam::CMetricMapBuilderICP::processObservation(), and mrpt::opengl::CAssimpModel::writeToStream().
Definition at line 30 of file eigen_plugins.h.
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.
Definition at line 978 of file eigen_plugins.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 985 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void extractMatrix | ( | const size_t | firstRow, |
const size_t | firstCol, | ||
MATRIX & | m | ||
) | const |
Definition at line 994 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void extractMatrix | ( | const size_t | firstRow, |
const size_t | firstCol, | ||
const size_t | nRows, | ||
const size_t | nCols, | ||
MATRIX & | m | ||
) | const |
Definition at line 1000 of file eigen_plugins.h.
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.
Definition at line 953 of file eigen_plugins.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 961 of file eigen_plugins.h.
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.
Definition at line 970 of file eigen_plugins.h.
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).
Definition at line 1011 of file eigen_plugins.h.
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.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
Definition at line 1073 of file eigen_plugins.h.
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.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
Definition at line 1030 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void eye | ( | ) |
Make the matrix an identity matrix.
Definition at line 76 of file eigen_plugins.h.
Fill all the elements with a given value
Definition at line 46 of file eigen_plugins.h.
Referenced by mrpt::opengl::gl_utils::glDrawText(), mrpt::maps::CRandomFieldGridMap2D::internal_clear(), and mrpt::maps::CRandomFieldGridMap3D::internal_initialize().
[VECTORS OR MATRICES] Finds the maximum value (and the corresponding zero-based index) from a given container.
std::exception | On an empty input vector |
Definition at line 277 of file eigen_plugins.h.
bool fromMatlabStringFormat | ( | const std::string & | s, |
std::ostream * | dump_errors_here = nullptr |
||
) |
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
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!)
Reference access to one element (Use with caution, bounds are not checked!)
Definition at line 108 of file eigen_plugins.h.
EIGEN_STRONG_INLINE const 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.
Definition at line 97 of file eigen_plugins.h.
EIGEN_STRONG_INLINE size_t getColCount | ( | ) | const |
Get number of columns.
Definition at line 59 of file eigen_plugins.h.
Referenced by mrpt::math::CMatrixTemplateObjects< T >::allocAllObjects(), mrpt::math::CMatrixTemplateObjects< T >::CMatrixTemplateObjects(), empty(), mrpt::math::CMatrixTemplateObjects< T >::freeAllObjects(), mrpt::math::CSparseMatrix::multiply_Ab(), and mrpt::math::CMatrixTemplateObjects< T >::operator=().
EIGEN_STRONG_INLINE size_t getRowCount | ( | ) | const |
Get number of rows.
Definition at line 57 of file eigen_plugins.h.
Referenced by mrpt::math::CMatrixTemplateObjects< T >::allocAllObjects(), mrpt::math::CMatrixTemplateObjects< T >::CMatrixTemplateObjects(), empty(), mrpt::math::CMatrixTemplateObjects< T >::freeAllObjects(), mrpt::math::CSparseMatrix::multiply_Ab(), and mrpt::math::CMatrixTemplateObjects< T >::operator=().
std::string inMatlabFormat | ( | const size_t | decimal_digits = 6 | ) | const |
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 insertCol | ( | size_t | nCol, |
const MAT & | aCol | ||
) |
Definition at line 502 of file eigen_plugins.h.
Definition at line 516 of file eigen_plugins.h.
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.
Definition at line 485 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void insertMatrixTranspose | ( | size_t | r, |
size_t | c, | ||
const MAT & | m | ||
) |
Definition at line 491 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void insertRow | ( | size_t | nRow, |
const MAT & | aRow | ||
) |
Definition at line 497 of file eigen_plugins.h.
Definition at line 508 of file eigen_plugins.h.
EIGEN_STRONG_INLINE PlainObject inv | ( | ) | const |
Definition at line 584 of file eigen_plugins.h.
Referenced by mrpt::poses::CPointPDFGaussian::bayesianFusion(), and mrpt::math::leastSquareLinearFit().
EIGEN_STRONG_INLINE void inv | ( | MATRIX & | outMat | ) | const |
Definition at line 590 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void inv_fast | ( | MATRIX & | outMat | ) | const |
Definition at line 595 of file eigen_plugins.h.
EIGEN_STRONG_INLINE bool isDiagonal | ( | ) | const |
Checks for matrix type.
Definition at line 415 of file eigen_plugins.h.
EIGEN_STRONG_INLINE bool isSingular | ( | const Scalar | absThreshold = 0 | ) | const |
Definition at line 146 of file eigen_plugins.h.
EIGEN_STRONG_INLINE bool isSquare | ( | ) | const |
Definition at line 145 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void laplacian | ( | Eigen::MatrixBase< OtherDerived > & | ret | ) | const |
Computes the laplacian of this square graph weight matrix.
The laplacian matrix is L = D - W, with D a diagonal matrix with the degree of each node, W the
Definition at line 328 of file eigen_plugins.h.
void largestEigenvector | ( | OUTVECT & | x, |
Scalar | resolution = Scalar(0.01) , |
||
size_t | maxIterations = 6 , |
||
int * | out_Iterations = nullptr , |
||
float * | out_estimatedResolution = nullptr |
||
) | const |
Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it in the passed vector "x".
Definition at line 375 of file eigen_plugins.h.
void loadFromTextFile | ( | const std::string & | file | ) |
Load matrix from a text file, compatible with MATLAB text format.
Lines starting with '' or '#' are interpreted as comments and ignored.
Referenced by mrpt::obs::CObservation3DRangeScan::load().
void loadFromTextFile | ( | std::istream & | _input_text_stream | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
EIGEN_STRONG_INLINE Scalar maximum | ( | ) | const |
[VECTORS OR MATRICES] Finds the maximum value
std::exception | On an empty input container |
Definition at line 236 of file eigen_plugins.h.
Referenced by minimum_maximum().
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.
std::exception | On an empty input vector |
Definition at line 264 of file eigen_plugins.h.
EIGEN_STRONG_INLINE Scalar maximumDiagonal | ( | ) | const |
Finds the maximum value in the diagonal of the matrix.
Definition at line 424 of file eigen_plugins.h.
EIGEN_STRONG_INLINE double mean | ( | ) | const |
Computes the mean of the entire matrix.
Definition at line 431 of file eigen_plugins.h.
Referenced by mrpt::opengl::detail::aux_add3DpointWithEigenVectors(), mrpt::poses::CPosePDFSOG::bayesianFusion(), mrpt::vision::pnp::rpnp::calcampose(), mrpt::poses::CPosePDFSOG::changeCoordinatesReference(), mrpt::poses::CPosePDFSOG::copyFrom(), mrpt::random::CRandomGenerator::drawGaussian1D(), mrpt::random::CRandomGenerator::drawGaussian1DMatrix(), mrpt::random::CRandomGenerator::drawGaussian1DVector(), mrpt::random::CRandomGenerator::drawGaussianMultivariate(), mrpt::random::CRandomGenerator::drawGaussianMultivariateMany(), mrpt::poses::CPosePDFSOG::evaluateNormalizedPDF(), mrpt::poses::CPosePDFSOG::evaluatePDF(), mrpt::opengl::detail::generalizedEllipsoidPoints< 2 >(), mrpt::opengl::detail::generalizedEllipsoidPoints< 3 >(), mrpt::poses::CPose3DPDFParticles::getCovarianceAndMean(), mrpt::poses::CPointPDFParticles::getCovarianceAndMean(), mrpt::poses::CPose3DPDFSOG::getCovarianceAndMean(), mrpt::poses::CPosePDFParticles::getCovarianceAndMean(), mrpt::poses::CPosePDFSOG::getCovarianceAndMean(), mrpt::vision::getDispersion(), mrpt::poses::CPosePDFSOG::getMean(), mrpt::graphslam::TSlidingWindow::getStdDev(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_recursive_split(), mrpt::poses::CPosePDFSOG::inverse(), mrpt::math::MATLAB_plotCovariance2D(), mrpt::random::matrixRandomNormal(), mrpt::poses::CPosePDFSOG::mergeModes(), mrpt::poses::CPosePDFSOG::operator+=(), mrpt::opengl::CSetOfObjects::posePDF2opengl(), mrpt::random::RandomNormal(), mrpt::maps::CGasConcentrationGridMap2D::readFromStream(), mrpt::maps::CWirelessPowerGridMap2D::readFromStream(), mrpt::poses::CPosePDFSOG::readFromStream(), mrpt::slam::CRangeBearingKFSLAM2D::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::slam::CRangeBearingKFSLAM::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::graphs::CGraphPartitioner< GRAPH_MATRIX, num_t >::SpectralBisection(), TEST_F(), mrpt::random::vectorRandomNormal(), and mrpt::poses::CPosePDFSOG::writeToStream().
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.
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. |
Definition at line 445 of file eigen_plugins.h.
References mrpt::math::square(), and mrpt::math::sum().
Referenced by mrpt::detectors::CFaceDetection::experimental_showMeasurements().
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.
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. |
Definition at line 471 of file eigen_plugins.h.
References mrpt::math::square(), and mrpt::math::sum().
EIGEN_STRONG_INLINE Scalar minimum | ( | ) | const |
[VECTORS OR MATRICES] Finds the minimum value
std::exception | On an empty input container |
Definition at line 245 of file eigen_plugins.h.
Referenced by minimum_maximum().
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.
std::exception | On an empty input vector |
Definition at line 291 of file eigen_plugins.h.
[VECTORS OR MATRICES] Compute the minimum and maximum of a container at once
std::exception | On an empty input container |
Definition at line 254 of file eigen_plugins.h.
References maximum(), and minimum().
Referenced by normalize().
EIGEN_STRONG_INLINE void multiply | ( | const MATRIX1 & | A, |
const MATRIX2 & | B | ||
) |
B | this = A * B |
Definition at line 654 of file eigen_plugins.h.
void multiply_A_skew3 | ( | const MAT_A & | A, |
const SKEW_3VECTOR & | v | ||
) |
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)
Definition at line 759 of file eigen_plugins.h.
References mrpt::math::multiply_A_skew3().
EIGEN_STRONG_INLINE void multiply_AAt | ( | const MAT_A & | A | ) |
A | this = A * AT |
Definition at line 815 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_AAt_scalar | ( | const MAT_A & | A, |
typename MAT_A::Scalar | f | ||
) |
this = C * CT * f (with a matrix C and a scalar f).
Definition at line 742 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_AB | ( | const MATRIX1 & | A, |
const MATRIX2 & | B | ||
) |
B | this = A * B |
Definition at line 661 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_Ab | ( | const OTHERVECTOR1 & | vIn, |
OTHERVECTOR2 & | vOut, | ||
bool | accumToOutput = false |
||
) | const |
Computes the vector vOut = this * vIn, where "vIn" is a column vector of the appropriate length.
Definition at line 677 of file eigen_plugins.h.
void multiply_ABC | ( | const MAT_A & | A, |
const MAT_B & | B, | ||
const MAT_C & | C | ||
) |
C | this = A*B*C |
Definition at line 785 of file eigen_plugins.h.
void multiply_ABCt | ( | const MAT_A & | A, |
const MAT_B & | B, | ||
const MAT_C & | C | ||
) |
C | this = A*B*(CT) |
Definition at line 792 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_ABt | ( | const MAT_A & | A, |
const MAT_B & | B | ||
) |
B | this = A * BT |
Definition at line 808 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_AtA | ( | const MAT_A & | A | ) |
A | this = AT * A |
Definition at line 822 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_AtA_scalar | ( | const MAT_A & | A, |
typename MAT_A::Scalar | f | ||
) |
this = CT * C * f (with a matrix C and a scalar f).
Definition at line 750 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_AtB | ( | const MATRIX1 & | A, |
const MATRIX2 & | B | ||
) |
B | this=A^t * B |
Definition at line 668 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_Atb | ( | const OTHERVECTOR1 & | vIn, |
OTHERVECTOR2 & | vOut, | ||
bool | accumToOutput = false |
||
) | const |
Computes the vector vOut = thisT * vIn, where "vIn" is a column vector of the appropriate length.
Definition at line 690 of file eigen_plugins.h.
void multiply_AtBC | ( | const MAT_A & | A, |
const MAT_B & | B, | ||
const MAT_C & | C | ||
) |
C | this = A(T)*B*C |
Definition at line 800 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_HCHt | ( | const MAT_C & | C, |
MAT_R & | R, | ||
bool | accumResultInOutput = false |
||
) | const |
EIGEN_STRONG_INLINE Scalar multiply_HCHt_scalar | ( | const MAT_C & | C | ) | const |
R = H * C * HT (with a vector H and a symmetric matrix C) In fact when H is a vector, multiply_HCHt_scalar and multiply_HtCH_scalar are exactly equivalent
Definition at line 726 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_HtCH | ( | const MAT_C & | C, |
MAT_R & | R, | ||
bool | accumResultInOutput = false |
||
) | const |
EIGEN_STRONG_INLINE Scalar multiply_HtCH_scalar | ( | const MAT_C & | C | ) | const |
R = HT * C * H (with a vector H and a symmetric matrix C) In fact when H is a vector, multiply_HCHt_scalar and multiply_HtCH_scalar are exactly equivalent
Definition at line 735 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void multiply_result_is_symmetric | ( | const MAT_A & | A, |
const MAT_B & | B | ||
) |
B | this = A * B (result is symmetric) |
Definition at line 829 of file eigen_plugins.h.
void multiply_skew3_A | ( | const SKEW_3VECTOR & | v, |
const MAT_A & | A | ||
) |
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)
Definition at line 767 of file eigen_plugins.h.
References mrpt::math::multiply_skew3_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
Definition at line 775 of file eigen_plugins.h.
Definition at line 210 of file eigen_plugins.h.
Definition at line 214 of file eigen_plugins.h.
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.
Definition at line 312 of file eigen_plugins.h.
Referenced by mrpt::vision::bundle_adj_full().
Scales all elements such as the minimum & maximum values are shifted to the given values.
Definition at line 933 of file eigen_plugins.h.
References minimum_maximum().
Referenced by adjustRange(), and mrpt::topography::ENUToGeocentric().
EIGEN_STRONG_INLINE void ones | ( | const size_t | row, |
const size_t | col | ||
) |
Resize matrix and set all elements to one.
Definition at line 86 of file eigen_plugins.h.
Referenced by mrpt::vision::CFeatureExtraction::extractFeaturesFAST(), mrpt::vision::CFeatureExtraction::extractFeaturesLSD(), and mrpt::vision::CFeatureExtraction::internal_computeBLDLineDescriptors().
EIGEN_STRONG_INLINE void ones | ( | ) |
Set all elements to one.
Definition at line 91 of file eigen_plugins.h.
MatrixBase<Derived>& operator^= | ( | const unsigned int | pow | ) |
Combined matrix power and assignment operator.
Definition at line 402 of file eigen_plugins.h.
Insert an element at the end of the container (for 1D vectors/arrays)
Definition at line 138 of file eigen_plugins.h.
References val.
Referenced by mrpt::math::CPolygon::AddVertex(), mrpt::vision::findMultipleChessboardsCorners(), mrpt::utils::list_searchable< CHMHMapNode::TNodeID >::insert(), mrpt::vision::TSequenceFeatureObservations::loadFromTextFile(), mrpt::vision::CFeatureList::loadFromTextFile(), and mrpt::hmtslam::TArcList::read().
EIGEN_STRONG_INLINE size_t rank | ( | double | threshold = 0 | ) | const |
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. |
Definition at line 919 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void removeColumns | ( | const std::vector< size_t > & | idxsToRemove | ) |
Remove columns of the matrix.
Definition at line 525 of file eigen_plugins.h.
References unsafeRemoveColumns().
EIGEN_STRONG_INLINE void removeRows | ( | const std::vector< size_t > & | idxsToRemove | ) |
Remove rows of the matrix.
Definition at line 552 of file eigen_plugins.h.
References unsafeRemoveRows().
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).
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. |
Scalar power of all elements to a given power, this is diferent of ^ operator.
Definition at line 413 of file eigen_plugins.h.
Sets an element (Use with caution, bounds are not checked!)
Definition at line 127 of file eigen_plugins.h.
References val.
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.
WARNING: MRPT's add-on method setSize() pads with zeros, while Eigen's resize() does NOT (new elements are undefined).
Definition at line 347 of file eigen_plugins.h.
Referenced by mrpt::poses::CPointPDFParticles::clear(), mrpt::poses::CPointPDFParticles::CPointPDFParticles(), mrpt::maps::COccupancyGridMap2D::loadFromBitmap(), mrpt::maps::CSimplePointsMap::PLY_import_set_vertex_count(), mrpt::maps::CWeightedPointsMap::PLY_import_set_vertex_count(), mrpt::math::CMatrixB::readFromStream(), mrpt::math::CMatrix::readFromStream(), mrpt::math::CMatrixD::readFromStream(), mrpt::poses::CPointPDFParticles::readFromStream(), mrpt::maps::COccupancyGridMap2D::readFromStream(), mrpt::maps::CRandomFieldGridMap3D::setSize(), and mrpt::maps::CRandomFieldGridMap2D::setSize().
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).
Definition at line 319 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void substract_AAt | ( | const OTHERMATRIX & | A | ) |
this -= A + AT
Definition at line 647 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void substract_Ac | ( | const OTHERMATRIX & | m, |
const Scalar | c | ||
) |
Substract c (scalar) times A to this matrix: this -= A * c
Definition at line 618 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void substract_An | ( | const OTHERMATRIX & | m, |
const size_t | n | ||
) |
Substract n (integer) times A to this matrix: this -= A * n
Definition at line 632 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void substract_At | ( | const OTHERMATRIX & | m | ) |
Substract A transposed to this matrix: this -= A.adjoint()
Definition at line 625 of file eigen_plugins.h.
EIGEN_STRONG_INLINE Scalar sumAll | ( | ) | const |
Sum all the elements, returning a value of the same type than the container
Definition at line 322 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void swapCols | ( | size_t | i1, |
size_t | i2 | ||
) |
Definition at line 219 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void swapRows | ( | size_t | i1, |
size_t | i2 | ||
) |
Definition at line 223 of file eigen_plugins.h.
EIGEN_STRONG_INLINE const AdjointReturnType t | ( | ) | const |
Transpose.
Definition at line 579 of file eigen_plugins.h.
Make the matrix an identity matrix (the diagonal values can be 1.0 or any other value)
Definition at line 62 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void unit | ( | ) |
Make the matrix an identity matrix.
Definition at line 74 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void unsafeRemoveColumns | ( | const std::vector< size_t > & | idxs | ) |
Remove columns of the matrix.
The unsafe version assumes that, the indices are sorted in ascending order.
Definition at line 537 of file eigen_plugins.h.
Referenced by removeColumns().
EIGEN_STRONG_INLINE void unsafeRemoveRows | ( | const std::vector< size_t > & | idxs | ) |
Remove rows of the matrix.
The unsafe version assumes that, the indices are sorted in ascending order.
Definition at line 564 of file eigen_plugins.h.
Referenced by removeRows().
EIGEN_STRONG_INLINE void zeros | ( | ) |
Set all elements to zero.
Definition at line 78 of file eigen_plugins.h.
EIGEN_STRONG_INLINE void zeros | ( | const size_t | row, |
const size_t | col | ||
) |
Resize and set all elements to zero.
Definition at line 80 of file eigen_plugins.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |