(Event+Time).Variant Operators  2.3
Operators for Timed Discrete Event Systems in Dioids
etvo::seriesTg Class Reference

Class for ultimately-periodic series in the semiring T[[g]]. More...

#include <seriesTg.h>

Inheritance diagram for etvo::seriesTg:
etvo::ISterm

Public Member Functions

 seriesTg ()
 Default initialization : epsilon (p=eps q=eps r=g1.d0)
 
 seriesTg (bool TopNotE)
 
 seriesTg (const Tg &m)
 Initialization of a seriesTg from Tg term m (p=eps q=m r=g1.d0)
 
 seriesTg (const polyTg &q)
 Initialization of a seriesTg from polyTg term q (p=eps q=q r=g1.d0)
 
 seriesTg (const polyTg &p, const polyTg &q, long n, long t, bool right=true)
 
 seriesTg (const polyTg &p, const polyTg &q, const gd &r, bool right=1)
 
bool isRightForm () const
 check if the current series in Right form
 
bool isLeftForm () const
 check if the current series in Left form
 
bool isPolynomial () const
 check if it is a polynomial
 
bool isProper () const
 check if it is in proper form
 
bool isE () const
 check if it is a neutral seriesEd
 
void canon ()
 leads to the canonical left or right form (the simplest proper form)
 
void toRight ()
 to Right form
 
void toLeft ()
 to Left form
 
polyTg getP () const
 getter returning p
 
polyTg getQ () const
 getter returning q
 
gd getR () const
 getter returning r
 
std::string toString () const
 
std::string toStringAsDeltaVar () const
 
bool operator== (const seriesTg &s) const
 check equality
 
bool operator!= (const seriesTg &) const
 check difference
 
bool operator<= (const seriesTg &) const
 check order on series
 
bool operator>= (const seriesTg &) const
 check order on series
 
void getLcmGain (unsigned int &vee, unsigned int &wedge) const
 returns the Least Common multiple of gains in the terms of the current series
 
void getMaxGain (unsigned int &vee, unsigned int &wedge) const
 returns the Maximum of gains in the terms of the current series
 
std::pair< unsigned int, unsigned int > getMaxGain () const
 returns the gain as a pair (mu,beta)
 
seriesTg operator+ (const seriesTg &s) const
 sum of series in T[[g]] : s1+s2 (calls oplus)
 
seriesTg oplus (const seriesTg &s) const
 sum of series in T[[g]] : s1.oplus(s2)
 
seriesTg oplus (const polyTg &p) const
 sum of series and polynomial in T[[g]] : s1.oplus(p1)
 
seriesTg otimes (const seriesTg &s) const
 product of series in T[[g]] : s1.otimes(s2)
 
seriesTg operator* (const seriesTg &s) const
 product of series in T[[g]] : s1*s2
 
seriesTg operator* (const Tg &m) const
 product of a series by a monomial in T[[g]] : s1*m
 
seriesTg operator* (const polyTg &p) const
 product of a series by a polynomial in T[[g]] : s1*p
 
seriesTg otimes (const Tg &m) const
 product of a series by a monomial in T[[g]] : s1.otimes(m)
 
seriesTg otimes (const polyTg &p) const
 product of a series by a polynomial in T[[g]] : s1.otimes(p)
 
etvo::matrix< seriesgetCore (unsigned ratio=1) const
 
etvo::matrix< seriesgetCoreMax (unsigned ratio=1) const
 
seriesTg starCD () const
 
seriesTg star () const
 
seriesTg otimesCD (const seriesTg &s) const
 operations via Core Decomposition : otimes
 
seriesTg oplusCD (const seriesTg &s) const
 operations via Core Decomposition : oplus
 
seriesTg infCD (const seriesTg &s) const
 operations via Core Decomposition : inf
 
seriesTg inf (const seriesTg &s) const
 inf of series
 
seriesTg lfracCD (const seriesTg &s) const
 operations via Core Decomposition : lfrac
 
seriesTg rfracCD (const seriesTg &s) const
 operations via Core Decomposition : rfrac
 
seriesTg lfrac (const seriesTg &s) const
 left-product residuation : s1.lfrac(s2) = s2
 
seriesTg rfrac (const seriesTg &s) const
 right-product residuation : s1.rfrac(s2) = s1/s2
 
polyTg getPolyUpTo (int gammaN) const
 method to develop the first terms of p+q.[r]* or p+[r]*.q up to a given gammaN event value
 
std::vector< seriestoImpulseResponse () const
 returns the response to I,g1.I,g2.I ...
 
series toSeries () const
 projection seriesTg->series (zero slice)
 
- Public Member Functions inherited from etvo::ISterm
 ISterm (bool isEpsilon=false)
 default constructor : an epsilon term
 
 ISterm (int epsNTop)
 constructor to specify the type of ISterm
 
bool isEpsilon () const
 
bool isTop () const
 
bool isExtreme () const
 
void setEpsilon ()
 
void setTop ()
 
bool operator== (const ISterm &) const
 

Static Public Member Functions

static seriesTg Epsilon ()
 The epsilon description of seriesTg.
 
static seriesTg Top ()
 The Top description of seriesTg.
 
static seriesTg E ()
 The description of g0.d0 as seriesTg.
 
static polyTg getPolyUpTo (int gammaN, const polyTg &p, const polyTg &q, const gd &r, bool droite=true)
 static function to develop the first terms of p+q.[r]* or p+[r]*.q up to a given gammaN value
 
static seriesTg otimes (const Tg &m, const seriesTg &s)
 [STATIC] product of a monomial and a series in T[[g]] : seriesTg::otimes(m,s)
 
static seriesTg otimes (const polyTg &m, const seriesTg &s)
 [STATIC] product of a polynomial and a series in T[[g]] : seriesTg::otimes(p,s)
 
static seriesTg oplus (const polyTg &p, const seriesTg &s)
 [STATIC] sum of a polynomial and a series in T[[g]] : seriesTg::oplus(p,s)
 
static seriesTg toSeriesTg (const series &s)
 injection series(mmgd)->seriesEd
 
static etvo::matrix< seriesgetMatN (unsigned size)
 
static seriesTg coreToSeriesTg (const matrix< series > &C)
 [static] conversion CORE decomposition -> seriesEd
 
static seriesTg toCausal (const seriesTg &s)
 returns the projection of s into the set of causal series in T[[g]] (not reliable yet)
 

Additional Inherited Members

- Protected Attributes inherited from etvo::ISterm
char _epsNTop
 _epsNTop = -1 epsilon 0 not extrem (normal) +1 Top
 

Detailed Description

Class for ultimately-periodic series in the semiring T[[g]].

Author
BC LH JT LARIS
Version
2.0

Constructor & Destructor Documentation

◆ seriesTg() [1/3]

etvo::seriesTg::seriesTg ( bool  TopNotE)

Initialization as Top (true) OR E(false) Top (p=T q=T r=g1.d0) E (p=eps q=g0.d0 r=g1.d0)

◆ seriesTg() [2/3]

etvo::seriesTg::seriesTg ( const polyTg p,
const polyTg q,
long  n,
long  t,
bool  right = true 
)

Initialization of a seriesTg from periodic p,q,r (right/left) form if right=true -> s=p+q.[gn.dt]* otherwise -> s=p+[gn.dt]*.q

◆ seriesTg() [3/3]

etvo::seriesTg::seriesTg ( const polyTg p,
const polyTg q,
const gd r,
bool  right = 1 
)

Initialization of a seriesTg from periodic p,q,r (right/left) form if right=true -> s=p+q.[r]* otherwise -> s=p+[r]*.q

Member Function Documentation

◆ getCore()

etvo::matrix< series > etvo::seriesTg::getCore ( unsigned  ratio = 1) const

returns the Core matrix of the current series. A ratio!=1 allows us to expand the matrix to a multiple of the basic gain.

◆ getCoreMax()

etvo::matrix< series > etvo::seriesTg::getCoreMax ( unsigned  ratio = 1) const

returns the maximal Core matrix of the current series. A ratio!=1 allows us to expand the matrix to a multiple of the basic gain.

◆ star()

seriesTg etvo::seriesTg::star ( ) const

returns the Kleene star of a series in T[[g]]. Operates via a Core Decomposition of the series (see J.Trunk thesis) Throws an exception if the computation is not handled yet (degenerate case)

◆ starCD()

seriesTg etvo::seriesTg::starCD ( ) const

returns the Kleene star of a series in T[[g]]. Operates via a Core Decomposition of the series (see J.Trunk thesis)

◆ toString()

std::string etvo::seriesTg::toString ( ) const

returns the string description of a series in E[[d]]. This format is compatible with the parser of seriesEd (needs boost installation)

◆ toStringAsDeltaVar()

std::string etvo::seriesTg::toStringAsDeltaVar ( ) const

returns the string description of a series in E[[d]] with mu<seq> operators. This format is compatible with the parser of seriesEd (needs boost installation)


The documentation for this class was generated from the following files: