File: t_DistFunc_poisson.py

package info (click to toggle)
openturns 1.24-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 66,204 kB
  • sloc: cpp: 256,662; python: 63,381; ansic: 4,414; javascript: 406; sh: 180; xml: 164; yacc: 123; makefile: 98; lex: 55
file content (47 lines) | stat: -rwxr-xr-x 1,247 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /usr/bin/env python

import openturns as ot

ot.TESTPREAMBLE()

# Poisson related functions
# dPoisson
lambdaMin = 0.2
lambdaMax = 5.0
kMax = 10
n1 = 5
for i1 in range(n1):
    lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
    for k in range(kMax):
        print(
            "dPoisson(%.3g" % lambda_,
            ", ",
            k,
            ")=%.4g" % ot.DistFunc.dPoisson(lambda_, k),
        )
# dPoisson
for i1 in range(n1):
    lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
    for k in range(kMax):
        print(
            "logdPoisson(%.3g" % lambda_,
            ", ",
            k,
            ")=%.4g" % ot.DistFunc.logdPoisson(lambda_, k),
        )
# rPoisson
nR = 5
for i1 in range(n1):
    lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
    for iR in range(nR):
        print("rPoisson(%.3g" % lambda_, ")=", ot.DistFunc.rPoisson(lambda_))

# qPoisson
n2 = 20
for tail in [False, True]:
    for i1 in range(n1):
        lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
        for i2 in range(n2):
            p = i2 / n2
            q0 = ot.DistFunc.qPoisson(lambda_, p, tail)
            print(f"qPoisson(lambda={lambda_:.3g}, p={p:.3g}, tail={tail})={q0}")