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

Importance-sampling estimate of the normalizing constant of a closed two-station order-independent (OI) tandem. More...

#include <cstddef>
#include <vector>
#include "line/api/pfqn/pfqn_mc_common.h"
#include "line/api/pfqn/pfqn_pas_is.h"
#include "line/num/number.h"
#include "line/util/matrix.h"
Include dependency graph for pfqn_oi_is.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::pfqn

Functions

template<class T>
PasIsResult< T > line::pfqn::pfqn_oi_is (const std::vector< int > &N, const std::vector< OiRateFun< T > > &mu, std::size_t samples, McRng &rng, bool want_qlen=true)
 Importance-sampling estimate of the normalizing constant of a closed two-station order-independent (OI) tandem.
template<class T>
PasIsResult< T > line::pfqn::pfqn_oi_is (const std::vector< int > &N, const std::vector< OiRateFun< T > > &mu, McRng &rng, bool want_qlen=true)
 Reference default of 1e4 samples.

Detailed Description

Importance-sampling estimate of the normalizing constant of a closed two-station order-independent (OI) tandem.

Templated port of matlab/src/api/pfqn/pfqn_oi_is.m. That file is pfqn_pas_is.m with an EMPTY swap graph: the sampler places any present class (no placement constraint), so the communicating class is the full set of orderings and the estimand is the plain OI constant of pfqn_ncoi rather than a per-communicating-class one. The two MATLAB files carry the same estimator body verbatim, so this header delegates instead of duplicating it; pas_placement on an empty H returns the empty closure, which makes the placement test in pfqn_pas_is unconditionally true and reproduces pfqn_oi_is.m line for line.

There is no Java counterpart of pfqn_oi_is in jar/src/main/java/jline/api/ pfqn/nc/, so MATLAB is the only reference here.

Arithmetic: INEXACT BY CONSTRUCTION, gated on has_transcendental for the same reason as pfqn_pas_is (a random output, plus lG = log(G)).

RNG contract: see pfqn_mc_common.h. Comparable to MATLAB only in distribution, never stream for stream; reproducible within this port only when the generator is passed in the same state.

Definition in file pfqn_oi_is.h.