LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mam::ldqbd_censor_detail Namespace Reference

Classes

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

Functions

template<class T>
T zero ()
template<class T>
double norm1 (const Matrix< T > &A)
template<class T>
Matrix< T > checked_inverse (const Matrix< T > &D, std::size_t level, std::size_t set)
 Inverse of a Schur complement, refusing a singular one.
template<class T>
Matrix< T > block (const Matrix< T > &M, std::size_t r0, std::size_t nr, std::size_t c0, std::size_t nc)
template<class T>
void check (const Matrix< T > &M, const std::vector< std::size_t > &P, std::size_t set)
 Throws LINE:unsupported:Structure if M is not block tridiagonal by level.

Function Documentation

◆ block()

template<class T>
Matrix< T > line::mam::ldqbd_censor_detail::block ( const Matrix< T > & M,
std::size_t r0,
std::size_t nr,
std::size_t c0,
std::size_t nc )

◆ check()

template<class T>
void line::mam::ldqbd_censor_detail::check ( const Matrix< T > & M,
const std::vector< std::size_t > & P,
std::size_t set )

Throws LINE:unsupported:Structure if M is not block tridiagonal by level.

Definition at line 190 of file ldqbd_censor.h.

References check(), line::Matrix< T >::cols(), line::Matrix< T >::rows(), line::UnsupportedError::UnsupportedError(), and zero().

Referenced by check().

◆ checked_inverse()

template<class T>
Matrix< T > line::mam::ldqbd_censor_detail::checked_inverse ( const Matrix< T > & D,
std::size_t level,
std::size_t set )

Inverse of a Schur complement, refusing a singular one.

Definition at line 84 of file ldqbd_censor.h.

References checked_inverse(), line::inverse(), norm1(), and line::NumericError::NumericError().

Referenced by checked_inverse(), and line::mam::ldqbd_censor_detail::Factor< T >::Factor().

◆ norm1()

template<class T>
double line::mam::ldqbd_censor_detail::norm1 ( const Matrix< T > & A)

Definition at line 72 of file ldqbd_censor.h.

References line::Matrix< T >::cols(), norm1(), line::num_abs(), and line::Matrix< T >::rows().

Referenced by checked_inverse(), and norm1().

◆ zero()

template<class T>
T line::mam::ldqbd_censor_detail::zero ( )