The NEUS application toolkit provides three modules:
The Window object represents the data strutures and routines that represent a single spatiotemporal restriction, or a single "window" in your NEUS scheme. In the language of NEUS, this corresponds to a single restricted value of the $J^{(t)}$ process.
The partition object represents a callable list of Window instances. Again, in the language of NEUS, it represents the full index space of the $J^{(t)}$ process.
The entry point module provides a named tuple structure for storing the state of the system at a particular point in phase space.
In the following, we will illustrate some basic usage of these objects with the idea of familiarizing the user with their tools and syntax.
In [2]:
%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np
from neus import pyramid
from neus import partition
In [4]:
# instantiate a window object
center = [1.0]
width = [0.5]
win = pyramid.Pyramid(center, width)
# plot the support of the pyramid object
x = np.linspace(0.0, 2.0, 100)
out = [win([i]) for i in x]
plt.plot(x, out)
Out[4]:
The NEUS toolkit provides the partition class that represents a collection of window objects. It's implementation is effectively a callable list, whose call function returns a normlized vector of the supports of it's elements. Note that it enforces that each element of a partition must itself be a callable object.
In [25]:
# create an empty partition object
sys = partition.Partition()
# create a list of winodw objects
width = 0.75
centers = [x for x in np.arange(-3, 3)]
# now add the windows to partition
for center in centers:
win = pyramid.Pyramid([center], [width])
sys.append(win)
print sys
Partition objects act like callable lists so some of the expected list operations also work with partitons:
In [26]:
# element access
print sys[0]
# slicing
print sys[2:4]
# list concatenation
print sys[2:4] + [sys[0]]
The partition's call routine returns the normalized vector of supports:
In [27]:
# choose a point with nonzero support
cv = [-2.5]
# return normalized vector of the support
print sys(cv)
Out[27]: