proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode > Struct Template Reference

Representation for triangular block matrices. More...

#include <proxsuite-nlp/linalg/block-triangular.hpp>

Collaboration diagram for proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >:
[legend]

Public Types

enum  { Mode = _Mode , IsLower = (Mode & Eigen::Lower) == Eigen::Lower }
 
using MatrixType = _MatrixType
 
using MatrixTypeNested
 
using Scalar = typename MatrixType::Scalar
 

Public Member Functions

 TriangularBlockMatrix (MatrixType &mat, const SymbolicBlockMatrix &structure)
 
template<typename Derived , bool UseBlockGemmT = true>
bool solveInPlace (Eigen::MatrixBase< Derived > &bAndX) const
 Block-sparse variant of the TriangularViewType::solveInPlace() method on standard dense matrices.
 

Protected Attributes

MatrixTypeNested m_matrix
 
SymbolicBlockMatrix m_structure
 

Detailed Description

template<typename _MatrixType, int _Mode>
struct proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >

Representation for triangular block matrices.

Provides a convenience function for solving linear systems in-place.

Definition at line 22 of file block-triangular.hpp.

Member Typedef Documentation

◆ MatrixType

template<typename _MatrixType , int _Mode>
using proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::MatrixType = _MatrixType

Definition at line 25 of file block-triangular.hpp.

◆ MatrixTypeNested

template<typename _MatrixType , int _Mode>
using proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::MatrixTypeNested
Initial value:
typename Eigen::internal::ref_selector<MatrixType>::non_const_type

Definition at line 26 of file block-triangular.hpp.

◆ Scalar

template<typename _MatrixType , int _Mode>
using proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::Scalar = typename MatrixType::Scalar

Definition at line 28 of file block-triangular.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _MatrixType , int _Mode>
anonymous enum
Enumerator
Mode 
IsLower 

Definition at line 24 of file block-triangular.hpp.

Constructor & Destructor Documentation

◆ TriangularBlockMatrix()

template<typename _MatrixType , int _Mode>
proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::TriangularBlockMatrix ( MatrixType & mat,
const SymbolicBlockMatrix & structure )
inline

Definition at line 30 of file block-triangular.hpp.

Member Function Documentation

◆ solveInPlace()

template<typename _MatrixType , int _Mode>
template<typename Derived , bool UseBlockGemmT = true>
bool proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::solveInPlace ( Eigen::MatrixBase< Derived > & bAndX) const
inline

Block-sparse variant of the TriangularViewType::solveInPlace() method on standard dense matrices.

Definition at line 36 of file block-triangular.hpp.

Member Data Documentation

◆ m_matrix

template<typename _MatrixType , int _Mode>
MatrixTypeNested proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::m_matrix
protected

Definition at line 107 of file block-triangular.hpp.

◆ m_structure

template<typename _MatrixType , int _Mode>
SymbolicBlockMatrix proxsuite::nlp::linalg::TriangularBlockMatrix< _MatrixType, _Mode >::m_structure
protected

Definition at line 108 of file block-triangular.hpp.


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