File: t_ProcessSample_operators.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 (79 lines) | stat: -rw-r--r-- 2,239 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#! /usr/bin/env python

import copy
import openturns as ot
import openturns.testing as ott

ot.TESTPREAMBLE()
mesh = ot.RegularGrid(0, 1, 4)
vals1 = [
    ot.Sample([[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]),
    ot.Sample([[5, 6, 7], [6, 7, 8], [7, 8, 9], [8, 9, 10]]),
]
vals2 = [
    ot.Sample([[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5]]),
    ot.Sample([[4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9]]),
]

ps1 = ot.ProcessSample(mesh, vals1)
ps2 = ot.ProcessSample(mesh, vals2)

f1 = ot.Field(mesh, vals1[0])
f2 = ot.Field(mesh, vals2[0])

s = vals1[0]
p = ot.Point((1, 2, 3))

# ProcessSample operations
sumVals = [vals1[0] + vals2[0], vals1[1] + vals2[1]]
diffVals = [vals1[0] - vals2[0], vals1[1] - vals2[1]]

psSum = ot.ProcessSample(mesh, sumVals)
psDiff = ot.ProcessSample(mesh, diffVals)

ott.assert_almost_equal(ps1 + ps2, psSum)
ott.assert_almost_equal(ps1 - ps2, psDiff)
psInPlaceSum = copy.deepcopy(ps1)
psInPlaceSum += ps2
ott.assert_almost_equal(psInPlaceSum, psSum)
psInPlaceSum -= ps2
ott.assert_almost_equal(psInPlaceSum, ps1)

# ProcessSample  and Field operations
sumVals = [vals1[0] + vals1[0], vals1[1] + vals1[0]]
diffVals = [vals1[0] - vals1[0], vals1[1] - vals1[0]]

psSum = ot.ProcessSample(mesh, sumVals)
psDiff = ot.ProcessSample(mesh, diffVals)

ott.assert_almost_equal(ps1 + f1, psSum)
ott.assert_almost_equal(ps1 - f1, psDiff)
psInPlaceSum = copy.deepcopy(ps1)
psInPlaceSum += f1
ott.assert_almost_equal(psInPlaceSum, psSum)
psInPlaceSum -= f1
ott.assert_almost_equal(psInPlaceSum, ps1)

# ProcessSample and Sample operations
ott.assert_almost_equal(ps1 + s, psSum)
ott.assert_almost_equal(ps1 - s, psDiff)
psInPlaceSum = copy.deepcopy(ps1)
psInPlaceSum += s
ott.assert_almost_equal(psInPlaceSum, psSum)
psInPlaceSum -= s
ott.assert_almost_equal(psInPlaceSum, ps1)

# ProcessSample and point operations
sumVals = [vals1[0] + p, vals1[1] + p]
diffVals = [vals1[0] - p, vals1[1] - p]

psSum = ot.ProcessSample(mesh, sumVals)
psDiff = ot.ProcessSample(mesh, diffVals)

ott.assert_almost_equal(ps1 + p, psSum)
ott.assert_almost_equal(ps1 - p, psDiff)
psInPlaceSum = copy.deepcopy(ps1)
psInPlaceSum += p
ott.assert_almost_equal(psInPlaceSum, psSum)
psInPlaceSum -= p
ott.assert_almost_equal(psInPlaceSum, ps1)