Inherits dense_xpr_base_dispatcher_for_doxygen< Derived >.
Public Member Functions |
Base & | base () |
const Base & | base () const |
const Scalar & | coeff (Index row, Index col) const |
const Scalar & | coeff (Index index) const |
Scalar & | coeffRef (Index row, Index col) |
Scalar & | coeffRef (Index index) |
const Scalar & | coeffRef (Index row, Index col) const |
const Scalar & | coeffRef (Index index) const |
Index | cols () const |
void | conservativeResize (Index rows, Index cols) |
void | conservativeResize (Index rows, NoChange_t) |
void | conservativeResize (NoChange_t, Index cols) |
void | conservativeResize (Index size) |
template<typename OtherDerived > |
void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
const Scalar * | data () const |
Scalar * | data () |
template<typename OtherDerived > |
Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
Derived & | operator= (const PlainObjectBase &other) |
template<typename OtherDerived > |
Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > |
Derived & | operator= (const EigenBase< OtherDerived > &other) |
| Copies the generic expression other into *this.
|
template<int LoadMode> |
PacketScalar | packet (Index row, Index col) const |
template<int LoadMode> |
PacketScalar | packet (Index index) const |
| PlainObjectBase () |
| PlainObjectBase (Index size, Index rows, Index cols) |
template<typename OtherDerived > |
| PlainObjectBase (const EigenBase< OtherDerived > &other) |
void | resize (Index rows, Index cols) |
void | resize (Index size) |
void | resize (NoChange_t, Index cols) |
void | resize (Index rows, NoChange_t) |
template<typename OtherDerived > |
void | resizeLike (const EigenBase< OtherDerived > &_other) |
Index | rows () const |
Derived & | setConstant (Index size, const Scalar &value) |
Derived & | setConstant (Index rows, Index cols, const Scalar &value) |
Derived & | setOnes (Index size) |
Derived & | setOnes (Index rows, Index cols) |
Derived & | setRandom (Index size) |
Derived & | setRandom (Index rows, Index cols) |
Derived & | setZero (Index size) |
Derived & | setZero (Index rows, Index cols) |
template<int StoreMode> |
void | writePacket (Index row, Index col, const PacketScalar &x) |
template<int StoreMode> |
void | writePacket (Index index, const PacketScalar &x) |
Static Public Member Functions |
|
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 ConstMapType | Map (const Scalar *data) |
static MapType | Map (Scalar *data) |
static ConstMapType | Map (const Scalar *data, Index size) |
static MapType | Map (Scalar *data, Index size) |
static ConstMapType | Map (const Scalar *data, Index rows, Index cols) |
static MapType | Map (Scalar *data, Index rows, Index cols) |
static ConstAlignedMapType | MapAligned (const Scalar *data) |
static AlignedMapType | MapAligned (Scalar *data) |
static ConstAlignedMapType | MapAligned (const Scalar *data, Index size) |
static AlignedMapType | MapAligned (Scalar *data, Index size) |
static ConstAlignedMapType | MapAligned (const Scalar *data, Index rows, Index cols) |
static AlignedMapType | MapAligned (Scalar *data, Index rows, Index cols) |
template<int Outer, int Inner> |
static StridedConstMapType
< Stride< Outer, Inner >
>::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedMapType< Stride
< Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedConstMapType
< Stride< Outer, Inner >
>::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedMapType< Stride
< Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedConstMapType
< Stride< Outer, Inner >
>::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedMapType< Stride
< Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static
StridedConstAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> |
static StridedAlignedMapType
< Stride< Outer, Inner >
>::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
Protected Member Functions |
template<typename T0 , typename T1 > |
void | _init2 (Index rows, Index cols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0) |
template<typename T0 , typename T1 > |
void | _init2 (const Scalar &x, const Scalar &y, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0) |
template<typename OtherDerived > |
void | _resize_to_match (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > |
Derived & | _set (const DenseBase< OtherDerived > &other) |
| Copies the value of the expression other into *this with automatic resizing.
|
template<typename OtherDerived > |
Derived & | _set_noalias (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > |
void | _set_selector (const OtherDerived &other, const internal::true_type &) |
template<typename OtherDerived > |
void | _set_selector (const OtherDerived &other, const internal::false_type &) |
template<typename OtherDerived > |
void | _swap (DenseBase< OtherDerived > const &other) |
template<typename Derived>
class Eigen::PlainObjectBase< Derived >
Dense storage base class for matrices and arrays.
This class can be extended with the help of the plugin mechanism described on the page Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_PLAINOBJECTBASE_PLUGIN
.
- See Also
- The class hierarchy
Derived& _set |
( |
const DenseBase< OtherDerived > & |
other | ) |
|
|
inlineprotected |
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.
- See Also
- operator=(const MatrixBase<OtherDerived>&), _set_noalias()
Referenced by Array< Index, 64, 1 >::operator=(), and PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::operator=().
Derived& operator= |
( |
const EigenBase< OtherDerived > & |
other | ) |
|
|
inline |
Copies the generic expression other into *this.
The expression must provide a (templated) evalTo(Derived& dst) const function which does the actual job. In practice, this allows any user to write its own special matrix without having to modify MatrixBase
- Returns
- a reference to *this.
Reimplemented in Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Matrix< Scalar, RowsAtCompileTime, 1, Options, MaxRowsAtCompileTime, 1 >, Matrix< RealScalar, Dynamic, 1 >, Matrix< int, 1, MatrixType::ColsAtCompileTime >, Matrix< int, MatrixType::RowsAtCompileTime, 1 >, Matrix< Index, MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, 3, 1 >, Matrix< Scalar, AmbientDimAtCompileTime, 1, Options >, Matrix< internal::scalar_product_traits< Lhs::Scalar, Rhs::Scalar >::ReturnType, 1, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &(~RowMajor), MaxColsAtCompileTime, 1 >, Matrix< Scalar, 1, Size, Options|RowMajor, 1, MaxSize >, Matrix< Scalar, Dynamic, Dynamic >, Matrix< double, DPARM_SIZE, 1 >, Matrix< Scalar, Dynamic, 1 >, Matrix< RootType, _Deg, 1 >, Matrix< Scalar, Dim, 1 >, Matrix< Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime >, Matrix< Scalar, SizeMinusOne, 1, Options &~RowMajor, MaxSizeMinusOne, 1 >, Matrix< int, IPARM_SIZE, 1 >, Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< Index, Dynamic, 1 >, Matrix< int, Dynamic, 1 >, Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime >, Matrix< Scalar, AmbientDimAtCompileTime, 1 >, Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime >, Matrix< ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, Index(AmbientDimAtCompileTime)==Dynamic?Dynamic:Index(AmbientDimAtCompileTime)+1, 1, Options >, Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >, Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, and Array< Index, 64, 1 >.
Resizes *this
to a rows x cols matrix.
This method is intended for dynamic-size matrices, although it is legal to call it on any matrix as long as fixed dimensions are left unchanged. If you only want to change the number of rows and/or of columns, you can use resize(NoChange_t, Index), resize(Index, NoChange_t).
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.
Example:
MatrixXd m(2,3);
m << 1,2,3,4,5,6;
cout << "here's the 2x3 matrix m:" << endl << m << endl;
cout << "let's resize m to 3x2. This is a conservative resizing because 2*3==3*2." << endl;
m.resize(3,2);
cout << "here's the 3x2 matrix m:" << endl << m << endl;
cout << "now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:" << endl;
m.resize(2,2);
cout << m << endl;
Output:
here's the 2x3 matrix m:
1 2 3
4 5 6
let's resize m to 3x2. This is a conservative resizing because 2*3==3*2.
here's the 3x2 matrix m:
1 5
4 3
2 6
now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:
1 2
4 5
- See Also
- resize(Index) for vectors, resize(NoChange_t, Index), resize(Index, NoChange_t)
Referenced by Array< Index, 64, 1 >::Array(), HessenbergDecomposition< MatrixType >::compute(), Tridiagonalization< _MatrixType >::compute(), DiagonalPreconditioner< _Scalar >::factorize(), HessenbergDecomposition< MatrixType >::HessenbergDecomposition(), Eigen::internal::householder_qr_inplace_blocked(), Eigen::internal::householder_qr_inplace_unblocked(), SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::initFactorization(), ProductBase< SelfadjointProductMatrix< Lhs, LhsMode, false, Rhs, RhsMode, false >, Lhs, Rhs >::operator const PlainObject &(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::operator=(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::resize(), PlainObjectBase< Matrix< int, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::resizeLike(), and SparseMatrix< _Scalar, _Options, _Index >::sumupDuplicates().