The matrix class, also used for vectors and row-vectors. More...
#include <Matrix.h>
Public Types | |
enum | { Options = _Options } |
enum | { NeedsToAlign } |
typedef class Eigen::Map < Matrix, Aligned > | AlignedMapType |
typedef class Eigen::Map < Matrix, Unaligned > | UnalignedMapType |
Public Member Functions | |
const Base & | base () const |
Base & | base () |
EIGEN_STRONG_INLINE const Scalar & | coeff (int index) const |
EIGEN_STRONG_INLINE const Scalar & | coeff (int row, int col) const |
EIGEN_STRONG_INLINE Scalar & | coeffRef (int index) |
EIGEN_STRONG_INLINE Scalar & | coeffRef (int row, int col) |
EIGEN_STRONG_INLINE int | cols () const |
EIGEN_STRONG_INLINE Scalar * | data () |
EIGEN_STRONG_INLINE const Scalar * | data () const |
template<typename OtherDerived > | |
Matrix (const RotationBase< OtherDerived, ColsAtCompileTime > &r) | |
EIGEN_STRONG_INLINE | Matrix (const Matrix &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Matrix (const MatrixBase< OtherDerived > &other) |
Matrix (const Scalar *data) | |
EIGEN_STRONG_INLINE | Matrix (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w) |
EIGEN_STRONG_INLINE | Matrix (const Scalar &x, const Scalar &y, const Scalar &z) |
EIGEN_STRONG_INLINE | Matrix (const double &x, const double &y) |
EIGEN_STRONG_INLINE | Matrix (const float &x, const float &y) |
EIGEN_STRONG_INLINE | Matrix (int x, int y) |
EIGEN_STRONG_INLINE | Matrix (int dim) |
Matrix (ei_constructor_without_unaligned_array_assert) | |
EIGEN_STRONG_INLINE | Matrix () |
template<typename OtherDerived > | |
Matrix & | operator= (const RotationBase< OtherDerived, ColsAtCompileTime > &r) |
EIGEN_STRONG_INLINE Matrix & | operator= (const Matrix &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Matrix & | operator= (const MatrixBase< OtherDerived > &other) |
template<int LoadMode> | |
EIGEN_STRONG_INLINE PacketScalar | packet (int index) const |
template<int LoadMode> | |
EIGEN_STRONG_INLINE PacketScalar | packet (int row, int col) const |
void | resize (int size) |
void | resize (int rows, int cols) |
EIGEN_STRONG_INLINE int | rows () const |
Matrix & | setConstant (int rows, int cols, const Scalar &value) |
Matrix & | setConstant (int size, const Scalar &value) |
Matrix & | setIdentity (int rows, int cols) |
Matrix & | setOnes (int rows, int cols) |
Matrix & | setOnes (int size) |
Matrix & | setRandom (int rows, int cols) |
Matrix & | setRandom (int size) |
Matrix & | setZero (int rows, int cols) |
Matrix & | setZero (int size) |
EIGEN_STRONG_INLINE int | stride (void) const |
template<typename OtherDerived > | |
void | swap (const MatrixBase< OtherDerived > &other) |
template<int StoreMode> | |
EIGEN_STRONG_INLINE void | writePacket (int index, const PacketScalar &x) |
template<int StoreMode> | |
EIGEN_STRONG_INLINE void | writePacket (int row, int col, const PacketScalar &x) |
~Matrix () | |
Static Public Member Functions | |
Map | |
static UnalignedMapType | Map (Scalar *data, int rows, int cols) |
static const UnalignedMapType | Map (const Scalar *data, int rows, int cols) |
static UnalignedMapType | Map (Scalar *data, int size) |
static const UnalignedMapType | Map (const Scalar *data, int size) |
static UnalignedMapType | Map (Scalar *data) |
static const UnalignedMapType | Map (const Scalar *data) |
static AlignedMapType | MapAligned (Scalar *data, int rows, int cols) |
static const AlignedMapType | MapAligned (const Scalar *data, int rows, int cols) |
static AlignedMapType | MapAligned (Scalar *data, int size) |
static const AlignedMapType | MapAligned (const Scalar *data, int size) |
static AlignedMapType | MapAligned (Scalar *data) |
static const AlignedMapType | MapAligned (const Scalar *data) |
Protected Attributes | |
ei_matrix_storage< Scalar, MaxSizeAtCompileTime, RowsAtCompileTime, ColsAtCompileTime, Options > | m_storage |
Private Member Functions | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _resize_to_match (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Matrix & | _set (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Matrix & | _set_noalias (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const ei_meta_false &) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const ei_meta_true &) |
Static Private Member Functions | |
static EIGEN_STRONG_INLINE void | _check_template_params () |
Friends | |
struct | ei_matrix_swap_impl |
class | Eigen::Map< Matrix, Aligned > |
class | Eigen::Map< Matrix, Unaligned > |
The matrix class, also used for vectors and row-vectors.
The Matrix class is the work-horse for all dense (note) matrices and vectors within Eigen. Vectors are matrices with one column, and row-vectors are matrices with one row.
The Matrix class encompasses both fixed-size and dynamic-size objects (note).
The first three template parameters are required:
_Scalar | Numeric type, i.e. float, double, int | |
_Rows | Number of rows, or Dynamic | |
_Cols | Number of columns, or Dynamic |
The remaining template parameters are optional -- in most cases you don't have to worry about them.
_Options | A combination of either RowMajor or ColMajor, and of either AutoAlign or DontAlign. The former controls storage order, and defaults to column-major. The latter controls alignment, which is required for vectorization. It defaults to aligning matrices except for fixed sizes that aren't a multiple of the packet size. | |
_MaxRows | Maximum number of rows. Defaults to _Rows (note). | |
_MaxCols | Maximum number of columns. Defaults to _Cols (note). |
Eigen provides a number of typedefs covering the usual cases. Here are some examples:
Matrix2d
is a 2x2 square matrix of doubles (Matrix<double, 2, 2>
) Vector4f
is a vector of 4 floats (Matrix<float, 4, 1>
) RowVector3i
is a row-vector of 3 ints (Matrix<int, 1, 3>
)MatrixXf
is a dynamic-size matrix of floats (Matrix<float, Dynamic, Dynamic>
) VectorXf
is a dynamic-size vector of floats (Matrix<float, Dynamic, 1>
)See this page for a complete list of predefined Matrix and Vector typedefs.
You can access elements of vectors and matrices using normal subscripting:
Eigen::VectorXd v(10); v[0] = 0.1; v[1] = 0.2; v(0) = 0.3; v(1) = 0.4; Eigen::MatrixXi m(10, 10); m(0, 1) = 1; m(0, 2) = 2; m(0, 3) = 3;
Some notes:
This Matrix class handles dense, not sparse matrices and vectors. For sparse matrices and vectors, see the Sparse module.
Dense matrices and vectors are plain usual arrays of coefficients. All the coefficients are stored, in an ordinary contiguous array. This is unlike Sparse matrices and vectors where the coefficients are stored as a list of nonzero coefficients.
Fixed-size means that the numbers of rows and columns are known are compile-time. In this case, Eigen allocates the array of coefficients as a fixed-size array, as a class member. This makes sense for very small matrices, typically up to 4x4, sometimes up to 16x16. Larger matrices should be declared as dynamic-size even if one happens to know their size at compile-time.
Dynamic-size means that the numbers of rows or columns are not necessarily known at compile-time. In this case they are runtime variables, and the array of coefficients is allocated dynamically on the heap.
Note that dense matrices, be they Fixed-size or Dynamic-size, do not expand dynamically in the sense of a std::map. If you want this behavior, see the Sparse module.
Definition at line 127 of file Matrix.h.
typedef class Eigen::Map< Matrix, Aligned > Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::AlignedMapType |
typedef class Eigen::Map< Matrix, Unaligned > Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::UnalignedMapType |
anonymous enum |
anonymous enum |
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix | ( | ) | [inline, explicit] |
Default constructor.
For fixed-size matrices, does nothing.
For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix is called a null matrix. This constructor is the unique way to create null matrices: resizing a matrix to 0 is not supported.
Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix | ( | ei_constructor_without_unaligned_array_assert | ) | [inline] |
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix | ( | int | x, | |
int | y | |||
) | [inline] |
This constructor has two very different behaviors, depending on the type of *this.
Matrix< _Scalar, _Rows, _Cols, _StorageOrder, _MaxRows, _MaxCols >::Matrix | ( | const Scalar * | data | ) | [inline, explicit] |
Constructor copying an existing array of data. Only for fixed-size matrices and vectors.
data | The array of data to copy |
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix | ( | const MatrixBase< OtherDerived > & | other | ) | [inline] |
Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols >::Matrix | ( | const RotationBase< OtherDerived, ColsAtCompileTime > & | r | ) | [inline, explicit] |
Constructs a Dim x Dim rotation matrix from the rotation r
Definition at line 78 of file RotationBase.h.
static EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_check_template_params | ( | ) | [inline, static, private] |
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_resize_to_match | ( | const MatrixBase< OtherDerived > & | other | ) | [inline, private] |
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set | ( | const MatrixBase< OtherDerived > & | other | ) | [inline, private] |
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_noalias | ( | const MatrixBase< OtherDerived > & | other | ) | [inline, private] |
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_selector | ( | const OtherDerived & | other, | |
const ei_meta_false & | ||||
) | [inline, private] |
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_selector | ( | const OtherDerived & | other, | |
const ei_meta_true & | ||||
) | [inline, private] |
const Base& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::base | ( | ) | const [inline] |
Base& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::base | ( | ) | [inline] |
EIGEN_STRONG_INLINE const Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeff | ( | int | index | ) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE const Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeff | ( | int | row, | |
int | col | |||
) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef | ( | int | index | ) | [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef | ( | int | row, | |
int | col | |||
) | [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::cols | ( | ) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | Scalar * | data, | |
int | rows, | |||
int | cols | |||
) | [inline, static] |
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | const Scalar * | data, | |
int | rows, | |||
int | cols | |||
) | [inline, static] |
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | Scalar * | data, | |
int | size | |||
) | [inline, static] |
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | const Scalar * | data, | |
int | size | |||
) | [inline, static] |
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | Scalar * | data | ) | [inline, static] |
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map | ( | const Scalar * | data | ) | [inline, static] |
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | Scalar * | data, | |
int | rows, | |||
int | cols | |||
) | [inline, static] |
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | const Scalar * | data, | |
int | rows, | |||
int | cols | |||
) | [inline, static] |
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | Scalar * | data, | |
int | size | |||
) | [inline, static] |
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | const Scalar * | data, | |
int | size | |||
) | [inline, static] |
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | Scalar * | data | ) | [inline, static] |
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned | ( | const Scalar * | data | ) | [inline, static] |
Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols >::operator= | ( | const RotationBase< OtherDerived, ColsAtCompileTime > & | r | ) | [inline] |
Set a Dim x Dim rotation matrix from the rotation r
Definition at line 92 of file RotationBase.h.
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= | ( | const MatrixBase< OtherDerived > & | other | ) | [inline] |
Copies the value of the expression other into *this
with automatic resizing.
*this might be resized to match the dimensions of other. If *this was a null matrix (not already initialized), it will be initialized.
Note that copying a row-vector into a vector (and conversely) is allowed. The resizing, if any, is then done in the appropriate way so that row-vectors remain row-vectors and vectors remain vectors.
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE PacketScalar Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::packet | ( | int | index | ) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE PacketScalar Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::packet | ( | int | row, | |
int | col | |||
) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::resize | ( | int | size | ) | [inline] |
Resizes *this
to a vector of length size
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::resize | ( | int | rows, | |
int | cols | |||
) | [inline] |
Resizes *this
to a rows x cols matrix.
Makes sense for dynamic-size matrices only.
If the current number of coefficients of *this
exactly matches the product rows * cols, then no memory allocation is performed and the current values are left unchanged. In all other cases, including shrinking, the data is reallocated and all previous values are lost.
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::rows | ( | ) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setConstant | ( | int | rows, | |
int | cols, | |||
const Scalar & | value | |||
) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to the given value.
rows | the new number of rows | |
cols | the new number of columns |
Example:
Output:
Definition at line 302 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setConstant | ( | int | size, | |
const Scalar & | value | |||
) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to the given value.
Example:
Output:
Definition at line 284 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setIdentity | ( | int | rows, | |
int | cols | |||
) | [inline] |
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:
Definition at line 689 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setOnes | ( | int | rows, | |
int | cols | |||
) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to one.
rows | the new number of rows | |
cols | the new number of columns |
Example:
Output:
Definition at line 562 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setOnes | ( | int | size | ) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to one.
Example:
Output:
Definition at line 544 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setRandom | ( | int | rows, | |
int | cols | |||
) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to random values.
rows | the new number of rows | |
cols | the new number of columns |
Example:
Output:
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setRandom | ( | int | size | ) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to random values.
Example:
Output:
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setZero | ( | int | rows, | |
int | cols | |||
) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to zero.
rows | the new number of rows | |
cols | the new number of columns |
Example:
Output:
Definition at line 434 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setZero | ( | int | size | ) | [inline] |
Resizes to the given size, and sets all coefficients in this expression to zero.
Example:
Output:
Definition at line 416 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::stride | ( | void | ) | const [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::swap | ( | const MatrixBase< OtherDerived > & | other | ) | [inline] |
Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers.
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::writePacket | ( | int | index, | |
const PacketScalar & | x | |||
) | [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::writePacket | ( | int | row, | |
int | col, | |||
const PacketScalar & | x | |||
) | [inline] |
Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.
friend struct ei_matrix_swap_impl [friend] |
friend class Eigen::Map< Matrix, Aligned > [friend] |
friend class Eigen::Map< Matrix, Unaligned > [friend] |
ei_matrix_storage<Scalar, MaxSizeAtCompileTime, RowsAtCompileTime, ColsAtCompileTime, Options> Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::m_storage [protected] |