Random Variables
aGrUM/pyAgrum is currently dedicated for discrete probability distributions.
There are 5 types of discrete random variables in aGrUM/pyAgrum: pyAgrum.LabelizedVariable
, pyAgrum.DiscretizedVariable
, pyAgrum.IntegerVariable
, pyAgrum.RangeVariable
and pyAgrum.NumericalDiscreteVariable
. The 5 types are mainly provided in order to ease modelization. Derived from DiscreteVariable, they share a common API. They essentially differ by the means to create, name and access to their modalities.
The function :method:`pyAgrum.fastVariable` allows to easily create variables of any types with the fast syntax.
Common API for Random Discrete Variables
- class pyAgrum.DiscreteVariable(*args, **kwargs)
DiscreteVariable is the (abstract) base class for discrete random variables.
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(x)
- closestIndex(x)
- closestLabel(x)
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- index(label)
- Parameters:
label (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- isEmpirical()
- isLabel(s)
- isTick(x)
- isValue(x)
- label(i)
- Parameters:
i (int) – the index of the label we wish to return
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- minVal()
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(indice)
- Parameters:
indice (int) – an index
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- posLabel(s)
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(x)
- ticks()
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int
Concrete classes for Random Discrete Variables
LabelizedVariable
- class pyAgrum.LabelizedVariable(*args)
LabelizedVariable is a discrete random variable with a customizable sequence of labels.
- LabelizedVariable(aName, aDesc=’’, nbrLabel=2) -> LabelizedVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the (optional) description of the variable
nbrLabel (int) – the number of labels to create (2 by default)
- LabelizedVariable(aName, aDesc=’’, labels) -> LabelizedVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the (optional) description of the variable
labels (List[str]) – the labels to create
- LabelizedVariable(aLDRV) -> LabelizedVariable
- Parameters:
aLDRV (pyAgrum.LabelizedVariable) – The pyAgrum.LabelizedVariable that will be copied
Examples
>>> import pyAgrum as gum >>> # creating a variable with 3 labels : '0', '1' and '2' >>> va=gum.LabelizedVariable('a','a labelized variable',3) >>> print(va) a:Labelized(<0,1,2>) >>> va.addLabel('foo') ("pyAgrum.LabelizedVariable"@0x7fc4c840dd90) a:Labelized(<0,1,2,foo>) >>> va.changeLabel(1,'bar') >>> print(va) a:Labelized(<0,bar,2,foo>) >>> vb=gum.LabelizedVariable('b','b',0).addLabel('A').addLabel('B').addLabel('C') >>> print(vb) b:Labelized(<A,B,C>) >>> vb.labels() ('A', 'B', 'C') >>> vb.isLabel('E') False >>> vb.label(2) 'C' >>> vc=gum.LabelizedVariable('b','b',['one','two','three']) >>> vc ("pyAgrum.LabelizedVariable"@0x7fc4c840c130) b:Labelized(<one,two,three>)
- addLabel(*args)
Add a label with a new index (we assume that we will NEVER remove a label).
- Parameters:
aLabel (str) – the label to be added to the labelized variable
- Returns:
the labelized variable
- Return type:
- Raises:
pyAgrum.DuplicateElement – If the variable already contains the label
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(x)
- changeLabel(pos, aLabel)
Change the label at the specified index
- Parameters:
pos (int) – the index of the label to be changed
aLabel (str) – the label to be added to the labelized variable
- Raises:
pyAgrum.DuplicateElement – If the variable already contains the new label
pyAgrum.OutOfBounds – If the index is greater than the size of the variable
- Return type:
None
- closestIndex(x)
- closestLabel(x)
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable as a string
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- eraseLabels()
Erase all the labels from the variable.
- Return type:
None
- index(label)
- Parameters:
label (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- isEmpirical()
- isLabel(aLabel)
Indicates whether the variable already has the label passed in argument
- Parameters:
aLabel (str) – the label to be tested
- Returns:
True if the label already exists
- Return type:
bool
- isTick(x)
- isValue(x)
- label(i)
- Parameters:
i (int) – the index of the label we wish to return
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- minVal()
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(index)
- Parameters:
indice (int) – an index
index (
int
) –
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- posLabel(label)
- Parameters:
label (
str
) –- Return type:
int
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(x)
- ticks()
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int
DiscretizedVariable
- class pyAgrum.DiscretizedVariable(*args)
DiscretizedVariable is a discrete random variable with a set of
ticks
defining intervals.- DiscretizedVariable(aName, aDesc ,ticks=None,is_empirical=False) -> DiscretizedVariable`
- DiscretizedVariable(aDDRV) -> DiscretizedVariable
- Parameters:
aDDRV (pyAgrum.DiscretizedVariable) – the pyAgrum.DiscretizedVariable that will be copied
Examples
>>> import pyAgrum as gum >>> vX=gum.DiscretizedVariable('X','X has been discretized').addTick(1).addTick(2).addTick(3).addTick(3.1415) >>> print(vX) X:Discretized(<[1;2[,[2;3[,[3;3.1415]>) >>> vX.isTick(4) False >>> vX.labels() ('[1;2[', '[2;3[', '[3;3.1415]') >>> # where is the real value 2.5 ? >>> vX.index('2.5') 1
- addTick(*args)
- Parameters:
aTick (float) – the Tick to be added
- Returns:
the discretized variable
- Return type:
- Raises:
pyAgrum.DefaultInLabel – If the tick is already defined
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(x)
- closestIndex(x)
- closestLabel(x)
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable as a string
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- eraseTicks()
erase all the Ticks
- Return type:
None
- index(label)
- Parameters:
label (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- isEmpirical()
- Return type:
bool
- isLabel(s)
- isTick(aTick)
- Parameters:
aTick (float) – the Tick to be tested
- Returns:
True if the Tick already exists
- Return type:
bool
- isValue(x)
- label(i)
- Parameters:
i (int) – the index of the label we wish to return
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- minVal()
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(indice)
- Parameters:
indice (int) – an index
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- posLabel(s)
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setEmpirical(state)
- Parameters:
state (
bool
) –- Return type:
None
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(i)
Indicate the index of the Tick
- Parameters:
i (int) – the index of the Tick
- Returns:
aTick – the index-th Tick
- Return type:
float
- Raises:
pyAgrum.NotFound – If the index is greater than the number of Ticks
- ticks()
- Returns:
a tuple containing all the Ticks
- Return type:
tuple
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int
IntegerVariable
- class pyAgrum.IntegerVariable(*args)
IntegerVariable is a discrete random variable with a customizable sequence of int.
- IntegerVariable(aName, aDesc=’’, values=None) -> IntegerVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the (optional) description of the variable
values (List[int]) – the values to create
- IntegerVariable(aIDRV) -> IntegerVariable
- Parameters:
aIDRV (pyAgrum.IntegerVariable) – The pyAgrum.IntegerVariable that will be copied
Examples
>>> import pyAgrum as gum >>> # creating a variable with 3 values : 1,34,142 >>> va=gum.IntegerVariable('a','a integer variable',[1,34,142]) >>> print(va) a:Integer(<1,34,142>) >>> va.addValue(25) (pyAgrum.IntegerVariable@000001E4F5D07490) a:Integer(<1,25,34,142>) >>> va.changeValue(34,43) >>> print(va) a:Integer(<1,25,43,142>) >>> vb=gum.IntegerVariable('b','b').addValue(34).addValue(142).addValue(1) >>> print(vb) b:Integer(<1,34,142>) >>> vb.labels() ('1', '34', '142')
- addValue(*args)
Add a value to the list of values for the variable.
- Parameters:
value (int) – the new value
- Returns:
the Integer variable
- Return type:
- Raises:
pyAgrum.DuplicateElement – If the variable already contains the value
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(x)
- changeValue(old_value, new_value)
- Parameters:
old_value (int) – the value to be changed
new_value (int) – the new value
- Return type:
None
- closestIndex(x)
- closestLabel(x)
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- eraseValue(value)
- Parameters:
value (int) – the value to erase. If the value is not in the domain, the function does nothing (no exception raised)
- Return type:
None
- eraseValues()
Remove all the domain.
- Return type:
None
- index(label)
- Parameters:
label (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- Returns:
the list of integer values that form the domain of this variable
- Return type:
list[int]
- isEmpirical()
- isLabel(s)
- isTick(x)
- isValue(value)
- Parameters:
value (int) – the value to look at.
- Returns:
True if the value is in the domain.
- Return type:
bool
- label(index)
- Parameters:
i (int) – the index of the label we wish to return
index (
int
) –
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- minVal()
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(index)
- Parameters:
indice (int) – an index
index (
int
) –
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- posLabel(s)
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(x)
- ticks()
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int
RangeVariable
- class pyAgrum.RangeVariable(*args)
RangeVariable represents a variable with a range of integers as domain.
- RangeVariable(aName, aDesc,minVal, maxVal) -> RangeVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the description of the variable
minVal (int) – the minimal integer of the interval
maxVal (int) – the maximal integer of the interval
- RangeVariable(aName, aDesc=’’) -> RangeVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the description of the variable
By default
minVal=0
andmaxVal=1
- RangeVariable(aRV) -> RangeVariable
- Parameters:
aDV (RangeVariable) – the pyAgrum.RangeVariable that will be copied
Examples
>>> import pyAgrum as gum >>> vI=gum.RangeVariable('I','I in [4,10]',4,10) >>> print(vI) I:Range([4,10]) >>> vI.maxVal() 10 >>> vI.belongs(1) False >>> # where is the value 5 ? >>> vI.index('5') 1 >>> vI.labels() ('4', '5', '6', '7', '8', '9', '10')
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(val)
- Parameters:
val (int) – the value to be tested
- Returns:
True if the value in parameters belongs to the variable’s interval.
- Return type:
bool
- closestIndex(x)
- closestLabel(x)
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- index(arg2)
- Parameters:
arg2 (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- isEmpirical()
- isLabel(s)
- isTick(x)
- isValue(x)
- label(index)
- Parameters:
indice (int) – the index of the label we wish to return
index (
int
) –
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- Returns:
the upper bound of the variable.
- Return type:
int
- minVal()
- Returns:
the lower bound of the variable
- Return type:
int
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(index)
- Parameters:
indice (int) – an index
index (
int
) –
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- posLabel(s)
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setMaxVal(maxVal)
Set a new value of the upper bound
- Parameters:
maxVal (int) – The new value of the upper bound
- Return type:
None
Warning
An error should be raised if the value is lower than the lower bound.
- setMinVal(minVal)
Set a new value of the lower bound
- Parameters:
minVal (int) – The new value of the lower bound
- Return type:
None
Warning
An error should be raised if the value is higher than the upper bound.
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(x)
- ticks()
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int
NumericalDiscreteVariable
- class pyAgrum.NumericalDiscreteVariable(*args)
NumericalDiscreteVariable is a discrete random variable with a customizable sequence of float.
- NumericalDiscreteVariable(aName, aDesc=’’, values=None) -> NumericalDiscreteVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the (optional) description of the variable
values (List[float]) – the values to create equivalent to fast syntax {v1|v2|v3|…|vn}
- NumericalDiscreteVariable(aName, aDesc=’’, first, last, nbr) -> NumericalDiscreteVariable
- Parameters:
aName (str) – the name of the variable
aDesc (str) – the (optional) description of the variable
first (float) – specify a list of floats from first to last in nbr steps.
last (float) –
nbr (int) – equivalent to fast syntax {first:last:nbr}
- NumericalDiscreteVariable(aNDRV) -> NumericalDiscreteVariable
- Parameters:
aNDRV (pyAgrum.NumericalDiscreteVariable) – The pyAgrum.NumericalDiscreteVariable that will be copied
Examples
>>> import pyAgrum as gum >>> # creating a variable with 3 values : 1.5,3.14,1.42 >>> va=gum.NumericalDiscreteVariable('a','a numerica variable',[1.5,3.14,1.42]) >>> print(va) a:NumericalDiscrete({1.42|1.5|3.14}) >>> va.addValue(2.01) (pyAgrum.NumericalDiscreteVariable@0x55ea157b8d60) a:NumericalDiscrete({1.42|1.5|2.01|3.14}) >>> va.changeValue(3.14,3.1415) >>> print(va) a:NumericalDiscrete({1.42|1.5|2.01|3.1415}) >>> vb=gum.NumericalDiscreteVariable('b','b').addValue(3.14).addValue(1.42).addValue(1.5) >>> print(vb) b:NumericalDiscrete({1.42|1.5|3.14}) >>> vb.labels() ('1.42', '1.5', '3.14') >>>> vc=gum.NumericalDiscreteVariable('c','c',1.2,3.8,5) >>> print(vc) c:NumericalDiscrete({1.2|1.85|2.5|3.15|3.8})
- addValue(*args)
Add a value to the list of values for the variable.
- Parameters:
value (float) – the new value
- Returns:
the Integer variable
- Return type:
- Raises:
pyAgrum.DuplicateElement – If the variable already contains the value
- asDiscretizedVar()
Tries to cast the variable as a gum.DiscretizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.DiscretizedVar
- Return type:
gum.DiscretizedVar
- asIntegerVar()
Tries to cast the variable as a gum.IntegerVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.IntegerVar
- Return type:
gum.IntegerVar
- asLabelizedVar()
Tries to cast the variable as a gum.LabelizedVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.LabelizedVar
- Return type:
gum.LabelizedVar
- asNumericalDiscreteVar()
Tries to cast the variable as a gum.NumericalDiscreteVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.NumericalDiscreteVar
- Return type:
gum.NumericalDiscreteVar
- asRangeVar()
Tries to cast the variable as a gum.RangeVar.
- Raises:
gum.OperationNotAllowed if this is not possible –
- Returns:
the variable as a gum.RangeVar
- Return type:
gum.RangeVar
- belongs(x)
- changeValue(old_value, new_value)
- Parameters:
old_value (int) – the value to be changed
new_value (int) – the new value
- Return type:
None
- closestIndex(val)
- Parameters:
val (
float
) –- Return type:
int
- closestLabel(val)
- Parameters:
val (
float
) –- Return type:
str
- description()
- Returns:
the description of the variable
- Return type:
str
- domain()
- Returns:
the domain of the variable
- Return type:
str
- domainSize()
- Returns:
the number of modalities in the variable domain
- Return type:
int
- empty()
- Returns:
True if the domain size < 2
- Return type:
bool
- eraseValue(value)
- Parameters:
value (int) – the value to erase. If the value is not in the domain, the function does nothing (no exception raised)
- Return type:
None
- eraseValues()
Remove all the domain.
- Return type:
None
- index(label)
- Parameters:
label (str) – a label
- Returns:
the indice of the label
- Return type:
int
- integerDomain()
- isEmpirical()
- isLabel(s)
- isTick(x)
- isValue(value)
- Parameters:
value (int) – the value to look at.
- Returns:
True if the value is in the domain.
- Return type:
bool
- label(index)
- Parameters:
i (int) – the index of the label we wish to return
index (
int
) –
- Returns:
the indice-th label
- Return type:
str
- Raises:
pyAgrum.OutOfBounds – If the variable does not contain the label
- labels()
- Returns:
a tuple containing the labels
- Return type:
tuple
- maxVal()
- minVal()
- name()
- Returns:
the name of the variable
- Return type:
str
- numerical(index)
- Parameters:
indice (int) – an index
index (
int
) –
- Returns:
the numerical representation of the indice-th value
- Return type:
float
- numericalDomain()
- Returns:
the list of float values that form the domain of this variable
- Return type:
list[float]
- posLabel(s)
- setDescription(theValue)
set the description of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- setName(theValue)
sets the name of the variable.
- Parameters:
theValue (str) – the new description of the variable
- Return type:
None
- stype()
- Returns:
a description of its type
- Return type:
str
- tick(x)
- ticks()
- toDiscretizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toFast()
- Return type:
str
- toIntegerVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toLabelizedVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toNumericalDiscreteVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toRangeVar()
Deprecated method in gum.DiscreteVariable for pyAgrum>1.5.2
- toStringWithDescription()
- Returns:
a description of the variable
- Return type:
str
- varType()
returns the type of variable
- Returns:
the type of the variable.
0: DiscretizedVariable, 1: LabelizedVariable, 2: IntegerVariable, 3: RangeVariable, 4:
- Return type:
int