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

Convolution of a sequence of matrix-exponential laws. More...

#include <cstddef>
#include <vector>
#include "line/api/mam/aph_simplify.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for aph_convseq.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
AphPair< T > line::mam::aph_convseq (const std::vector< AphPair< T > > &seq)
 Convolve the sequence, i.e.

Detailed Description

Convolution of a sequence of matrix-exponential laws.

Port of matlab/lib/kpctoolbox/aph/aph_convseq.m: fold aph_simplify with the sequence pattern over the list, left to right. The reference takes a flat cell array of alternating alpha and T entries and special-cases a list of one pair by returning it unchanged; here the list is a vector of pairs, so the one-element case falls out of the fold and needs no arm of its own.

The composite order is the SUM of the orders, so a long activity sequence of high-order fits produces a large generator. That is the reference's cost too – neither it nor this reduces the representation – and it is why the LN caller fits each term to a low-order APH before convolving.

Definition in file aph_convseq.h.