Logo Search packages:      
Sourcecode: blender version File versions  Download package

Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > Class Template Reference

#include <Matrix.h>

Inheritance diagram for Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >:

MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >

List of all members.


Detailed Description

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
class Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >

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:

Parameters:
_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.
Parameters:
_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:

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:

Dense versus sparse:
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 versus dynamic-size:
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.

_MaxRows and _MaxCols:
In most cases, one just leaves these parameters to the default values. These parameters mean the maximum size of rows and columns that the matrix may have. They are useful in cases when the exact numbers of rows and columns are not known are compile-time, but it is known at compile-time that they cannot exceed a certain value. This happens when taking dynamic-size blocks inside fixed-size matrices: in this case _MaxRows and _MaxCols are the dimensions of the original matrix, while _Rows and _Cols are Dynamic.

See also:
MatrixBase for the majority of the API methods for matrices

Definition at line 122 of file Matrix.h.


Public Types

enum  { Options = _Options }
enum  { NeedsToAlign }
enum  
typedef Eigen::Transpose
< NestByValue< typename
ei_cleantype
< ConjugateReturnType >::type > > 
AdjointReturnType
typedef class Eigen::Map
< Matrix, Aligned > 
AlignedMapType
typedef Block< CwiseNullaryOp
< ei_scalar_identity_op
< Scalar >, SquareMatrixType >
, ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
>::RowsAtCompileTime,
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
>::ColsAtCompileTime > 
BasisReturnType
typedef Block< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
>::RowsAtCompileTime, 1 > 
ColXpr
typedef ei_meta_if< NumTraits
< Scalar >::IsComplex, const
CwiseUnaryOp
< ei_scalar_conjugate_op
< Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >, const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
& >::ret 
ConjugateReturnType
typedef CwiseNullaryOp
< ei_scalar_constant_op
< Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
ConstantReturnType
typedef Matrix< typename
NumTraits< typename ei_traits
< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > >::Scalar >::Real,
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
>::ColsAtCompileTime, 1 > 
EigenvaluesReturnType
typedef CwiseNullaryOp
< ei_scalar_identity_op
< Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
IdentityReturnType
typedef CwiseUnaryOp
< ei_scalar_imag_op< Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
ImagReturnType
typedef ei_packet_traits
< Scalar >::type 
PacketScalar
typedef ei_plain_matrix_type
< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > >::type 
PlainMatrixType
typedef ei_plain_matrix_type
< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > >::type 
PlainMatrixType_ColMajor
typedef CwiseUnaryOp
< ei_scalar_real_op< Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
RealReturnType
typedef NumTraits< Scalar >::Real RealScalar
typedef Block< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, 1, ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::ColsAtCompileTime > 
RowXpr
typedef ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Scalar 
Scalar
typedef CwiseUnaryOp
< ei_scalar_multiple_op
< Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
ScalarMultipleReturnType
typedef CwiseUnaryOp
< ei_scalar_quotient1_op
< Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
ScalarQuotient1ReturnType
typedef Matrix< Scalar,
EIGEN_ENUM_MAX(RowsAtCompileTime,
ColsAtCompileTime),
EIGEN_ENUM_MAX(RowsAtCompileTime,
ColsAtCompileTime)> 
SquareMatrixType
typedef class Eigen::Map
< Matrix, Unaligned > 
UnalignedMapType

Public Member Functions

const AdjointReturnType adjoint () const
bool all (void) const
bool any (void) const
const DiagonalMatrix< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
asDiagonal () const
const Base & base () const
Base & base ()
const CwiseBinaryOp
< CustomBinaryOp, Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, OtherDerived > 
binaryExpr (const MatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, BlockRows, BlockCols >::Type 
block (int startRow, int startCol) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, BlockRows, BlockCols >::Type 
block (int startRow, int startCol)
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Type 
block (int startRow, int startCol, int blockRows, int blockCols) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Type 
block (int startRow, int startCol, int blockRows, int blockCols)
const CwiseUnaryOp
< ei_scalar_cast_op< typename
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar,
NewType >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
cast () const
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)
const ColXpr col (int i) const
ColXpr col (int i)
EIGEN_STRONG_INLINE int cols () const
const PartialRedux< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Vertical > 
colwise () const
void computeInverse (PlainMatrixType *result) const
ConjugateReturnType conjugate () const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
const_cast_derived () const
void copyCoeff (int index, const MatrixBase< OtherDerived > &other)
void copyCoeff (int row, int col, const MatrixBase< OtherDerived > &other)
void copyPacket (int index, const MatrixBase< OtherDerived > &other)
void copyPacket (int row, int col, const MatrixBase< OtherDerived > &other)
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, CRows, CCols >::Type 
corner (CornerType type) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, CRows, CCols >::Type 
corner (CornerType type)
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Type 
corner (CornerType type, int cRows, int cCols) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Type 
corner (CornerType type, int cRows, int cCols)
int count () const
PlainMatrixType cross (const MatrixBase< OtherDerived > &other) const
Cwise< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
cwise ()
const Cwise< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
cwise () const
EIGEN_STRONG_INLINE Scalar * data ()
EIGEN_STRONG_INLINE const Scalar * data () const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
derived ()
const Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > & 
derived () const
Scalar determinant () const
const DiagonalCoeffs< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
diagonal () const
DiagonalCoeffs< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
diagonal ()
Scalar dot (const MatrixBase< OtherDerived > &other) const
EigenvaluesReturnType eigenvalues () const
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
end () const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
end ()
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Dynamic >::SubVectorType 
end (int size) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Dynamic >::SubVectorType 
end (int size)
Matrix< Scalar, 3, 1 > eulerAngles (int a0, int a1, int a2) const
EIGEN_STRONG_INLINE const
ei_eval< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::type 
eval () const
void fill (const Scalar &value)
const WithFormat< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
format (const IOFormat &fmt) const
const ImagReturnType imag () const
int innerSize () const
const PlainMatrixType inverse () const
bool isApprox (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const
bool isApproxToConstant (const Scalar &value, RealScalar prec=precision< Scalar >()) const
bool isConstant (const Scalar &value, RealScalar prec=precision< Scalar >()) const
bool isDiagonal (RealScalar prec=precision< Scalar >()) const
bool isIdentity (RealScalar prec=precision< Scalar >()) const
bool isLowerTriangular (RealScalar prec=precision< Scalar >()) const
bool isMuchSmallerThan (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const
bool isMuchSmallerThan (const RealScalar &other, RealScalar prec=precision< Scalar >()) const
bool isOnes (RealScalar prec=precision< Scalar >()) const
bool isOrthogonal (const MatrixBase< OtherDerived > &other, RealScalar prec=precision< Scalar >()) const
bool isUnitary (RealScalar prec=precision< Scalar >()) const
bool isUpperTriangular (RealScalar prec=precision< Scalar >()) const
bool isVector () const
bool isZero (RealScalar prec=precision< Scalar >()) const
const Flagged< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit
lazy () const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
lazyAssign (const SparseProduct< Derived1, Derived2, DenseTimeSparseProduct > &product)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
lazyAssign (const SparseProduct< Derived1, Derived2, SparseTimeDenseProduct > &product)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
lazyAssign (const Flagged< OtherDerived, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > &other)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
lazyAssign (const Product< Lhs, Rhs, CacheFriendlyProduct > &product)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
lazyAssign (const MatrixBase< OtherDerived > &other)
const LDLT< PlainMatrixTypeldlt () const
const LLT< PlainMatrixTypellt () const
RealScalar lpNorm () const
const LU< PlainMatrixTypelu () const
const Flagged< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >, Added, 0 > 
marked () 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 ()
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
maxCoeff (int *index) const
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
maxCoeff (int *row, int *col) const
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
maxCoeff () const
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
minCoeff (int *index) const
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
minCoeff (int *row, int *col) const
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar 
minCoeff () const
const Minor< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
minor (int row, int col) const
Minor< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
minor (int row, int col)
const NestByValue< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
nestByValue () const
int nonZeros () const
RealScalar norm () const
void normalize ()
const PlainMatrixType normalized () const
bool operator!= (const MatrixBase< OtherDerived > &other) const
Scalar & operator() (int index)
const Scalar operator() (int index) const
Scalar & operator() (int row, int col)
const Scalar operator() (int row, int col) const
const ProductReturnType
< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols >, OtherDerived >
::Type 
operator* (const MatrixBase< OtherDerived > &other) const
const ScalarMultipleReturnType operator* (const Scalar &scalar) const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator*= (const MatrixBase< OtherDerived > &other)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator*= (const Scalar &other)
const CwiseBinaryOp
< ei_scalar_sum_op< typename
ei_traits< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > >::Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols >, OtherDerived > 
operator+ (const MatrixBase< OtherDerived > &other) const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator+= (const Flagged< Product< Lhs, Rhs, CacheFriendlyProduct >, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > &other)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator+= (const MatrixBase< OtherDerived > &other)
const CwiseBinaryOp
< ei_scalar_difference_op
< typename ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, OtherDerived > 
operator- (const MatrixBase< OtherDerived > &other) const
const CwiseUnaryOp
< ei_scalar_opposite_op
< typename ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
operator- () const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator-= (const MatrixBase< OtherDerived > &other)
const CwiseUnaryOp
< ei_scalar_quotient1_op
< typename ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
operator/ (const Scalar &scalar) const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
operator/= (const Scalar &other)
CommaInitializer< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
operator<< (const MatrixBase< OtherDerived > &other)
CommaInitializer< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
operator<< (const Scalar &s)
template<typename OtherDerived>
Matrixoperator= (const RotationBase< OtherDerived, ColsAtCompileTime > &r)
EIGEN_STRONG_INLINE Matrixoperator= (const Matrix &other)
template<typename OtherDerived>
EIGEN_STRONG_INLINE Matrixoperator= (const MatrixBase< OtherDerived > &other)
bool operator== (const MatrixBase< OtherDerived > &other) const
Scalar & operator[] (int index)
const Scalar operator[] (int index) const
RealScalar operatorNorm () const
int outerSize () const
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (int index) const
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (int row, int col) const
const Part< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >, Mode > 
part () const
Part< Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols >, Mode > 
part ()
const QR< PlainMatrixTypeqr () const
const RealReturnType real () const
void resize (int size)
void resize (int rows, int cols)
const RowXpr row (int i) const
RowXpr row (int i)
EIGEN_STRONG_INLINE int rows () const
const PartialRedux< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Horizontal > 
rowwise () const
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
segment (int start) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
segment (int start)
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::SubVectorType 
segment (int start, int size) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::SubVectorType 
segment (int start, int size)
const Select< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, NestByValue< typename
ElseDerived::ConstantReturnType >
, ElseDerived > 
select (typename ElseDerived::Scalar thenScalar, const MatrixBase< ElseDerived > &elseMatrix) const
const Select< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, ThenDerived, NestByValue
< typename
ThenDerived::ConstantReturnType > > 
select (const MatrixBase< ThenDerived > &thenMatrix, typename ThenDerived::Scalar elseScalar) const
const Select< Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols >
, ThenDerived, ElseDerived > 
select (const MatrixBase< ThenDerived > &thenMatrix, const MatrixBase< ElseDerived > &elseMatrix) const
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
setConstant (const Scalar &value)
MatrixsetConstant (int rows, int cols, const Scalar &value)
MatrixsetConstant (int size, const Scalar &value)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
setIdentity ()
MatrixsetIdentity (int rows, int cols)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
setOnes ()
MatrixsetOnes (int rows, int cols)
MatrixsetOnes (int size)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
setRandom ()
MatrixsetRandom (int rows, int cols)
MatrixsetRandom (int size)
Matrix< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > & 
setZero ()
MatrixsetZero (int rows, int cols)
MatrixsetZero (int size)
int size () const
ei_plain_matrix_type_column_major
< OtherDerived >::type 
solveTriangular (const MatrixBase< OtherDerived > &other) const
void solveTriangularInPlace (const MatrixBase< OtherDerived > &other) const
RealScalar squaredNorm () const
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
start () const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Size >::SubVectorType 
start (void)
const BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Dynamic >::SubVectorType 
start (int size) const
BlockReturnType< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
, Dynamic >::SubVectorType 
start (int size)
EIGEN_STRONG_INLINE int stride (void) const
Scalar sum () const
SVD< PlainMatrixTypesvd () const
template<typename OtherDerived>
void swap (const MatrixBase< OtherDerived > &other)
Scalar trace () const
const Eigen::Transpose< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
transpose () const
Eigen::Transpose< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
transpose ()
void transposeInPlace ()
const CwiseUnaryOp
< CustomUnaryOp, Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
PlainMatrixType unitOrthogonal (void) const
void visit (Visitor &func) const
Scalar & w ()
const Scalar w () const
void writePacket (int index, const PacketScalar &x)
void writePacket (int row, int col, const PacketScalar &x)
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)
Scalar & x ()
const Scalar x () const
Scalar & y ()
const Scalar y () const
Scalar & z ()
const Scalar z () const
 ~Matrix ()

Static Public Member Functions

static const ConstantReturnType Constant (const Scalar &value)
static const ConstantReturnType Constant (int size, const Scalar &value)
static const ConstantReturnType Constant (int rows, int cols, const Scalar &value)
static const IdentityReturnType Identity (int rows, int cols)
static const IdentityReturnType Identity ()
static const CwiseNullaryOp
< CustomNullaryOp, Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
NullaryExpr (const CustomNullaryOp &func)
static const CwiseNullaryOp
< CustomNullaryOp, Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
NullaryExpr (int size, const CustomNullaryOp &func)
static const CwiseNullaryOp
< CustomNullaryOp, Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols > > 
NullaryExpr (int rows, int cols, const CustomNullaryOp &func)
static const ConstantReturnType Ones ()
static const ConstantReturnType Ones (int size)
static const ConstantReturnType Ones (int rows, int cols)
static const CwiseNullaryOp
< ei_scalar_random_op< Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
Random ()
static const CwiseNullaryOp
< ei_scalar_random_op< Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
Random (int size)
static const CwiseNullaryOp
< ei_scalar_random_op< Scalar >
, Matrix< _Scalar, _Rows,
_Cols, _Options, _MaxRows,
_MaxCols > > 
Random (int rows, int cols)
static const BasisReturnType Unit (int i)
static const BasisReturnType Unit (int size, int i)
static const BasisReturnType UnitW ()
static const BasisReturnType UnitX ()
static const BasisReturnType UnitY ()
static const BasisReturnType UnitZ ()
static const ConstantReturnType Zero ()
static const ConstantReturnType Zero (int size)
static const ConstantReturnType Zero (int rows, int cols)
Map
These are convenience functions returning Map objects. The Map() static functions return unaligned Map objects, while the AlignedMap() functions return aligned Map objects and thus should be called only with 16-byte-aligned data pointers.

See also:
class 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 >
const CwiseUnaryOp
< ei_scalar_multiple_op
< typename ei_traits< Matrix
< _Scalar, _Rows, _Cols,
_Options, _MaxRows, _MaxCols >
>::Scalar >, Matrix< _Scalar,
_Rows, _Cols, _Options,
_MaxRows, _MaxCols > > 
operator* (const Scalar &scalar, const MatrixBase &matrix)

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index