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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| mcvariable-0.1.0.tar.gz | 3.6 kB | Without provenance | Details for mcvariable-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mcvariable-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for mcvariable-0.1.0-py3-none-any.whl |
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
|
Security for mcvariable 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.