Expression of the product of two matrices. More...
Public Types | |
| enum | { LhsNestedFlags, RhsNestedFlags } |
|
typedef ei_cleantype < LhsNestedX >::type | _LhsNestedX |
|
typedef ei_cleantype < RhsNestedX >::type | _RhsNestedX |
|
typedef ei_nested< _LhsNested, _RhsNested::ColsAtCompileTime > ::type | LhsNestedX |
|
typedef ei_nested< _RhsNested, _LhsNested::RowsAtCompileTime > ::type | RhsNestedX |
Public Types inherited from MatrixBase< Product< LhsNested, RhsNested, ProductMode > > | |
| enum | |
Public Member Functions | |
| template<typename DestDerived > | |
| void | _cacheFriendlyEvalAndAdd (DestDerived &res) const |
| bool | _useCacheFriendlyProduct () const |
| const Scalar | coeff (int row, int col) const |
| const Scalar | coeff (int index) const |
| int | cols () const |
| const _LhsNested & | lhs () const |
| template<int LoadMode> | |
| const PacketScalar | packet (int row, int col) const |
| template<typename Lhs , typename Rhs > | |
| Product (const Lhs &lhs, const Rhs &rhs) | |
| const _RhsNested & | rhs () const |
| int | rows () const |
Public Member Functions inherited from MatrixBase< Product< LhsNested, RhsNested, ProductMode > > | |
| const AdjointReturnType | adjoint () const |
| bool | all (void) const |
| bool | any (void) const |
| const DiagonalMatrix< Product < LhsNested, RhsNested, ProductMode > > | asDiagonal () const |
| const CwiseBinaryOp < CustomBinaryOp, Product < LhsNested, RhsNested, ProductMode >, OtherDerived > | binaryExpr (const MatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::Type | block (int startRow, int startCol, int blockRows, int blockCols) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::Type | block (int startRow, int startCol, int blockRows, int blockCols) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, BlockRows, BlockCols >::Type | block (int startRow, int startCol) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, BlockRows, BlockCols >::Type | block (int startRow, int startCol) const |
| const CwiseUnaryOp < ei_scalar_cast_op< typename ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar, NewType >, Product < LhsNested, RhsNested, ProductMode > > | cast () const |
| const Scalar | coeff (int row, int col) const |
| const Scalar | coeff (int index) const |
| Scalar & | coeffRef (int row, int col) |
| Scalar & | coeffRef (int index) |
| ColXpr | col (int i) |
| const ColXpr | col (int i) const |
| int | cols () const |
| const PartialRedux< Product < LhsNested, RhsNested, ProductMode >, Vertical > | colwise () const |
| void | computeInverse (MatrixBase< ResultType > *result) const |
| ConjugateReturnType | conjugate () const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::Type | corner (CornerType type, int cRows, int cCols) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::Type | corner (CornerType type, int cRows, int cCols) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, CRows, CCols > ::Type | corner (CornerType type) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, CRows, CCols > ::Type | corner (CornerType type) const |
| int | count () const |
| PlainMatrixType | cross (const MatrixBase< OtherDerived > &other) const |
| const Cwise< Product < LhsNested, RhsNested, ProductMode > > | cwise () const |
| Cwise< Product< LhsNested, RhsNested, ProductMode > > | cwise () |
| Scalar | determinant () const |
| DiagonalCoeffs< Product < LhsNested, RhsNested, ProductMode > > | diagonal () |
| const DiagonalCoeffs< Product < LhsNested, RhsNested, ProductMode > > | diagonal () const |
| Scalar | dot (const MatrixBase< OtherDerived > &other) const |
| EigenvaluesReturnType | eigenvalues () const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Dynamic > ::SubVectorType | end (int size) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Dynamic > ::SubVectorType | end (int size) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | end () |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | end () const |
| Matrix< Scalar, 3, 1 > | eulerAngles (int a0, int a1, int a2) const |
| const ei_eval< Product < LhsNested, RhsNested, ProductMode > >::type | eval () const |
| void | fill (const Scalar &value) |
| const WithFormat< Product < LhsNested, RhsNested, ProductMode > > | 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 RealScalar &other, RealScalar prec=precision< Scalar >()) const |
| bool | isMuchSmallerThan (const MatrixBase< OtherDerived > &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< Product < LhsNested, RhsNested, ProductMode > , 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > | lazy () const |
|
Product< LhsNested, RhsNested, ProductMode > & | lazyAssign (const SparseProduct< Derived1, Derived2, SparseTimeDenseProduct > &product) |
|
Product< LhsNested, RhsNested, ProductMode > & | lazyAssign (const SparseProduct< Derived1, Derived2, DenseTimeSparseProduct > &product) |
| const LDLT< PlainMatrixType > | ldlt () const |
| const LLT< PlainMatrixType > | llt () const |
| RealScalar | lpNorm () const |
| const LU< PlainMatrixType > | lu () const |
| const Flagged< Product < LhsNested, RhsNested, ProductMode >, Added, 0 > | marked () const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | maxCoeff () const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | maxCoeff (int *row, int *col) const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | maxCoeff (int *index) const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | minCoeff () const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | minCoeff (int *row, int *col) const |
| ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar | minCoeff (int *index) const |
| Minor< Product< LhsNested, RhsNested, ProductMode > > | minor (int row, int col) |
| const Minor< Product < LhsNested, RhsNested, ProductMode > > | minor (int row, int col) const |
| const NestByValue< Product < LhsNested, RhsNested, ProductMode > > | nestByValue () const |
| int | nonZeros () const |
| RealScalar | norm () const |
| void | normalize () |
| const PlainMatrixType | normalized () const |
| bool | operator!= (const MatrixBase< OtherDerived > &other) const |
| const Scalar | operator() (int row, int col) const |
| Scalar & | operator() (int row, int col) |
| const Scalar | operator() (int index) const |
| Scalar & | operator() (int index) |
| const ScalarMultipleReturnType | operator* (const Scalar &scalar) const |
| const ProductReturnType < Product< LhsNested, RhsNested, ProductMode > , OtherDerived >::Type | operator* (const MatrixBase< OtherDerived > &other) const |
|
Product< LhsNested, RhsNested, ProductMode > & | operator*= (const Scalar &other) |
| Product< LhsNested, RhsNested, ProductMode > & | operator*= (const MatrixBase< OtherDerived > &other) |
|
const CwiseBinaryOp < ei_scalar_sum_op< typename ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar >, Product < LhsNested, RhsNested, ProductMode >, OtherDerived > | operator+ (const MatrixBase< OtherDerived > &other) const |
| Product< LhsNested, RhsNested, ProductMode > & | operator+= (const MatrixBase< OtherDerived > &other) |
|
Product< LhsNested, RhsNested, ProductMode > & | operator+= (const Flagged< Product< Lhs, Rhs, CacheFriendlyProduct >, 0, EvalBeforeNestingBit|EvalBeforeAssigningBit > &other) |
| const CwiseUnaryOp < ei_scalar_opposite_op < typename ei_traits< Product < LhsNested, RhsNested, ProductMode > >::Scalar > , Product< LhsNested, RhsNested, ProductMode > > | operator- () const |
| const CwiseBinaryOp < ei_scalar_difference_op < typename ei_traits< Product < LhsNested, RhsNested, ProductMode > >::Scalar > , Product< LhsNested, RhsNested, ProductMode > , OtherDerived > | operator- (const MatrixBase< OtherDerived > &other) const |
| Product< LhsNested, RhsNested, ProductMode > & | operator-= (const MatrixBase< OtherDerived > &other) |
|
const CwiseUnaryOp < ei_scalar_quotient1_op < typename ei_traits< Product < LhsNested, RhsNested, ProductMode > >::Scalar > , Product< LhsNested, RhsNested, ProductMode > > | operator/ (const Scalar &scalar) const |
|
Product< LhsNested, RhsNested, ProductMode > & | operator/= (const Scalar &other) |
| CommaInitializer< Product < LhsNested, RhsNested, ProductMode > > | operator<< (const Scalar &s) |
| CommaInitializer< Product < LhsNested, RhsNested, ProductMode > > | operator<< (const MatrixBase< OtherDerived > &other) |
| Product< LhsNested, RhsNested, ProductMode > & | operator= (const MatrixBase< OtherDerived > &other) |
| Product< LhsNested, RhsNested, ProductMode > & | operator= (const MatrixBase &other) |
| bool | operator== (const MatrixBase< OtherDerived > &other) const |
| const Scalar | operator[] (int index) const |
| Scalar & | operator[] (int index) |
| RealScalar | operatorNorm () const |
| int | outerSize () const |
| PacketScalar | packet (int row, int col) const |
| PacketScalar | packet (int index) const |
| Part< Product< LhsNested, RhsNested, ProductMode >, Mode > | part () |
| const Part< Product< LhsNested, RhsNested, ProductMode >, Mode > | part () const |
| const QR< PlainMatrixType > | qr () const |
| const RealReturnType | real () const |
| ei_result_of< BinaryOp(typename ei_traits< Product< LhsNested, RhsNested, ProductMode > >::Scalar)>::type | redux (const BinaryOp &func) const |
| RowXpr | row (int i) |
| const RowXpr | row (int i) const |
| int | rows () const |
| const PartialRedux< Product < LhsNested, RhsNested, ProductMode >, Horizontal > | rowwise () const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::SubVectorType | segment (int start, int size) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode > >::SubVectorType | segment (int start, int size) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | segment (int start) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | segment (int start) const |
| const Select< Product < LhsNested, RhsNested, ProductMode >, ThenDerived, ElseDerived > | select (const MatrixBase< ThenDerived > &thenMatrix, const MatrixBase< ElseDerived > &elseMatrix) const |
| const Select< Product < LhsNested, RhsNested, ProductMode >, ThenDerived, NestByValue< typename ThenDerived::ConstantReturnType > > | select (const MatrixBase< ThenDerived > &thenMatrix, typename ThenDerived::Scalar elseScalar) const |
| const Select< Product < LhsNested, RhsNested, ProductMode >, NestByValue < typename ElseDerived::ConstantReturnType > , ElseDerived > | select (typename ElseDerived::Scalar thenScalar, const MatrixBase< ElseDerived > &elseMatrix) const |
| Product< LhsNested, RhsNested, ProductMode > & | setConstant (const Scalar &value) |
| Product< LhsNested, RhsNested, ProductMode > & | setIdentity () |
| Product< LhsNested, RhsNested, ProductMode > & | setOnes () |
| Product< LhsNested, RhsNested, ProductMode > & | setRandom () |
| Product< LhsNested, RhsNested, ProductMode > & | setZero () |
| 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 |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Dynamic > ::SubVectorType | start (int size) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Dynamic > ::SubVectorType | start (int size) const |
| BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | start (void) |
| const BlockReturnType< Product < LhsNested, RhsNested, ProductMode >, Size > ::SubVectorType | start () const |
| int | stride (void) const |
| Scalar | sum () const |
| SVD< PlainMatrixType > | svd () const |
| void | swap (const MatrixBase< OtherDerived > &other) |
| Scalar | trace () const |
| Eigen::Transpose< Product < LhsNested, RhsNested, ProductMode > > | transpose () |
| const Eigen::Transpose < Product< LhsNested, RhsNested, ProductMode > > | transpose () const |
| void | transposeInPlace () |
| const CwiseUnaryOp < CustomUnaryOp, Product < LhsNested, RhsNested, ProductMode > > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
| PlainMatrixType | unitOrthogonal (void) const |
| void | visit (Visitor &func) const |
| const Scalar | w () const |
| Scalar & | w () |
| void | writePacket (int row, int col, const PacketScalar &x) |
| void | writePacket (int index, const PacketScalar &x) |
| const Scalar | x () const |
| Scalar & | x () |
| const Scalar | y () const |
| Scalar & | y () |
| const Scalar | z () const |
| Scalar & | z () |
Protected Attributes | |
| const LhsNested | m_lhs |
| const RhsNested | m_rhs |
Additional Inherited Members | |
Static Public Member Functions inherited from MatrixBase< Product< LhsNested, RhsNested, ProductMode > > | |
| static const ConstantReturnType | Constant (int rows, int cols, const Scalar &value) |
| static const ConstantReturnType | Constant (int size, const Scalar &value) |
| static const ConstantReturnType | Constant (const Scalar &value) |
| static const IdentityReturnType | Identity () |
| static const IdentityReturnType | Identity (int rows, int cols) |
| static const CwiseNullaryOp < CustomNullaryOp, Product < LhsNested, RhsNested, ProductMode > > | NullaryExpr (int rows, int cols, const CustomNullaryOp &func) |
| static const CwiseNullaryOp < CustomNullaryOp, Product < LhsNested, RhsNested, ProductMode > > | NullaryExpr (int size, const CustomNullaryOp &func) |
| static const CwiseNullaryOp < CustomNullaryOp, Product < LhsNested, RhsNested, ProductMode > > | NullaryExpr (const CustomNullaryOp &func) |
| static const ConstantReturnType | Ones (int rows, int cols) |
| static const ConstantReturnType | Ones (int size) |
| static const ConstantReturnType | Ones () |
| static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Product< LhsNested, RhsNested, ProductMode > > | Random (int rows, int cols) |
| static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Product< LhsNested, RhsNested, ProductMode > > | Random (int size) |
| static const CwiseNullaryOp < ei_scalar_random_op< Scalar > , Product< LhsNested, RhsNested, ProductMode > > | Random () |
| static const BasisReturnType | Unit (int size, int i) |
| static const BasisReturnType | Unit (int i) |
| static const BasisReturnType | UnitW () |
| static const BasisReturnType | UnitX () |
| static const BasisReturnType | UnitY () |
| static const BasisReturnType | UnitZ () |
| static const ConstantReturnType | Zero (int rows, int cols) |
| static const ConstantReturnType | Zero (int size) |
| static const ConstantReturnType | Zero () |
Protected Member Functions inherited from MatrixBase< Product< LhsNested, RhsNested, ProductMode > > | |
| MatrixBase () | |
Expression of the product of two matrices.
| LhsNested | the type used to store the left-hand side |
| RhsNested | the type used to store the right-hand side |
| ProductMode | the type of the product |
This class represents an expression of the product of two matrices. It is the return type of the operator* between matrices. Its template arguments are determined automatically by ProductReturnType. Therefore, Product should never be used direclty. To determine the result type of a function which involves a matrix product, use ProductReturnType::Type.
1.8.6