![]() |
Eigen
3.2.10
|
Base class of any sparse matrices or sparse expressions.
| Derived |
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_SPARSEMATRIXBASE_PLUGIN.
Inheritance diagram for SparseMatrixBase< Derived >:Public Types | |
| enum | { RowsAtCompileTime , ColsAtCompileTime , SizeAtCompileTime , MaxRowsAtCompileTime , MaxColsAtCompileTime , MaxSizeAtCompileTime , IsVectorAtCompileTime , Flags , CoeffReadCost , IsRowMajor , InnerSizeAtCompileTime } |
Public Member Functions | |
| template<typename CustomBinaryOp, typename OtherDerived> | |
| const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > | binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
| template<int BlockRows, int BlockCols> | |
| Block< Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol) |
| template<int BlockRows, int BlockCols> | |
| const Block< const Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol) const |
| Block< Derived > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
| template<int BlockRows, int BlockCols> | |
| Block< Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
| const Block< const Derived > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
| template<int BlockRows, int BlockCols> | |
| const Block< const Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | bottomLeftCorner () |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | bottomLeftCorner () const |
| Block< Derived > | bottomLeftCorner (Index cRows, Index cCols) |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | bottomLeftCorner (Index cRows, Index cCols) |
| const Block< const Derived > | bottomLeftCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | bottomLeftCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | bottomRightCorner () |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | bottomRightCorner () const |
| Block< Derived > | bottomRightCorner (Index cRows, Index cCols) |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | bottomRightCorner (Index cRows, Index cCols) |
| const Block< const Derived > | bottomRightCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | bottomRightCorner (Index cRows, Index cCols) const |
| RowsBlockXpr | bottomRows (Index n) |
| ConstRowsBlockXpr | bottomRows (Index n) const |
| template<int N> | |
| NRowsBlockXpr< N >::Type | bottomRows (Index n=N) |
| template<int N> | |
| ConstNRowsBlockXpr< N >::Type | bottomRows (Index n=N) const |
| template<typename NewType> | |
| internal::cast_return_type< Derived, constCwiseUnaryOp< internal::scalar_cast_op< typenameinternal::traits< Derived >::Scalar, NewType >, constDerived > >::type | cast () const |
| ColXpr | col (Index i) |
| ConstColXpr | col (Index i) const |
| Index | cols () const |
| ConjugateReturnType | conjugate () const |
| const CwiseUnaryOp< internal::scalar_abs_op< Scalar >, const Derived > | cwiseAbs () const |
| const CwiseUnaryOp< internal::scalar_abs2_op< Scalar >, const Derived > | cwiseAbs2 () const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< std::equal_to< Scalar >, const Derived, const OtherDerived > | cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseScalarEqualReturnType | cwiseEqual (const Scalar &s) const |
| const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const Derived > | cwiseInverse () const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_max_op< Scalar >, const Derived, const OtherDerived > | cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseBinaryOp< internal::scalar_max_op< Scalar >, const Derived, const ConstantReturnType > | cwiseMax (const Scalar &other) const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_min_op< Scalar >, const Derived, const OtherDerived > | cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseBinaryOp< internal::scalar_min_op< Scalar >, const Derived, const ConstantReturnType > | cwiseMin (const Scalar &other) const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< std::not_equal_to< Scalar >, const Derived, const OtherDerived > | cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_product_op< typename Derived ::Scalar, typename OtherDerived ::Scalar >, const Derived, const OtherDerived > | cwiseProduct (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseUnaryOp< internal::scalar_sqrt_op< Scalar >, const Derived > | cwiseSqrt () const |
| Derived & | derived () |
| const Derived & | derived () const |
| const internal::eval< Derived >::type | eval () const |
| SegmentReturnType | head (Index n) |
| ConstSegmentReturnType | head (Index n) const |
| template<int N> | |
| FixedSegmentReturnType< N >::Type | head (Index n=N) |
| template<int N> | |
| ConstFixedSegmentReturnType< N >::Type | head (Index n=N) const |
| NonConstImagReturnType | imag () |
| const ImagReturnType | imag () const |
| Index | innerSize () const |
| InnerVectorReturnType | innerVector (Index outer) |
| const ConstInnerVectorReturnType | innerVector (Index outer) const |
| InnerVectorsReturnType | innerVectors (Index outerStart, Index outerSize) |
| const ConstInnerVectorsReturnType | innerVectors (Index outerStart, Index outerSize) const |
| bool | isVector () const |
| ColsBlockXpr | leftCols (Index n) |
| ConstColsBlockXpr | leftCols (Index n) const |
| template<int N> | |
| NColsBlockXpr< N >::Type | leftCols (Index n=N) |
| template<int N> | |
| ConstNColsBlockXpr< N >::Type | leftCols (Index n=N) const |
| template<int N> | |
| NColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) |
| template<int N> | |
| ConstNColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) const |
| ColsBlockXpr | middleCols (Index startCol, Index numCols) |
| ConstColsBlockXpr | middleCols (Index startCol, Index numCols) const |
| RowsBlockXpr | middleRows (Index startRow, Index n) |
| ConstRowsBlockXpr | middleRows (Index startRow, Index n) const |
| template<int N> | |
| NRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) |
| template<int N> | |
| ConstNRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) const |
| Index | nonZeros () const |
| template<typename OtherDerived> | |
| const SparseDenseProductReturnType< Derived, OtherDerived >::Type | operator* (const MatrixBase< OtherDerived > &other) const |
| const ScalarMultipleReturnType | operator* (const Scalar &scalar) const |
| template<typename OtherDerived> | |
| const SparseSparseProductReturnType< Derived, OtherDerived >::Type | operator* (const SparseMatrixBase< OtherDerived > &other) const |
| const CwiseUnaryOp< internal::scalar_multiple2_op< Scalar, std::complex< Scalar > >, const Derived > | operator* (const std::complex< Scalar > &scalar) const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const Derived, const OtherDerived > | operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseUnaryOp< internal::scalar_opposite_op< typename internal::traits< Derived >::Scalar >, const Derived > | operator- () const |
| template<typename OtherDerived> | |
| const CwiseBinaryOp< internal::scalar_difference_op< Scalar >, const Derived, const OtherDerived > | operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
| const CwiseUnaryOp< internal::scalar_quotient1_op< typename internal::traits< Derived >::Scalar >, const Derived > | operator/ (const Scalar &scalar) const |
| Index | outerSize () const |
| NonConstRealReturnType | real () |
| RealReturnType | real () const |
| ColsBlockXpr | rightCols (Index n) |
| ConstColsBlockXpr | rightCols (Index n) const |
| template<int N> | |
| NColsBlockXpr< N >::Type | rightCols (Index n=N) |
| template<int N> | |
| ConstNColsBlockXpr< N >::Type | rightCols (Index n=N) const |
| RowXpr | row (Index i) |
| ConstRowXpr | row (Index i) const |
| Index | rows () const |
| SegmentReturnType | segment (Index start, Index n) |
| ConstSegmentReturnType | segment (Index start, Index n) const |
| template<int N> | |
| FixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) |
| template<int N> | |
| ConstFixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) const |
| Index | size () const |
| SegmentReturnType | tail (Index n) |
| ConstSegmentReturnType | tail (Index n) const |
| template<int N> | |
| FixedSegmentReturnType< N >::Type | tail (Index n=N) |
| template<int N> | |
| ConstFixedSegmentReturnType< N >::Type | tail (Index n=N) const |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | topLeftCorner () |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | topLeftCorner () const |
| Block< Derived > | topLeftCorner (Index cRows, Index cCols) |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | topLeftCorner (Index cRows, Index cCols) |
| const Block< const Derived > | topLeftCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | topLeftCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | topRightCorner () |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | topRightCorner () const |
| Block< Derived > | topRightCorner (Index cRows, Index cCols) |
| template<int CRows, int CCols> | |
| Block< Derived, CRows, CCols > | topRightCorner (Index cRows, Index cCols) |
| const Block< const Derived > | topRightCorner (Index cRows, Index cCols) const |
| template<int CRows, int CCols> | |
| const Block< const Derived, CRows, CCols > | topRightCorner (Index cRows, Index cCols) const |
| RowsBlockXpr | topRows (Index n) |
| ConstRowsBlockXpr | topRows (Index n) const |
| template<int N> | |
| NRowsBlockXpr< N >::Type | topRows (Index n=N) |
| template<int N> | |
| ConstNRowsBlockXpr< N >::Type | topRows (Index n=N) const |
| SparseSymmetricPermutationProduct< Derived, Upper|Lower > | twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const |
| template<typename CustomUnaryOp> | |
| const CwiseUnaryOp< CustomUnaryOp, const Derived > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
| Apply a unary operator coefficient-wise. | |
| template<typename CustomViewOp> | |
| const CwiseUnaryView< CustomViewOp, const Derived > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const |
| anonymous enum |
| Enumerator | |
|---|---|
| RowsAtCompileTime | The number of rows at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
| ColsAtCompileTime | The number of columns at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
| SizeAtCompileTime | This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.
|
| IsVectorAtCompileTime | This is set to true if either the number of rows or the number of columns is known at compile-time to be equal to 1. Indeed, in that case, we are dealing with a column-vector (if there is only one column) or with a row-vector (if there is only one row). |
| Flags | This stores expression Flags flags which may or may not be inherited by new expressions constructed from this one. See the list of flags. |
| CoeffReadCost | This is a rough measure of how expensive it is to read one coefficient from this expression. |
|
inline |
The template parameter CustomBinaryOp is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)
Here is an example illustrating the use of custom functors:
Output:
(0.68,0.271) (0.823,-0.967) (-0.444,-0.687) (-0.27,0.998) (-0.211,0.435) (-0.605,-0.514) (0.108,-0.198) (0.0268,-0.563) (0.566,-0.717) (-0.33,-0.726) (-0.0452,-0.74) (0.904,0.0259) (0.597,0.214) (0.536,0.608) (0.258,-0.782) (0.832,0.678)
|
inline |
The template parameters BlockRows and BlockCols are the number of rows and columns in the block.
| startRow | the first row in the block |
| startCol | the first column in the block |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.block<2,2>(1,1): -6 1 -3 0 Now the matrix m is: 7 9 -5 -3 -2 0 0 0 6 0 0 9 6 6 3 9
|
inline |
This is the const version of block<>(Index, Index).
|
inline |
| startRow | the first row in the block |
| startCol | the first column in the block |
| blockRows | the number of rows in the block |
| blockCols | the number of columns in the block |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.block(1, 1, 2, 2): -6 1 -3 0 Now the matrix m is: 7 9 -5 -3 -2 0 0 0 6 0 0 9 6 6 3 9
|
inline |
| BlockRows | number of rows in block as specified at compile-time |
| BlockCols | number of columns in block as specified at compile-time |
| startRow | the first row in the block |
| startCol | the first column in the block |
| blockRows | number of rows in block as specified at run-time |
| blockCols | number of columns in block as specified at run-time |
This function is mainly useful for blocks where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, blockRows should equal BlockRows unless BlockRows is Dynamic, and the same for the number of columns.
Example:
Output:
Matrix4i m = Matrix4i::Random(); cout << "Here is the matrix m:" << endl << m << endl; cout << "Here is the block:" << endl << m.block<2, Dynamic>(1, 1, 2, 3) << endl; m.block<2, Dynamic>(1, 1, 2, 3).setZero(); cout << "Now the matrix m is:" << endl << m << endl;
|
inline |
This is the const version of block(Index,Index,Index,Index).
|
inline |
This is the const version of block<>(Index, Index, Index, Index).
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomLeftCorner<2,2>(): 6 -3 6 6 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 0 0 0 9 0 0 3 9
|
inline |
This is the const version of bottomLeftCorner<int, int>().
|
inline |
| cRows | the number of rows in the corner |
| cCols | the number of columns in the corner |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomLeftCorner(2, 2): 6 -3 6 6 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 0 0 0 9 0 0 3 9
|
inline |
| CRows | number of rows in corner as specified at compile-time |
| CCols | number of columns in corner as specified at compile-time |
| cRows | number of rows in corner as specified at run-time |
| cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomLeftCorner<2,Dynamic>(2,2): 6 -3 6 6 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 0 0 0 9 0 0 3 9
|
inline |
This is the const version of bottomLeftCorner(Index, Index).
|
inline |
This is the const version of bottomLeftCorner<int, int>(Index, Index).
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomRightCorner<2,2>(): 0 9 3 9 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 6 -3 0 0 6 6 0 0
|
inline |
This is the const version of bottomRightCorner<int, int>().
|
inline |
| cRows | the number of rows in the corner |
| cCols | the number of columns in the corner |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomRightCorner(2, 2): 0 9 3 9 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 6 -3 0 0 6 6 0 0
|
inline |
| CRows | number of rows in corner as specified at compile-time |
| CCols | number of columns in corner as specified at compile-time |
| cRows | number of rows in corner as specified at run-time |
| cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.bottomRightCorner<2,Dynamic>(2,2): 0 9 3 9 Now the matrix m is: 7 9 -5 -3 -2 -6 1 0 6 -3 0 0 6 6 0 0
|
inline |
This is the const version of bottomRightCorner(Index, Index).
|
inline |
This is the const version of bottomRightCorner<int, int>(Index, Index).
|
inline |
| n | the number of rows in the block |
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.bottomRows(2): 6 -3 0 9 6 6 3 9 Now the array a is: 7 9 -5 -3 -2 -6 1 0 0 0 0 0 0 0 0 0
|
inline |
This is the const version of bottomRows(Index).
|
inline |
| N | the number of rows in the block as specified at compile-time |
| n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.bottomRows<2>(): 6 -3 0 9 6 6 3 9 Now the array a is: 7 9 -5 -3 -2 -6 1 0 0 0 0 0 0 0 0 0
|
inline |
This is the const version of bottomRows<int>().
|
inline |
The template parameter NewScalar is the type we are casting the scalars to.
|
inline |
Example:
Output:
1 4 0 0 5 0 0 6 1
|
inline |
This is the const version of col().
|
inline |
Referenced by SparseMatrixBase< SparseDenseOuterProduct >::imag(), SparseMatrixBase< SparseDenseOuterProduct >::innerSize(), innerVectors(), SparseMatrixBase< SparseDenseOuterProduct >::outerSize(), SparseMatrixBase< SparseDenseOuterProduct >::size(), and SparseMatrixBase< SparseDenseOuterProduct >::topLeftCorner().
|
inline |
*this.
|
inline |
*this Example:
Output:
2 4 6 5 1 0
|
inline |
*this Example:
Output:
4 16 36 25 1 0
|
inline |
Example:
Output:
Comparing m with identity matrix: 1 1 0 1 Number of coefficients that are equal: 3
|
inline |
*this and a scalar s
|
inline |
Example:
Output:
0.5 2 1 0.333 4 1
|
inline |
Example:
Output:
4 3 4
|
inline |
|
inline |
Example:
Output:
2 2 3
|
inline |
|
inline |
Example:
Output:
Comparing m with identity matrix: 0 0 1 0 Number of coefficients that are not equal: 1
|
inline |
Example:
Output:
a: 7 6 -3 -2 9 6 6 -6 -5 b: 1 -3 9 0 0 3 3 9 5 c: 7 -18 -27 0 0 18 18 -54 -25
|
inline |
Example:
Output:
0.5 1.5 1.33
|
inline |
Example:
Output:
1 1.41 2
|
inlineinherited |
Referenced by IterativeSolverBase< BiCGSTAB >::analyzePattern(), MatrixBase< Derived >::applyOnTheLeft(), MatrixBase< Derived >::applyOnTheRight(), PermutationBase< PermutationMatrix >::applyTranspositionOnTheLeft(), PermutationBase< PermutationMatrix >::applyTranspositionOnTheRight(), SparseMatrixBase< SparseDenseOuterProduct >::bottomLeftCorner(), SparseMatrixBase< SparseDenseOuterProduct >::bottomRows(), cols(), SparseMatrixBase< SparseDenseOuterProduct >::cols(), IterativeSolverBase< BiCGSTAB >::compute(), SparseMatrixBase< SparseDenseOuterProduct >::eval(), IterativeSolverBase< BiCGSTAB >::factorize(), PermutationBase< PermutationMatrix >::indices(), PermutationBase< PermutationMatrix >::indices(), SparseMatrixBase< Derived >::innerVector(), SparseMatrixBase< Derived >::innerVector(), SparseMatrixBase< Derived >::innerVectors(), SparseMatrixBase< Derived >::innerVectors(), PermutationBase< PermutationMatrix >::inverse(), IterativeSolverBase< BiCGSTAB >::IterativeSolverBase(), SparseMatrixBase< SparseDenseOuterProduct >::nonZeros(), PermutationBase< PermutationMatrix >::operator*(), RotationBase< AngleAxis< _Scalar >, 3 >::operator*(), RotationBase< AngleAxis< _Scalar >, 3 >::operator*, SparseMatrixBase< Derived >::operator*(), SparseMatrixBase< SparseDenseOuterProduct >::operator*(), SparseMatrixBase< SparseDenseOuterProduct >::operator*(), SparseSelfAdjointView< MatrixType, UpLo >::operator*, SparseSelfAdjointView< MatrixType, UpLo >::operator*(), Transform< Scalar, Dim, Mode, Options >::operator*, Transform< Scalar, Dim, Mode, Options >::operator*(), Translation< _Scalar, _Dim >::operator*(), Translation< Scalar, Dim >::operator*, MatrixBase< Derived >::operator*=(), DenseBase< Derived >::operator=(), PermutationBase< PermutationMatrix >::operator=(), PermutationBase< PermutationMatrix >::operator=(), PlainObjectBase< Array >::operator=(), Transform< Scalar, Dim, Mode, Options >::operator=(), PlainObjectBase< Array >::PlainObjectBase(), PlainObjectBase< Array >::resizeLike(), rows(), SparseMatrixBase< SparseDenseOuterProduct >::rows(), CholmodBase< _MatrixType, _UpLo, CholmodSimplicialLLT >::solve(), IterativeSolverBase< BiCGSTAB >::solve(), SimplicialCholeskyBase< SimplicialLLT >::solve(), SparseLU< _MatrixType, Derived >::solve(), SuperLUBase< _MatrixType, SuperLU >::solve(), UmfPackLU< _MatrixType >::solve(), SparseMatrix< Scalar, RowMajor >::SparseMatrix(), SparseMatrix< Scalar, RowMajor >::SparseMatrix(), PermutationBase< PermutationMatrix >::toDenseMatrix(), SparseMatrixBase< SparseDenseOuterProduct >::topLeftCorner(), SparseMatrixBase< SparseDenseOuterProduct >::topLeftCorner(), Transform< Scalar, Dim, Mode, Options >::Transform(), PermutationBase< PermutationMatrix >::transpose(), and SparseMatrixBase< SparseDenseOuterProduct >::twistedBy().
|
inlineinherited |
|
inline |
Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy.
|
inline |
This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| n | the number of coefficients in the segment |
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.head(2): 7 -2 Now the vector v is: 0 0 6 6
|
inline |
This is the const version of head(Index).
|
inline |
This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| N | the number of coefficients in the segment as specified at compile-time |
| n | the number of coefficients in the segment as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.head(2): 7 -2 Now the vector v is: 0 0 6 6
|
inline |
This is the const version of head<int>().
|
inline |
*this.
|
inline |
*this.
|
inline |
| SparseMatrixBase< Derived >::InnerVectorReturnType innerVector | ( | Index | outer | ) |
*this if *this is col-major (resp. row-major). References EigenBase< Derived >::derived().
| const SparseMatrixBase< Derived >::ConstInnerVectorReturnType innerVector | ( | Index | outer | ) | const |
*this if *this is col-major (resp. row-major). Read-only. References EigenBase< Derived >::derived().
| SparseMatrixBase< Derived >::InnerVectorsReturnType innerVectors | ( | Index | outerStart, |
| Index | outerSize ) |
*this if *this is col-major (resp. row-major). References cols(), EigenBase< Derived >::derived(), outerSize(), and rows().
| const SparseMatrixBase< Derived >::ConstInnerVectorsReturnType innerVectors | ( | Index | outerStart, |
| Index | outerSize ) const |
*this if *this is col-major (resp. row-major). Read-only. References EigenBase< Derived >::derived(), and outerSize().
|
inline |
|
inline |
| n | the number of columns in the block |
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.leftCols(2): 7 9 -2 -6 6 -3 6 6 Now the array a is: 0 0 -5 -3 0 0 1 0 0 0 0 9 0 0 3 9
|
inline |
This is the const version of leftCols(Index).
|
inline |
| N | the number of columns in the block as specified at compile-time |
| n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.leftCols<2>(): 7 9 -2 -6 6 -3 6 6 Now the array a is: 0 0 -5 -3 0 0 1 0 0 0 0 9 0 0 3 9
|
inline |
This is the const version of leftCols<int>().
|
inline |
| N | the number of columns in the block as specified at compile-time |
| startCol | the index of the first column in the block |
| n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
A = 7 -6 0 9 -10 -2 -3 3 3 -5 6 6 -3 5 -8 6 -5 0 -8 6 9 1 9 2 -7 A(:,1..3) = -6 0 9 -3 3 3 6 -3 5 -5 0 -8 1 9 2
|
inline |
This is the const version of middleCols<int>().
|
inline |
| startCol | the index of the first column in the block |
| numCols | the number of columns in the block |
Example:
Output:
A = 7 -6 0 9 -10 -2 -3 3 3 -5 6 6 -3 5 -8 6 -5 0 -8 6 9 1 9 2 -7 A(1..3,:) = -6 0 9 -3 3 3 6 -3 5 -5 0 -8 1 9 2
|
inline |
This is the const version of middleCols(Index,Index).
|
inline |
| startRow | the index of the first row in the block |
| n | the number of rows in the block |
Example:
Output:
A = 7 -6 0 9 -10 -2 -3 3 3 -5 6 6 -3 5 -8 6 -5 0 -8 6 9 1 9 2 -7 A(2..3,:) = 6 6 -3 5 -8 6 -5 0 -8 6
|
inline |
This is the const version of middleRows(Index,Index).
|
inline |
| N | the number of rows in the block as specified at compile-time |
| startRow | the index of the first row in the block |
| n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
A = 7 -6 0 9 -10 -2 -3 3 3 -5 6 6 -3 5 -8 6 -5 0 -8 6 9 1 9 2 -7 A(1..3,:) = -2 -3 3 3 -5 6 6 -3 5 -8 6 -5 0 -8 6
|
inline |
This is the const version of middleRows<int>().
|
inline |
|
inline |
sparse * dense (returns a dense object unless it is an outer product)
|
inline |
*this scaled by the scalar factor scalar
|
inline |
ref is a meaningful non zero reference value. References EigenBase< Derived >::derived().
|
inline |
Overloaded for efficient real matrix times complex scalar value
| const CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const Derived, const OtherDerived > operator+ | ( | const Eigen::SparseMatrixBase< OtherDerived > & | other | ) | const |
*this and other
|
inline |
*this | const CwiseBinaryOp< internal::scalar_difference_op< Scalar >, const Derived, const OtherDerived > operator- | ( | const Eigen::SparseMatrixBase< OtherDerived > & | other | ) | const |
*this and other
|
inline |
*this divided by the scalar value scalar
|
inline |
Referenced by innerVectors(), and innerVectors().
|
inline |
*this.
|
inline |
*this.
|
inline |
| n | the number of columns in the block |
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.rightCols(2): -5 -3 1 0 0 9 3 9 Now the array a is: 7 9 0 0 -2 -6 0 0 6 -3 0 0 6 6 0 0
|
inline |
This is the const version of rightCols(Index).
|
inline |
| N | the number of columns in the block as specified at compile-time |
| n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.rightCols<2>(): -5 -3 1 0 0 9 3 9 Now the array a is: 7 9 0 0 -2 -6 0 0 6 -3 0 0 6 6 0 0
|
inline |
This is the const version of rightCols<int>().
|
inline |
Example:
Output:
1 0 0 4 5 6 0 0 1
|
inline |
This is the const version of row().
|
inline |
Referenced by SparseMatrixBase< SparseDenseOuterProduct >::imag(), SparseMatrixBase< SparseDenseOuterProduct >::innerSize(), innerVectors(), SparseMatrixBase< SparseDenseOuterProduct >::outerSize(), SparseMatrixBase< SparseDenseOuterProduct >::size(), CholmodBase< _MatrixType, _UpLo, CholmodSimplicialLLT >::solve(), IterativeSolverBase< BiCGSTAB >::solve(), SimplicialCholeskyBase< SimplicialLLT >::solve(), SparseLU< _MatrixType, Derived >::solve(), SuperLUBase< _MatrixType, SuperLU >::solve(), UmfPackLU< _MatrixType >::solve(), and SparseMatrixBase< SparseDenseOuterProduct >::topLeftCorner().
|
inline |
This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| start | the first coefficient in the segment |
| n | the number of coefficients in the segment |
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.segment(1, 2): -2 6 Now the vector v is: 7 0 0 6
|
inline |
This is the const version of segment(Index,Index).
|
inline |
*this This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| N | the number of coefficients in the segment as specified at compile-time |
| start | the index of the first element in the segment |
| n | the number of coefficients in the segment as specified at compile-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.segment<2>(1): -2 6 Now the vector v is: 7 -2 0 0
|
inline |
This is the const version of segment<int>(Index).
|
inline |
|
inline |
This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| n | the number of coefficients in the segment |
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.tail(2): 6 6 Now the vector v is: 7 -2 0 0
|
inline |
This is the const version of tail(Index).
|
inline |
This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.
| N | the number of coefficients in the segment as specified at compile-time |
| n | the number of coefficients in the segment as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the vector v: 7 -2 6 6 Here is v.tail(2): 6 6 Now the vector v is: 7 -2 0 0
|
inline |
This is the const version of tail<int>.
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topLeftCorner<2,2>(): 7 9 -2 -6 Now the matrix m is: 0 0 -5 -3 0 0 1 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topLeftCorner<int, int>().
|
inline |
| cRows | the number of rows in the corner |
| cCols | the number of columns in the corner |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topLeftCorner(2, 2): 7 9 -2 -6 Now the matrix m is: 0 0 -5 -3 0 0 1 0 6 -3 0 9 6 6 3 9
|
inline |
| CRows | number of rows in corner as specified at compile-time |
| CCols | number of columns in corner as specified at compile-time |
| cRows | number of rows in corner as specified at run-time |
| cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topLeftCorner<2,Dynamic>(2,2): 7 9 -2 -6 Now the matrix m is: 0 0 -5 -3 0 0 1 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topLeftCorner(Index, Index).
|
inline |
This is the const version of topLeftCorner<int, int>(Index, Index).
|
inline |
| CRows | the number of rows in the corner |
| CCols | the number of columns in the corner |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topRightCorner<2,2>(): -5 -3 1 0 Now the matrix m is: 7 9 0 0 -2 -6 0 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topRightCorner<int, int>().
|
inline |
| cRows | the number of rows in the corner |
| cCols | the number of columns in the corner |
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topRightCorner(2, 2): -5 -3 1 0 Now the matrix m is: 7 9 0 0 -2 -6 0 0 6 -3 0 9 6 6 3 9
|
inline |
| CRows | number of rows in corner as specified at compile-time |
| CCols | number of columns in corner as specified at compile-time |
| cRows | number of rows in corner as specified at run-time |
| cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
Here is the matrix m: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is m.topRightCorner<2,Dynamic>(2,2): -5 -3 1 0 Now the matrix m is: 7 9 0 0 -2 -6 0 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topRightCorner(Index, Index).
|
inline |
This is the const version of topRightCorner<int, int>(Index, Index).
|
inline |
| n | the number of rows in the block |
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.topRows(2): 7 9 -5 -3 -2 -6 1 0 Now the array a is: 0 0 0 0 0 0 0 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topRows(Index).
|
inline |
| N | the number of rows in the block as specified at compile-time |
| n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
Here is the array a: 7 9 -5 -3 -2 -6 1 0 6 -3 0 9 6 6 3 9 Here is a.topRows<2>(): 7 9 -5 -3 -2 -6 1 0 Now the array a is: 0 0 0 0 0 0 0 0 6 -3 0 9 6 6 3 9
|
inline |
This is the const version of topRows<int>().
|
inline |
*this
|
inline |
Apply a unary operator coefficient-wise.
| [in] | func | Functor implementing the unary operator |
| CustomUnaryOp | Type of func |
The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
Example:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.68 0.823 0 0
0 0 0.108 0.0268
0.566 0 0 0.904
0.597 0.536 0.258 0.832
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.5 0.5 -0.444 -0.27
-0.211 -0.5 0.108 0.0268
0.5 -0.33 -0.0452 0.5
0.5 0.5 0.258 0.5
|
inline |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
Output:
0.68 0.823 -0.444 -0.27
-0.211 -0.605 0.108 0.0268
0.566 -0.33 -0.0452 0.904
0.597 0.536 0.258 0.832
becomes:
0.5 0.5 -0.444 -0.27
-0.211 -0.5 0.108 0.0268
0.5 -0.33 -0.0452 0.5
0.5 0.5 0.258 0.5