File: test_sparsity.py

package info (click to toggle)
mystic 0.4.3-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,656 kB
  • sloc: python: 40,894; makefile: 33; sh: 9
file content (44 lines) | stat: -rw-r--r-- 1,241 bytes parent folder | download
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
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Copyright (c) 2019-2024 The Uncertainty Quantification Foundation.
# License: 3-clause BSD.  The full license text is available at:
#  - https://github.com/uqfoundation/mystic/blob/master/LICENSE
"""
finds npts that are rtol dist away from legacy data
"""
#XXX: could make similar that uses partitioning (based on monitor.y) ?
#XXX: could make similar that first samples, then uses hole-filling ?

#data=[[2,-6],[5,-7],[1,0],[1,3],[5,9],[2,2],[-10,-10],[-10,10],[10,-10]]
#data=[[0,0],[-10,-10],[-10,0],[10,0],[0,-10],[0,10],[10,-10],[-10,10],[10,10]]
data=[[0,0]]
#data = []

ndim = len(data[0]) if data else 2
lb,ub = [-10]*ndim, [10]*ndim

npts = 12
rtol = None # 4.5

#from mystic.math import Distribution
#from scipy.stats import norm
dist = None # Distribution(norm,0,2)


if __name__ == '__main__':
    from mystic.math import fillpts
    pts = fillpts(lb, ub, npts, data, rtol, dist)

    import numpy as np
    print(np.array(pts).reshape(-1,ndim))

    import matplotlib.pyplot as plt

    _x,_y = np.array(pts).reshape(-1,ndim).T
    x,y = np.array(data).reshape(-1,ndim).T

    plt.scatter(x=x,y=y)
    plt.scatter(x=_x,y=_y)
    plt.show()