LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mam::ldqbd_censor_detail::Factor< T > Struct Template Reference

Block-tridiagonal LU of M = -Q_kk: S on the diagonal, G below, U above. More...

#include <line/api/mam/ldqbd_censor.h>

Collaboration diagram for line::mam::ldqbd_censor_detail::Factor< T >:

Public Member Functions

 Factor (const Matrix< T > &M, const std::vector< std::size_t > &P_, std::size_t set, bool last_singular)
std::size_t levels () const
Matrix< T > colsolve (const Matrix< T > &Y) const
 X = M^{-1} Y.
std::vector< T > rowsolve (const std::vector< T > &y) const
 x = y M^{-1}.

Public Attributes

std::vector< std::size_t > P
std::vector< std::size_t > off
std::vector< Matrix< T > > S
std::vector< Matrix< T > > Sinv
std::vector< Matrix< T > > G
std::vector< Matrix< T > > U

Detailed Description

template<class T>
struct line::mam::ldqbd_censor_detail::Factor< T >

Block-tridiagonal LU of M = -Q_kk: S on the diagonal, G below, U above.

Definition at line 110 of file ldqbd_censor.h.

Constructor & Destructor Documentation

◆ Factor()

template<class T>
line::mam::ldqbd_censor_detail::Factor< T >::Factor ( const Matrix< T > & M,
const std::vector< std::size_t > & P_,
std::size_t set,
bool last_singular )
inline

Member Function Documentation

◆ colsolve()

template<class T>
Matrix< T > line::mam::ldqbd_censor_detail::Factor< T >::colsolve ( const Matrix< T > & Y) const
inline

◆ levels()

template<class T>
std::size_t line::mam::ldqbd_censor_detail::Factor< T >::levels ( ) const
inline

Definition at line 137 of file ldqbd_censor.h.

References P.

Referenced by colsolve(), and rowsolve().

◆ rowsolve()

template<class T>
std::vector< T > line::mam::ldqbd_censor_detail::Factor< T >::rowsolve ( const std::vector< T > & y) const
inline

x = y M^{-1}.

Definition at line 166 of file ldqbd_censor.h.

References G, levels(), off, P, Sinv, U, line::vecmul(), and line::mam::ldqbd_censor_detail::zero().

Member Data Documentation

◆ G

template<class T>
std::vector<Matrix<T> > line::mam::ldqbd_censor_detail::Factor< T >::G

Definition at line 112 of file ldqbd_censor.h.

Referenced by colsolve(), Factor(), and rowsolve().

◆ off

template<class T>
std::vector<std::size_t> line::mam::ldqbd_censor_detail::Factor< T >::off

Definition at line 111 of file ldqbd_censor.h.

Referenced by colsolve(), Factor(), and rowsolve().

◆ P

template<class T>
std::vector<std::size_t> line::mam::ldqbd_censor_detail::Factor< T >::P

Definition at line 111 of file ldqbd_censor.h.

Referenced by colsolve(), Factor(), levels(), and rowsolve().

◆ S

template<class T>
std::vector<Matrix<T> > line::mam::ldqbd_censor_detail::Factor< T >::S

Definition at line 112 of file ldqbd_censor.h.

Referenced by Factor().

◆ Sinv

template<class T>
std::vector<Matrix<T> > line::mam::ldqbd_censor_detail::Factor< T >::Sinv

Definition at line 112 of file ldqbd_censor.h.

Referenced by colsolve(), Factor(), and rowsolve().

◆ U

template<class T>
std::vector<Matrix<T> > line::mam::ldqbd_censor_detail::Factor< T >::U

Definition at line 112 of file ldqbd_censor.h.

Referenced by colsolve(), Factor(), and rowsolve().


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