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

Functions

Matrix< double > sub (const Matrix< double > &A, std::size_t r0, std::size_t nr, std::size_t c0, std::size_t nc)
 A(r0:r0+nr, c0:c0+nc), half-open, 0-based.
void put (Matrix< double > &A, std::size_t r0, std::size_t c0, const Matrix< double > &S)
 A(r0:, c0:) = S.
Matrix< double > trans (const Matrix< double > &A)
Matrix< double > hjoin (const Matrix< double > &A, const Matrix< double > &B)
 [A B], horizontally.
Matrix< double > vjoin (const Matrix< double > &A, const Matrix< double > &B)
 [A; B], vertically.
std::vector< double > lsolve (const Matrix< double > &Z, const std::vector< double > &b)
 Z \ b for a square Z.
void qr_econ (const Matrix< double > &A, Matrix< double > &Q, Matrix< double > &R)
 Economy QR, A = Q R with Q (r x k) orthonormal columns and R (k x c), k = min(r, c), by Householder reflections.

Function Documentation

◆ hjoin()

Matrix< double > line::smc::mg1x_detail::hjoin ( const Matrix< double > & A,
const Matrix< double > & B )
inline

[A B], horizontally.

Definition at line 940 of file mg1.h.

References line::Matrix< T >::cols(), hjoin(), line::InputError::InputError(), put(), and line::Matrix< T >::rows().

Referenced by hjoin().

◆ lsolve()

std::vector< double > line::smc::mg1x_detail::lsolve ( const Matrix< double > & Z,
const std::vector< double > & b )
inline

Z \ b for a square Z.

Definition at line 958 of file mg1.h.

References lsolve(), and line::solve().

Referenced by lsolve(), line::smc::sylv_powers_direct(), and line::smc::sylv_powers_real_schur().

◆ put()

void line::smc::mg1x_detail::put ( Matrix< double > & A,
std::size_t r0,
std::size_t c0,
const Matrix< double > & S )
inline

◆ qr_econ()

void line::smc::mg1x_detail::qr_econ ( const Matrix< double > & A,
Matrix< double > & Q,
Matrix< double > & R )
inline

Economy QR, A = Q R with Q (r x k) orthonormal columns and R (k x c), k = min(r, c), by Householder reflections.

The sign convention differs from LAPACK's, which MG1_RR cannot see: its generators enter B only through a product invariant under an orthogonal change of basis.

Definition at line 967 of file mg1.h.

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

Referenced by qr_econ().

◆ sub()

Matrix< double > line::smc::mg1x_detail::sub ( const Matrix< double > & A,
std::size_t r0,
std::size_t nr,
std::size_t c0,
std::size_t nc )
inline

A(r0:r0+nr, c0:c0+nc), half-open, 0-based.

Definition at line 918 of file mg1.h.

References sub().

Referenced by line::smc::rr_detail::Disp::blk(), line::smc::rr_detail::Disp::left(), line::smc::rr_detail::Disp::right(), and sub().

◆ trans()

Matrix< double > line::smc::mg1x_detail::trans ( const Matrix< double > & A)
inline

◆ vjoin()

Matrix< double > line::smc::mg1x_detail::vjoin ( const Matrix< double > & A,
const Matrix< double > & B )
inline

[A; B], vertically.

Definition at line 949 of file mg1.h.

References line::Matrix< T >::cols(), line::InputError::InputError(), put(), line::Matrix< T >::rows(), and vjoin().

Referenced by vjoin().