So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
bogus::block_solvers_impl::DiagonalMatrixWrapper< Type, IsScalar > Struct Template Reference

Wrapper for the block-diagonal matrix of the ProductGaussSeidel solver. More...

#include <ProductGaussSeidelUtils.hpp>

Public Types

typedef Type Scalar
 

Public Member Functions

 DiagonalMatrixWrapper (const Scalar &s=1)
 
bool valid () const
 
Scalar get () const
 
const ConstantArray< Scalar > & asArray () const
 

Public Attributes

ConstantArray< Scalar > array
 

Detailed Description

template<typename Type, bool IsScalar>
struct bogus::block_solvers_impl::DiagonalMatrixWrapper< Type, IsScalar >

Wrapper for the block-diagonal matrix of the ProductGaussSeidel solver.

Specializations allows to:

  • Use a constant times the Identity matrix by default without requiring the user to call any function or specify template parameters
  • Specify a pointer to an arbitrary block-diagonal matrix when the second template parameter of ProductGaussSeidel is explicitely set, and precompute the indices of its diagonal blocks

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