proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::linalg::backend Namespace Reference

Classes

struct  block_impl
 Implementation struct for the recursive block LDLT algorithm. More...
 
struct  block_triangular_subsolve_impl
 
struct  GemmT
 
struct  GemmT< Scalar, Dense, Dense >
 
struct  GemmT< Scalar, Dense, Diag >
 
struct  GemmT< Scalar, Dense, TriL >
 
struct  GemmT< Scalar, Dense, TriU >
 
struct  GemmT< Scalar, Diag, Dense >
 
struct  GemmT< Scalar, Diag, Diag >
 
struct  GemmT< Scalar, Diag, TriL >
 
struct  GemmT< Scalar, Diag, TriU >
 
struct  GemmT< Scalar, TriL, Dense >
 
struct  GemmT< Scalar, TriL, Diag >
 
struct  GemmT< Scalar, TriL, TriL >
 
struct  GemmT< Scalar, TriL, TriU >
 
struct  GemmT< Scalar, TriU, Dense >
 
struct  GemmT< Scalar, TriU, Diag >
 
struct  GemmT< Scalar, TriU, TriL >
 
struct  GemmT< Scalar, TriU, TriU >
 

Functions

template<typename Scalar >
void update_sign_matrix (SignMatrix &sign, const Scalar &akk)
 
template<typename Derived >
bool ldlt_in_place_unblocked (Eigen::MatrixBase< Derived > &a, SignMatrix &sign)
 
template<typename Derived >
bool dense_ldlt_in_place (Eigen::MatrixBase< Derived > &a, SignMatrix &sign)
 
template<typename MatDerived , typename Rhs >
bool dense_ldlt_solve_in_place (MatDerived &mat, Rhs &b)
 
template<typename Scalar >
void dense_ldlt_reconstruct (typename math_types< Scalar >::ConstMatrixRef const &mat, typename math_types< Scalar >::MatrixRef res)
 
template<typename Scalar , typename DstDerived , typename LhsDerived , typename RhsDerived >
void gemmt (Eigen::MatrixBase< DstDerived > &dst, Eigen::MatrixBase< LhsDerived > const &lhs, Eigen::MatrixBase< RhsDerived > const &rhs, BlockKind lhs_kind, BlockKind rhs_kind, Scalar alpha)
 

Variables

static constexpr isize UNBLK_THRESHOLD = 128
 

Function Documentation

◆ update_sign_matrix()

template<typename Scalar >
void proxsuite::nlp::linalg::backend::update_sign_matrix ( SignMatrix & sign,
const Scalar & akk )

Definition at line 19 of file dense.hpp.

◆ ldlt_in_place_unblocked()

template<typename Derived >
bool proxsuite::nlp::linalg::backend::ldlt_in_place_unblocked ( Eigen::MatrixBase< Derived > & a,
SignMatrix & sign )
inline

At the end of the execution,

Parameters
acontains the lower-triangular matrix \(L\) in the LDLT decomposition. More precisely: a stores L -sans its diagonal which is all ones. The diagonal of
acontains the diagonal matrix \(D\).

Definition at line 45 of file dense.hpp.

◆ dense_ldlt_in_place()

template<typename Derived >
bool proxsuite::nlp::linalg::backend::dense_ldlt_in_place ( Eigen::MatrixBase< Derived > & a,
SignMatrix & sign )
inline

A recursive, in-place implementation of the LDLT decomposition. To be applied to dense blocks.

Definition at line 94 of file dense.hpp.

◆ dense_ldlt_solve_in_place()

template<typename MatDerived , typename Rhs >
bool proxsuite::nlp::linalg::backend::dense_ldlt_solve_in_place ( MatDerived & mat,
Rhs & b )
inline

Taking the decomposed LDLT matrix

Parameters
mat,solvethe original linear system.

Definition at line 129 of file dense.hpp.

◆ dense_ldlt_reconstruct()

template<typename Scalar >
void proxsuite::nlp::linalg::backend::dense_ldlt_reconstruct ( typename math_types< Scalar >::ConstMatrixRef const & mat,
typename math_types< Scalar >::MatrixRef res )
inline

Definition at line 150 of file dense.hpp.

◆ gemmt()

template<typename Scalar , typename DstDerived , typename LhsDerived , typename RhsDerived >
void proxsuite::nlp::linalg::backend::gemmt ( Eigen::MatrixBase< DstDerived > & dst,
Eigen::MatrixBase< LhsDerived > const & lhs,
Eigen::MatrixBase< RhsDerived > const & rhs,
BlockKind lhs_kind,
BlockKind rhs_kind,
Scalar alpha )
inline

Definition at line 211 of file gemmt.hpp.

Variable Documentation

◆ UNBLK_THRESHOLD

isize proxsuite::nlp::linalg::backend::UNBLK_THRESHOLD = 128
staticconstexpr

Definition at line 89 of file dense.hpp.