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

Class-dependent joint moments of a marked trace,. More...

#include <cstddef>
#include <vector>
#include "line/api/trace/trace_types.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for mtrace_joint.h:

Go to the source code of this file.

Classes

struct  line::trace::MtraceJointResult< T >
 Return value of mtrace_joint. More...

Namespaces

namespace  line
namespace  line::trace

Functions

template<class T>
MtraceJointResult< T > line::trace::mtrace_joint (const std::vector< T > &Tv, const std::vector< int > &A, unsigned i1, unsigned i2)
 Class-dependent joint moments of a marked trace, JM(a) = (1/N_a) sum_{j : A_{j+1} = a} T_j^{i1} T_{j+1}^{i2}, the empirical estimate of E[(X_j)^{i1} (X_{j+1})^{i2}] conditioned on the middle event being of class a; the sum runs over the interior events, so the first and last event of the trace are excluded.

Detailed Description

Class-dependent joint moments of a marked trace,.

JM(a) = (1/N_a) sum_{j : A_{j+1} = a} T_j^{i1} T_{j+1}^{i2},

the empirical estimate of E[(X_j)^{i1} (X_{j+1})^{i2}] conditioned on the middle event being of class a; the sum runs over the interior events, so the first and last event of the trace are excluded.

Templated port of matlab/lib/m3a/m3a/mtrace/mtrace_joint.m, cross-checked against jar/src/main/java/jline/api/trace/Mtrace_joint.java (identical, including the index range and the normalization by the interior class count).

Both references index classes by the RAW label 1..max(A) rather than by position in unique(A), so a label alphabet with gaps yields zero rows. That convention is preserved here: entry a-1 of the result refers to label a.

ARITHMETIC: sums of products of integer powers, exact in Rational.

Definition in file mtrace_joint.h.