Public Types | Public Member Functions | Protected Attributes
Product< LhsNested, RhsNested, ProductMode > Class Template Reference

Expression of the product of two matrices. More...

List of all members.

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
Scalar & coeffRef (int row, int col)
Scalar & coeffRef (int index)
ColXpr col (int i)
const ColXpr col (int i) 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 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
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 ()

Detailed Description

template<typename LhsNested, typename RhsNested, int ProductMode>
class Eigen::Product< LhsNested, RhsNested, ProductMode >

Expression of the product of two matrices.

Parameters:
LhsNestedthe type used to store the left-hand side
RhsNestedthe type used to store the right-hand side
ProductModethe 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.

See also:
ProductReturnType, MatrixBase::operator*(const MatrixBase<OtherDerived>&)

Member Function Documentation

int cols ( void  ) const
inline
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

int rows ( void  ) const
inline
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.


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