/
test_chain.py
34 lines (23 loc) · 874 Bytes
/
test_chain.py
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
import numpy
from uncertainties import chain
def test_runthrough():
chain1 = numpy.random.normal(size=100)
x = 14 * numpy.sin(chain1 / 100 + 2)
print "mean ", chain.mean(x)
print "std ", chain.std(x)
print "median ", chain.median(x)
print "quantiles", chain.quantiles(x, [0.25, 0.5, 0.75])
c = chain.Chain(x)
assert len(c.percentiles) == 101
print "string ", c
print "full repr", repr(c)
assert c.inverse_cdf()(0.5) == c.median, [c.inverse_cdf()(0.5), c.median]
def test_2chains():
chain1 = numpy.random.normal(size=100)
chain2 = numpy.random.normal(size=100)
C1, C2 = chain.cross(chain1, chain2)
x = chain.combine( 14 * numpy.sin(C1 * 3 + 2) + 7 * numpy.cos(C2 * 3 + 2) )
print "mean ", chain.mean(x)
print "std ", chain.std(x)
print "median ", chain.median(x)
print "quantiles", chain.quantiles(x, [0.25, 0.5, 0.75])