MATLAB | Eigen | Notes |
---|---|---|
|
|
MATLAB version allows Y to be a multidimensional matrix, but the Eigen version is only for 1D or 2D matrices. |
|
|
MATLAB version would allow w and h to be non-positive since the colon operator evaluates to a list of indices, but the Eigen version needs non-negative width and height values. |
|
|
Find the maximum coefficient over all entries of the matrix. |
|
|
Find the minimum coefficient over all entries of the matrix. |
|
|
|
|
|
|
|
|
Matlab supports finding subscripts (I and J) as well as indices (just I), but so far igl::find only supports subscripts. Also, igl::find requires X to be sparse. |
|
|
|
|
|
Currently the igl version only supports sparse matrix input (and dim must be 1 or 2) |
|
|
Extract the main diagonal of a matrix. Currently igl version supports sparse only. |
|
|
Construct new square matrix M with entries of vector D along the diagonal. Currently igl version supports sparse only. |
|
|
Matlab has a bizarre convention of passing [] as the second argument to mean take the max/min along dimension dim. |
|
|
Matlab allows you to obtain the indices of extrema see mat_max |
|
|
|
|
|
|
|
|
|
|
|
Do not attempt to combine .transpose() in expression like
this:
|
|
|
Do not attempt to use A in constructor of A_LLT like
this:
Do not attempt to use A_LLT.succeeded() to determine if Cholesky factorization succeeded, like this:
|
|
|
Expects that L and U are lower and upper triangular matrices respectively |
|
|
So far igl::repmat is only implemented for dense matrices. |
|
|
IGL version should be templated enough to handle same situations as matlab's colon. The matlab keyword end does not correspond in the C++ version. You'll have to use M.size(),M.rows() or whatever. |
|
|
|
|
|
|
|
|
This is only for the case when I and J are lists of indices and not vectors of logicals. |
|
|
This is only for the case when I and J are lists of indices and not vectors of logicals. |
|
|
|
|
|
If FUN is templated, the templates must be fully resolved. |
|
|
The .eval() is not necessary if A != B |
|
|
Where IM is an "index map" column vector and A is an arbitrary
matrix. The .eval() is not necessary if A != B |
|
|
IJV and A should not be empty! (this might be fixed) |
|
|
Coefficient-wise minimum of matrix and scalar (or matching size matrix) |
|
|
Where I and P are vectors. Requires C++11 and #include <algorithm> |
|
|
Casts Matrix::Scalar |