LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
mmap_count_var.h File Reference

Per-class variance of the counting process of a marked MAP. More...

#include <cstddef>
#include <vector>
#include "line/api/mam/map_count_var.h"
#include "line/api/mam/map_moment.h"
#include "line/api/mam/mmap_lambda.h"
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/expm.h"
#include "line/util/linalg.h"
#include "line/util/matrix.h"
Include dependency graph for mmap_count_var.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
std::vector< T > line::mam::mmap_count_var (const Mmap< T > &mm, const T &t)
 Per-class variance of the counting process of a marked MAP.

Detailed Description

Per-class variance of the counting process of a marked MAP.

Templated port of matlab/lib/m3a/m3a/mmap/mmap_count_var.m. It is the He and Neuts variance of map_count_var applied class by class: for class k, with D = D0 + D1 the generator of the phase process (the AGGREGATE one, not the class-k one), theta its stationary vector and tmp = (e theta - D)^-1,

Var[N_k(t)] = (lambda_k - 2 lambda_k^2 + 2 theta Dk tmp Dk e) t

  • 2 theta Dk tmp (I - exp(D t)) tmp Dk e,

with lambda_k = theta Dk e. The phase process is shared across classes, so the exponential is computed once and reused for every class.

ARITHMETIC: transcendental, as map_count_var.

This function was previously out of reach of the port for want of expm only; the other MMAP counting descriptors (mmap_count_mean, mmap_count_lambda) are rational and are already in mmap_lambda.h.

Definition in file mmap_count_var.h.