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.

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
mcvariable-0.1.0.tar.gz 3.6 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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