gtsam  3.2.0
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gtsam::SymmetricBlockMatrixBlockExpr< SymmetricBlockMatrixType > Class Template Reference

Detailed Description

template<typename SymmetricBlockMatrixType>
class gtsam::SymmetricBlockMatrixBlockExpr< SymmetricBlockMatrixType >

A matrix expression that references a single block of a SymmetricBlockMatrix.

Depending on the position of the block, this expression will behave either as a regular matrix block, a transposed matrix block, or a symmetric matrix block. The only reason this class is templated on SymmetricBlockMatrixType is to allow for both const and non-const references.

+ Inheritance diagram for gtsam::SymmetricBlockMatrixBlockExpr< SymmetricBlockMatrixType >:

Public Member Functions

 SymmetricBlockMatrixBlockExpr (SymmetricBlockMatrixType &blockMatrix, Index iBlock, Index jBlock)
 Create a SymmetricBlockMatrixBlockExpr from the specified block of a SymmetricBlockMatrix.
 
 SymmetricBlockMatrixBlockExpr (SymmetricBlockMatrixType &blockMatrix, Index firstRowBlock, Index firstColBlock, Index rowBlocks, Index colBlocks)
 Create a SymmetricBlockMatrixBlockExpr from the specified range of blocks of a SymmetricBlockMatrix. More...
 
 SymmetricBlockMatrixBlockExpr (SymmetricBlockMatrixType &blockMatrix, Index firstBlock, Index blocks, char dummy)
 Create a SymmetricBlockMatrixBlockExpr from the specified range of blocks of a SymmetricBlockMatrix. More...
 
Index rows () const
 
Index cols () const
 
BlockType blockType () const
 
ScalarRef operator() (Index row, Index col) const
 
OffDiagonal knownOffDiagonal () const
 
SelfAdjointView selfadjointView () const
 
TriangularView triangularView () const
 
template<typename Dest >
void evalTo (Dest &dst) const
 
template<typename RhsDerived >
Thisoperator= (const Eigen::MatrixBase< RhsDerived > &rhs)
 
template<typename MatrixType >
Thisoperator= (const Eigen::SelfAdjointView< MatrixType, Eigen::Upper > &rhs)
 
template<typename OtherSymmetricBlockMatrixType >
Thisoperator= (const SymmetricBlockMatrixBlockExpr< OtherSymmetricBlockMatrixType > &other)
 
Thisoperator= (const This &other)
 
template<typename OtherSymmetricBlockMatrixType >
Thisoperator+= (const SymmetricBlockMatrixBlockExpr< OtherSymmetricBlockMatrixType > &other)
 

Static Public Attributes

static const Index ColsAtCompileTime = Eigen::Dynamic
 
static const Index RowsAtCompileTime = Eigen::Dynamic
 

Public Types

typedef const_selector
< SymmetricBlockMatrixType,
SymmetricBlockMatrix, typename
Eigen::internal::traits< This >
::Scalar &, typename
Eigen::internal::traits< This >
::Scalar >::type 
ScalarRef
 
typedef
Eigen::internal::traits< This >
::Scalar 
Scalar
 
typedef
Eigen::internal::traits< This >
::Index 
Index
 
typedef const_selector
< SymmetricBlockMatrixType,
SymmetricBlockMatrix, Matrix,
const Matrix >::type 
DenseMatrixType
 
typedef Eigen::Map
< DenseMatrixType,
0, Eigen::Stride
< Eigen::Dynamic,
Eigen::Dynamic > > 
OffDiagonal
 
typedef Eigen::SelfAdjointView
< Eigen::Block
< DenseMatrixType >
, Eigen::Upper > 
SelfAdjointView
 
typedef Eigen::TriangularView
< Eigen::Block
< DenseMatrixType >
, Eigen::Upper > 
TriangularView
 

Protected Types

enum  BlockType { Plain, SelfAdjoint, Transposed }
 
typedef
SymmetricBlockMatrixBlockExpr
< SymmetricBlockMatrixType > 
This
 

Protected Attributes

SymmetricBlockMatrixType & xpr_
 The referenced SymmetricBlockMatrix.
 
DenseIndex densei_
 The scalar indices of the referenced block.
 
DenseIndex densej_
 The scalar indices of the referenced block.
 
DenseIndex denseRows_
 The scalar size of the referenced block.
 
DenseIndex denseCols_
 The scalar size of the referenced block.
 
enum
gtsam::SymmetricBlockMatrixBlockExpr::BlockType 
blockType_
 The type of the referenced block, as determined by the block position.
 
Eigen::Block< DenseMatrixType > myBlock_
 

Friends

template<typename OtherSymmetricBlockMatrixType >
class SymmetricBlockMatrixBlockExpr
 

Constructor & Destructor Documentation

template<typename SymmetricBlockMatrixType >
gtsam::SymmetricBlockMatrixBlockExpr< SymmetricBlockMatrixType >::SymmetricBlockMatrixBlockExpr ( SymmetricBlockMatrixType &  blockMatrix,
Index  firstRowBlock,
Index  firstColBlock,
Index  rowBlocks,
Index  colBlocks 
)
inline

Create a SymmetricBlockMatrixBlockExpr from the specified range of blocks of a SymmetricBlockMatrix.

template<typename SymmetricBlockMatrixType >
gtsam::SymmetricBlockMatrixBlockExpr< SymmetricBlockMatrixType >::SymmetricBlockMatrixBlockExpr ( SymmetricBlockMatrixType &  blockMatrix,
Index  firstBlock,
Index  blocks,
char  dummy 
)
inline

Create a SymmetricBlockMatrixBlockExpr from the specified range of blocks of a SymmetricBlockMatrix.


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