|
(Event+Time).Variant Operators
2.3
Operators for Timed Discrete Event Systems in Dioids
|
Class for ultimately-periodic series in the semiring T[[g]]. More...
#include <seriesTg.h>
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< series > | getCore (unsigned ratio=1) const |
| etvo::matrix< series > | getCoreMax (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< series > | toImpulseResponse () 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< series > | getMatN (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 | |
Class for ultimately-periodic series in the semiring T[[g]].
| 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)
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
Initialization of a seriesTg from periodic p,q,r (right/left) form if right=true -> s=p+q.[r]* otherwise -> s=p+[r]*.q
| 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.
| 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.
| 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)
| 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)
| 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)
| 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)