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

Class for polynomials in the semiring T[[g]]. More...

#include <polyTg.h>

Inheritance diagram for etvo::polyTg:
etvo::ISterm

Public Member Functions

 polyTg ()
 initialised with Epsilon element
 
 polyTg (bool TopNotE)
 specific initialization : polyTg(true) set to Top, polyTg(false) set to E
 
 polyTg (const Tg &m)
 initialised with one monomial m
 
 polyTg (const std::vector< Tg > &v)
 
void canon ()
 set to the canonical form
 
bool isCanon () const
 Check if a polyTg is in canonical form.
 
bool isE () const
 check if is equal to E()=g0.d0
 
polyTg operator+ (const polyTg &p) const
 Sum of polynomials in T[[g]].
 
polyTg oplus (const polyTg &p) const
 Sum of polynomials in T[[g]].
 
polyTg oplusCD (const polyTg &p) const
 Sum of polynomials in T[[g]] via a Core Decomposition (see J.Trunk Thesis)
 
polyTg operator+ (const Tg &m) const
 Sum of a polynomial in T[[g]] with a monomial in T[[g]].
 
void add (const Tg &m)
 The current polynomial pcur is modified as pcur=pcur+m.
 
polyTg operator+= (const Tg &m)
 Lies on polyTg::add(const Tg & m) method.
 
polyTg operator* (const polyTg &p) const
 Product of polynomials in T[[g]].
 
polyTg otimes (const polyTg &p) const
 Product of polynomials in T[[g]].
 
polyTg operator* (const Tg &m) const
 Product of one polynomial by one monomial in T[[g]].
 
polyTg otimesCD (const polyTg &p) const
 Product of polynomials in T[[g]] via a Core Decomposition (see j.Trunk thesis)
 
polyTg inf (const polyTg &p) const
 Infimum of two polynomials in T[[g]].
 
polyTg infCD (const polyTg &p) const
 Infimum of two polynomials in T[[g]] via a Core Decomposition (see J.Trunk thesis)
 
seriesTg star () const
 Kleene star of a polynomial in T[[g]], the result is a series in T[[g]].
 
polyTg lfrac (const polyTg &p) const
 Computation of the left-multiplication residuation:
 
polyTg lfracCD (const polyTg &p) const
 Computation of the left-multiplication residuation via a Core Decomposition.
 
polyTg lfrac (const Tg &m) const
 Computation of the left-multiplication residuation:
 
polyTg rfrac (const polyTg &p) const
 Computation of the right-multiplication residuation:
 
polyTg rfracCD (const polyTg &p) const
 Computation of the right-multiplication residuation via a Core Decomposition.
 
polyTg rfrac (const Tg &m) const
 Computation of the right-multiplication residuation:
 
bool operator== (const polyTg &) const
 Check equality.
 
bool operator!= (const polyTg &) const
 Check difference.
 
bool operator<= (const polyTg &) const
 Check order on polynomials in E[[d]].
 
bool operator>= (const polyTg &) const
 Check order on polynomials in E[[d]].
 
poly toPoly () const
 The zero-slice polynomial in MinMax[[g,d]].
 
Tg getFirstDif (const polyTg &p) const
 
polyTg transientStar (int Tmax) const
 Do not use it. Use polyTg::star(). Only for DEBUGGING purpose.
 
void getMaxGain (unsigned int &vee, unsigned int &wedge) const
 Gives the maximal gain.
 
void getLcmGain (unsigned int &vee, unsigned int &wedge) const
 Gives th Least Common multiple of gains.
 
std::pair< unsigned int, unsigned int > getPeriodicity () const
 Returns the periodicity as a pair.
 
std::vector< TggetTerms () const
 return the monomials as a collection of Tg terms
 
void removeTerm (unsigned idx)
 remove term number i in the polynomial
 
Tg operator[] (unsigned idx) const
 Returns a copy of monomial in position idx in the polynomial.
 
unsigned int size () const
 Returns the size = the number of monomials. For Epsilon and Top, size=0.
 
std::string toString () const
 returns a string that gives the description of the current polynomial. Is depending on the canonical form of dDd terms
 
std::string toStringAsDeltaVar () const
 returns a description of the current polynomial (the gain must be 1)
 
matrix< polygetCore (unsigned ratio=1) const
 returns the Core matrix<poly> (in MinMax[[g,d]]) of the current polynomial
 
matrix< polygetCoreMax (unsigned ratio=1) const
 returns the maximal Core matrix<poly> (in MinMax[[g,d]]) of the current polynomial
 
void toPov (graphicPR::PovRay &pov, graphicPR::PovRay::Color c)
 used in the creation of POV-Ray script for a polyTg object
 
- 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 polyTg Epsilon ()
 Epsilon element.
 
static polyTg Top ()
 Top element.
 
static polyTg E ()
 neutral element
 
static polyTg otimes (const Tg &m, const polyTg &p)
 
static polyTg toPolyTg (const poly &p)
 Creates a polynomial in T[[g]] from a polynomial in MinMax[[g,d]].
 
static polyTg toCausal (const polyTg &p)
 returns the projection of p into the set of causal series in T[[g]] (not reliable yet)
 
static polyTg coreToPolyTg (const matrix< poly > &core)
 computes the recomposition of a polyTg polynomial from a Core Decomposition core.
 
static etvo::matrix< polygetMatN (unsigned size)
 

Additional Inherited Members

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

Detailed Description

Class for polynomials in the semiring T[[g]].

epsilon and top element exist.

Author
BC LH JT LARIS
Version
2.0

Constructor & Destructor Documentation

◆ polyTg()

etvo::polyTg::polyTg ( const std::vector< Tg > &  v)

initialization to a polynomial created from a collection of Tg terms w.g^n. The initialization leads to a canonical form where Tg terms are sorted

Member Function Documentation

◆ getFirstDif()

Tg etvo::polyTg::getFirstDif ( const polyTg p) const

When the current polynomial is different from p, gives the first different monomial Otherwise, if both polynomials are equals, returns Tg::E()=g0.d0


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