MonteCarlo Variable object
This python object is a Monte Carlo variable.
- It is initialized with a central value, uncertainty and (optionnaly) distribution law
- It stores a value according to this probability distirbution
- The value is returned when converted to
floatorint - The MC value is renewed only when calling
mcvariable.refresh() - The module also includes a generator function to geneate multiple outcome of the random variable.
MCVariable usage:
The object is initialized with
MCVariable(parameters: Sequence[Number],
law: Callable[..., Number],
keep_positive: bool = True,
non_zero: bool = True,
replace_zero_with: float = 1e-20)
With the parameters:
parameters: parameters of the probability law.
As a tuple or list of numbers/law: Distribution law of the random variable
As a callable taking*parametersas arguments
and returning a number/keep_positive(bool) = True : keep the value >=0non_zero(bool) = True : prevent the value to be exactly 0.0000replace_zero_with(float) = 1e-20 : if the previous parameters is True,
replace all 0 by this value.
To be used, it is recommended to convert explicitely the variable
as int or float:
mcv = mcvariable.MCVariable((0., 1.))
print(f"{int(mcv)}")
Default probability laws
The module includes two probability law by default:
mcvariable.law_gaussianwhich takes two parameters:(mean,stddev)mcvariable.law_flatwhic takes to parameters:(central,delta)(and retruns a value within the (central - delta, central + delta) range.
Generator
To obtain a series of realization of the random variable,
use the mcvariable.MCGenerator function that returns a generator.
mcvariable.MCGenerator(mcv: MCVariable,
nmax: Number = math.inf,
variable_type: type = float)
The parameters are :
mcvthe MCVariable instance to use to generate the valuesnmaxnumber of elements to return (by defaultl infinite)variable_type: the type of value to return (floatby default, can be changed toint).
Testing
The module comes with a test script test_mcvariable.py.
Authors
- Greg Henning - ghenning.at.iphc․cnrs․fr
License
This project is licensed under the CeCILL FREE SOFTWARE LICENSE AGREEMENT.
See LICENSE for more.
Release files for mcvariable 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcvariable-0.1.0.tar.gz | 3.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcvariable-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.4 kB
Release files / mcvariable-0.1.0.tar.gz
| Download URL | mcvariable-0.1.0.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d85c7089ce34f1c1c5338ff832e75f8d55815d88a3d5e42f1729feac45dc941f
|
|
BLAKE2b-256 checksum How to use checksums |
ec1efa6dcfa5e34c1d1c71169ea2815fe97fb9bb98bcf0d6e53a9437829aafbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.6.8
|
Release files / mcvariable-0.1.0-py3-none-any.whl
| Download URL | mcvariable-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13e58149abd303b70863f616c9f35e0897d4be8af3a828b0fceffd069c1f3a43
|
|
BLAKE2b-256 checksum How to use checksums |
b023894a1168ae68a15b7672304f8557aef8bac7ecbc1677ae32a716e5df8003
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.6.8
|