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()
stratas = 4
for dimension in range(1, 4):
f = ot.NormInfEnumerateFunction(dimension)
size = f.getStrataCumulatedCardinal(stratas)
print("First", size, "values for dimension", dimension)
for i in range(size):
print("i=", i, "f(i)=", f(i))
# with bounds
f = ot.NormInfEnumerateFunction(2)
f.setUpperBound([int(1e8), 3])
for index in range(25):
m = f(index)
index_inv = f.inverse(m)
print("index=", index, repr(m))
assert m[1] <= 3, "wrong bound"
assert index == index_inv, "wrong inverse"
f = ot.NormInfEnumerateFunction(2)
f.setUpperBound([3, int(1e8)])
for index in range(25):
m = f(index)
index_inv = f.inverse(m)
print("index=", index, repr(m), index_inv)
assert m[0] <= 3, "wrong bound"
assert index == index_inv, "wrong inverse"
#
print("Test getMarginal() from indices")
f = ot.NormInfEnumerateFunction(5)
marginalf = f.getMarginal([0, 3, 4])
for index in range(10):
m = marginalf(index)
index_inv = marginalf.inverse(m)
print("index=", index, repr(m), index_inv)
#
print("Test getMarginal() from a single integer")
f = ot.NormInfEnumerateFunction(5)
marginalf = f.getMarginal(3)
for index in range(10):
m = marginalf(index)
index_inv = marginalf.inverse(m)
print("index=", index, repr(m), index_inv)
|