Skip to main content

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 float or int
  • 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 *parameters as arguments
    and returning a number/
  • keep_positive (bool) = True : keep the value >=0
  • non_zero (bool) = True : prevent the value to be exactly 0.0000
  • replace_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_gaussian which takes two parameters: (mean, stddev)
  • mcvariable.law_flat whic 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 :

  • mcv the MCVariable instance to use to generate the values
  • nmax number of elements to return (by defaultl infinite)
  • variable_type: the type of value to return (float by default, can be changed to int).

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)

Source distribution for mcvariable 0.1.0
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)

Table of built distributions (wheels) for mcvariable 0.1.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page