From 9a19b5c4272a6b7995bec7180375a355a642af42 Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Mon, 6 Apr 2015 11:58:42 -0600 Subject: [PATCH 01/85] adds TODOS to simpleFun and voronoiHistogram --- bet/calculateP/simpleFunP.py | 7 +++++++ bet/calculateP/voronoiHistogram.py | 15 ++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index 7da96544..ae7c80b3 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -119,6 +119,7 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): ''' return (rho_D_M, d_distr_samples, d_Tree) +#TODO Empty function hist_regular def hist_regular(data, distr_samples, nbins): """ create nbins regulary spaced bins @@ -130,6 +131,7 @@ def hist_regular(data, distr_samples, nbins): """ pass +# TODO Empty function hist_gaussian def hist_gaussian(data, distr_samples, nbins): """ determine mean, standard deviation of distr_samples @@ -141,6 +143,7 @@ def hist_gaussian(data, distr_samples, nbins): """ pass +# TODO Empty Function hist_unif def hist_unif(data, distr_samples, nbins): """ same as hist_regular bit with uniformly spaced bins @@ -148,10 +151,12 @@ def hist_unif(data, distr_samples, nbins): """ pass +# TODO Empty function gaussian_regular def gaussian_regular(data, Q_ref, std, nbins, num_d_emulate=1E6): pass #return (d_distr_prob, d_distr_samples, d_Tree) +# TODO Comment or remove multivariate_gaussian def multivariate_gaussian(x, mean, std): dim = len(mean) detDiagCovMatrix = np.sqrt(np.prod(np.diag(std(std)))) @@ -306,6 +311,7 @@ def unif_normal(Q_ref, M, std, num_d_emulate=1E6): # solving the model EVER! This can be done "offline" so to speak. return (rho_D_M, d_distr_samples, d_Tree) +# TODO gaussian_unif is a blank function def gaussian_unif(data, Q_ref, std, nbins, num_d_emulate=1E6): pass #return (d_distr_prob, d_distr_samples, d_Tree) @@ -334,6 +340,7 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ + # TODO following code could probably be reduced to a few lines # determine the center of the domain if len(domain.shape) == 1: domain = np.expand_dims(domain, axis=1) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index 6e0451bb..7cac1112 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -36,7 +36,8 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do msg = "The hyperrectangle defined by this size is larger than the" msg += "original domain." print msg - + + #TODO This can be done in fewer lines # determine the hyperrectangle defined by center and r_size rect_width = r_size*np.ones(sur_domain[:,0].shape) rect_domain = np.empty(sur_domain.shape) @@ -62,7 +63,8 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do return (points, interior_and_layer1, rect_domain) - +# TODO This and the previous function are almost identical. Maybe calculate r_size +# from r_ratio and call the previous function. def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): r""" Generates a regular grid of center points that define the voronoi @@ -123,6 +125,7 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): points = util.meshgrid_ndim(interior_and_layer1) return (points, interior_and_layer1, rect_domain) + def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): """ Generates a sequence of arrays describing the edges of the finite voronoi @@ -156,7 +159,7 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): (center_pts_per_edge+4,) respectively. """ - + # TODO This is redoing stuff that was done when generating the points # determine the hyperrectangle defined by center and r_size rect_width = r_size*np.ones(sur_domain[:,0].shape) rect_domain = np.empty(sur_domain.shape) @@ -178,7 +181,8 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): rect_and_sur_edges.append(int_l2) return rect_and_sur_edges - +# TODO This and the previous function are almost identical. Maybe calculate r_size +# from r_ratio (or vice versa) and call the previous function. def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): """ Generates a sequence of arrays describing the edges of the finite voronoi @@ -319,6 +323,7 @@ def histogramdd_volumes(edges, points): # adjust edges points_max = np.max(points, 0) points_min = np.min(points, 0) + # TODO replace with logical arrays to get rid of for loop. for dim, e in enumerate(edges): if len(edges) == 1: if e[0] >= points_min: @@ -360,7 +365,7 @@ def simple_fun_uniform(points, volumes, rect_domain): """ if len(points.shape) == 1: points = np.expand_dims(points, axis=1) - + # TODOthe lines below could be done in one or two lines. rect_left = np.repeat([rect_domain[:, 0]], points.shape[0], 0) rect_right = np.repeat([rect_domain[:,1]], points.shape[0], 0) rect_left = np.all(np.greater_equal(points, rect_left), axis=1) From 4b8bea9ce3f23c862e082d8afceb45e76721bdec Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 6 Apr 2015 12:33:20 -0600 Subject: [PATCH 02/85] pylinted and audited plotDomains and plotP. --- bet/postProcess/__init__.py | 8 +- bet/postProcess/plotDomains.py | 69 +++++++++++------ bet/postProcess/plotP.py | 130 ++++++++++++++++++++------------- 3 files changed, 133 insertions(+), 74 deletions(-) diff --git a/bet/postProcess/__init__.py b/bet/postProcess/__init__.py index 212068d8..bfe467f5 100644 --- a/bet/postProcess/__init__.py +++ b/bet/postProcess/__init__.py @@ -1,8 +1,10 @@ -""" +r""" This subpackage contains -* :class:`~bet.postProcess.plotP` plots P and/or volumes of voronoi cells -* :class:`~bet.postProcess.plotDomains` plots the data domain D in 2D +* :class:`~bet.postProcess.plotP` plots :math:`P` and/or volumes (:math:`\mu`) + of voronoi cells +* :class:`~bet.postProcess.plotDomains` plots the data domain + :math:`\mathcal{D} in 2D * :class:`~bet.postProcess.postTools` has tools for postprocessing """ diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 5cce4fea..5d02154d 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -1,11 +1,24 @@ """ -Methods used to plot two-dimensional domains and/or two-dimensional -slices/projections of domains. +This module provides methods used to plot two-dimensional domains and/or +two-dimensional slices/projections of domains. + +TODO : match method signatures with style in plotP """ import matplotlib.tri as tri import numpy as np import matplotlib.pyplot as plt +from matplotlib.lines import Line2D + +markers = [] +for m in Line2D.markers: + try: + if len(m) == 1 and m != ' ': + markers.append(m) + except TypeError: + pass + +colors = ('b', 'g', 'r', 'c', 'm', 'y', 'k') def scatter_2D(samples, sample_nos, color, p_ref, save, show, xlabel, ylabel, filename): @@ -31,8 +44,7 @@ def scatter_2D(samples, sample_nos, color, p_ref, save, show, sample_nos = range(samples.shape[0]) color = color[sample_nos] plt.scatter(samples[sample_nos, 0], samples[sample_nos, 1], c=color, s=10, - #edgecolor='none', - alpha=.75, linewidth=.1, cmap=plt.cm.Oranges)#Oranges_r) + alpha=.75, linewidth=.1, cmap=plt.cm.Oranges) cbar = plt.colorbar() cbar.set_label(r'$\rho_\mathcal{D}(Q)$') if p_ref != None: @@ -77,7 +89,7 @@ def scatter_3D(samples, sample_nos, color, p_ref, save, show, ax = fig.add_subplot(111, projection='3d') ax.scatter(samples[sample_nos, 0], samples[sample_nos, 1], samples[sample_nos, 2], s=10, alpha=.75, linewidth=.1, c=color, - cmap=plt.cm.Oranges) #ax.colorbar() + cmap=plt.cm.Oranges) if p_ref != None: ax.scatter(p_ref[0], p_ref[1], p_ref[2], c='g') @@ -96,6 +108,9 @@ def scatter_3D(samples, sample_nos, color, p_ref, save, show, def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, save=True, show=False, lnums=None): """ + TODO: add options for higher dimensional visualization or at least for + showing pairwise or tripletwise parameter point clouds + Plot samples in parameter space and colors them either by rho_D or by sample batch number. @@ -132,6 +147,9 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, save=True, show=False, Q_nums=None): """ + TODO: add options for higher dimensional visualization or at least for + showing pairwise or tripletwise sample point clouds + Plot samples in data space and colors them either by rho_D or by sample batch number. @@ -163,12 +181,15 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, zlabel, savename) def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, - img_folder='figs/', ref_markers=['^', 's', 'o'], - ref_colors=['r', 'g', 'b']): - """ + img_folder='figs/', ref_markers=None, + ref_colors=None): + r""" + TODO: add option for showing all pairs or altering which index for which + all pairs are shown + Plot the data domain D using a triangulation based on the generating - samples where $Q={q_1, q_i}$ for ``i=Q_nums``, with a marker for various - ``Q_ref``. + samples where :math:`Q={q_1, q_i}` for ``i=Q_nums``, with a marker for + various :math:`Q_{ref}`. :param samples: Samples to plot :type samples: :class:`~numpy.ndarray` of shape (ndim, num_samples) @@ -178,11 +199,14 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, :type Q_ref: :class:`np.ndarray` :param list Q_nums: dimensions of the QoI to plot :param string img_folder: folder to save the plots to - :param list ref_markers: list of marker types for ``Q_ref`` - :param list ref_colors: list of colors for ``Q_ref`` + :param list ref_markers: list of marker types for :math:`Q_{ref}` + :param list ref_colors: list of colors for :math:`Q_{ref}` """ - + if ref_markers == None: + ref_markers = markers + if ref_colors == None: + ref_colors = colors if Q_nums == None: Q_nums = range(data.shape[1]) @@ -204,13 +228,13 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, ref_markers, ref_colors, ylabel=r'$q_{'+str(i+1)+r'}$', triangles=triangles, save=True, show=False, filenames=filenames) -def show_data_domain_2D(samples, data, Q_ref, ref_markers=['^', 's', 'o'], - ref_colors=['r', 'g', 'b'], xlabel=r'$q_1$', ylabel=r'$q_2', +def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, + ref_colors=None, xlabel=r'$q_1$', ylabel=r'$q_2', triangles=None, save=True, show=True, filenames=None): - """ + r""" Plot the data domain D using a triangulation based on the generating - samples with a marker for various ``Q_ref``. Assumes that the first - dimension of data is $q_1$. + samples with a marker for various :math:`Q_{ref}`. Assumes that the first + dimension of data is :math:`q_1`. :param samples: Samples to plot :type samples: :class:`~numpy.ndarray` of shape (ndim, num_samples) @@ -218,8 +242,8 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=['^', 's', 'o'], :type data: :class:`np.ndarray` :param Q_ref: reference data value :type Q_ref: :class:`np.ndarray` - :param list ref_markers: list of marker types for ``Q_ref`` - :param list ref_colors: list of colors for ``Q_ref`` + :param list ref_markers: list of marker types for :math:`Q_{ref}` + :param list ref_colors: list of colors for :math:`Q_{ref}` :param string xlabel: x-axis label :param string ylabel: y-axis label :param triangles: triangulation defined by ``samples`` @@ -229,7 +253,10 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=['^', 's', 'o'], :param list filenames: file names for the unmarked and marked domain plots """ - + if ref_markers == None: + ref_markers = markers + if ref_colors == None: + ref_colors = colors if triangles == None: triangulation = tri.Triangulation(samples[:, 0], samples[:, 1]) triangles = triangulation.triangles diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index 25c367fe..f4317420 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -1,12 +1,17 @@ """ This module provides methods for plotting probabilities. """ + +# NOTE: We need nbins+1 because of plotting considerations. +""" +TODO: Make sure plots are transparent when saving them. Copy or emulate code +for saving the plots from plotDomains.py +""" + from bet.Comm import * import matplotlib.pyplot as plt import numpy as np -import copy -import math - +import copy, math def plot_voronoi_probs(P_samples, samples, lam_domain, nbins=20, plot_surface=False): @@ -32,6 +37,7 @@ def plot_voronoi_probs(P_samples, samples, lam_domain, nbins=20, num_samples = samples.shape[0] #Add fake samples outside of lam_domain to close Voronoi #tesselations at infinity + # TODO: finish this method def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): @@ -57,11 +63,16 @@ def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): # Make list of bins if only an integer is given if isinstance(nbins, int): nbins = nbins*np.ones(num_dim, dtype=np.int) - + + """TODO: determine if np.histogram or np.searchsorted is faster and change + to appropiate method. + """ + # Create bins bins = [] for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], nbins[i]+1)) + bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], + nbins[i]+1)) bin_ptr = np.zeros((num_samples, num_dim), dtype=np.int) # Bin samples for j in range(num_dim): @@ -76,7 +87,7 @@ def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): for k in range(num_samples): marg[bin_ptr[k][i]] += P_samples[k] marg_temp = np.copy(marg) - comm.Allreduce([marg, MPI.DOUBLE],[marg_temp, MPI.DOUBLE], op=MPI.SUM) + comm.Allreduce([marg, MPI.DOUBLE], [marg_temp, MPI.DOUBLE], op=MPI.SUM) marginals[i] = marg_temp[:-1] return (bins, marginals) @@ -105,7 +116,10 @@ def calculate_2D_marginal_probs(P_samples, samples, lam_domain, nbins=20): # Make list of bins if only an integer is given if isinstance(nbins, int): nbins = nbins*np.ones(num_dim, dtype=np.int) - + """TODO: determine if np.histogram or np.searchsorted is faster and change + to appropiate method. + """ + # Create bins bins = [] for i in range(num_dim): @@ -121,13 +135,13 @@ def calculate_2D_marginal_probs(P_samples, samples, lam_domain, nbins=20): for i in range(num_dim): for j in range(i+1, num_dim): marg = np.zeros((nbins[i]+1, nbins[j]+1)) - # This may be sped up with logical indices + # TODO: This may be sped up with logical indices for k in range(num_samples): marg[bin_ptr[k][i]][bin_ptr[k][j]] += P_samples[k] marg_temp = np.copy(marg) - comm.Allreduce([marg, MPI.DOUBLE],[marg_temp, MPI.DOUBLE], op=MPI.SUM) - marginals[(i, j)] = marg_temp[:-1,:-1] - + comm.Allreduce([marg, MPI.DOUBLE], [marg_temp, MPI.DOUBLE], + op=MPI.SUM) + marginals[(i, j)] = marg_temp[:-1, :-1] return (bins, marginals) def plot_1D_marginal_probs(marginals, bins, lam_domain, @@ -139,8 +153,9 @@ def plot_1D_marginal_probs(marginals, bins, lam_domain, input probability measure defined by P_samples on a 1D grid. :param marginals: 1D marginal probabilities - :type marginals: dictionary with int as keys and :class:'~numpy.ndarray' of shape (nbins+1,) as values - :param bins: Endpoints of bins used in calculating marginals + :type marginals: dictionary with int as keys and :class:'~numpy.ndarray' of + shape (nbins+1,) as values :param bins: Endpoints of bins used in + calculating marginals :type bins: :class:'~numpy.ndarray' of shape (nbins+1,) :param lam_domain: The domain for each parameter for the model. :type lam_domain: :class:'~numpy.ndarray' of shape (ndim, 2) @@ -154,28 +169,28 @@ def plot_1D_marginal_probs(marginals, bins, lam_domain, :type lambda_label: list of length nbins of strings or None """ - from scipy.interpolate import interp1d - from scipy.integrate import quad - from matplotlib import cm if rank == 0: index = copy.deepcopy(marginals.keys()) index.sort() for i in index: - x_range = np.linspace(lam_domain[i,0], lam_domain[i,1], len(bins[i])-1) + x_range = np.linspace(lam_domain[i, 0], lam_domain[i, 1], + len(bins[i])-1) fig = plt.figure(i) ax = fig.add_subplot(111) - ax.plot(x_range,marginals[i]/(bins[i][1]-bins[i][0])) + ax.plot(x_range, marginals[i]/(bins[i][1]-bins[i][0])) if lam_ref != None: ax.plot(lam_ref[i], 0.0, 'ko', markersize=10) if lambda_label == None: - label1 = '$\lambda_{' + `i+1` + '}$' + label1 = r'$\lambda_{' + str(i+1) + '}$' else: label1 = lambda_label[i] ax.set_xlabel(label1) ax.set_ylabel(r'$\rho$') - fig.savefig(filename + "_1D_" + `i` + ".eps") + fig.savefig(filename + "_1D_" + str(i) + ".eps") if interactive: plt.show() + else: + plt.close() def plot_2D_marginal_probs(marginals, bins, lam_domain, filename="file", lam_ref=None, plot_surface=False, interactive=True, @@ -186,7 +201,8 @@ def plot_2D_marginal_probs(marginals, bins, lam_domain, input probability measure defined by P_samples on a rectangular grid. :param marginals: 2D marginal probabilities - :type marginals: dictionary with tuples of 2 integers as keys and :class:'~numpy.ndarray' of shape (nbins+1,) as values + :type marginals: dictionary with tuples of 2 integers as keys and + :class:'~numpy.ndarray' of shape (nbins+1,) as values :param bins: Endpoints of bins used in calculating marginals :type bins: :class:'~numpy.ndarray' of shape (nbins+1,2) :param lam_domain: The domain for each parameter for the model. @@ -212,26 +228,32 @@ def plot_2D_marginal_probs(marginals, bins, lam_domain, fig = plt.figure(k) ax = fig.add_subplot(111) boxSize = (bins[i][1]-bins[i][0])*(bins[j][1]-bins[j][0]) - quadmesh = ax.imshow(marginals[(i, j)].transpose()/boxSize, interpolation='bicubic', cmap=cm.jet, extent = [lam_domain[i][0], lam_domain[i][1], lam_domain[j][0], - lam_domain[j][1]],origin='lower', vmax=marginals[(i, j)].max()/boxSize, vmin=marginals[(i, j)].min()/boxSize, aspect='auto') - + quadmesh = ax.imshow(marginals[(i, j)].transpose()/boxSize, + interpolation='bicubic', cmap=cm.jet, + extent=[lam_domain[i][0], lam_domain[i][1], + lam_domain[j][0], lam_domain[j][1]], origin='lower', + vmax=marginals[(i, j)].max()/boxSize, vmin=marginals[(i, + j)].min()/boxSize, aspect='auto') if lam_ref != None: ax.plot(lam_ref[i], lam_ref[j], 'ko', markersize=10) if lambda_label == None: - label1 = '$\lambda_{' + `i+1` + '}$' - label2 = '$\lambda_{' + `j+1` + '}$' + label1 = r'$\lambda_{' + str(i+1) + '}$' + label2 = r'$\lambda_{' + str(j+1) + '}$' else: label1 = lambda_label[i] label2 = lambda_label[j] ax.set_xlabel(label1) ax.set_ylabel(label2) - label_cbar = r'$\rho_{' + '\lambda_{' + `i+1` + '}' + ',' + '\lambda_{' + `j+1` + '}' + '}$ (Lesbesgue)' + label_cbar = r'$\rho_{\lambda_{' + str(i+1) + '}, ' + label_cbar += r'\lambda_{' + str(j+1) + '}' + '}$ (Lesbesgue)' fig.colorbar(quadmesh, ax=ax, label=label_cbar) plt.axis([lam_domain[i][0], lam_domain[i][1], lam_domain[j][0], lam_domain[j][1]]) - fig.savefig(filename + "_2D_" + `i` + "_" + `j` + ".eps") + fig.savefig(filename + "_2D_" + str(i) + "_" + str(j) + ".eps") if interactive: plt.show() + else: + plt.close() if plot_surface: for k, (i, j) in enumerate(pairs): @@ -245,22 +267,25 @@ def plot_2D_marginal_probs(marginals, bins, lam_domain, antialiased=False) ax.zaxis.set_major_locator(LinearLocator(10)) ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f')) - ax.set_xlabel('$\lambda_{' + `i+1` + '}$') - ax.set_ylabel('$\lambda_{' + `j+1` + '}$') - ax.set_zlabel('$P$') + ax.set_xlabel(r'$\lambda_{' + str(i+1) + '}$') + ax.set_ylabel(r'$\lambda_{' + str(j+1) + '}$') + ax.set_zlabel(r'$P$') plt.backgroundcolor = 'w' fig.colorbar(surf, shrink=0.5, aspect=5, label=r'$P$') - fig.savefig(filename + "_surf_"+ `i` + "_" +`j` + ".eps") + fig.savefig(filename + "_surf_"+str(i)+"_"+str(j)+".eps") if interactive: plt.show() + else: + plt.close() -def smooth_marginals_1D(marginals, bins, sigma=10.0): +def smooth_marginals_1D(marginals, bins, sigma=10.0): """ This function smooths 1D marginal probabilities. :param marginals: 1D marginal probabilities - :type marginals: dictionary with int as keys and :class:'~numpy.ndarray' of shape (nbins+1,) as values - :param bins: Endpoints of bins used in calculating marginals + :type marginals: dictionary with int as keys and :class:'~numpy.ndarray' of + shape (nbins+1,) as values :param bins: Endpoints of bins used in + calculating marginals :type bins: :class:'~numpy.ndarray' of shape (nbins+1,) :param sigma: Smoothing parameter in each direction. :type sigma: :float or :class:'~numpy.ndarray' of shape (ndim,) @@ -270,7 +295,7 @@ def smooth_marginals_1D(marginals, bins, sigma=10.0): from scipy.fftpack import fftshift, ifft, fft if isinstance(sigma, float): - sigma = sigma*np.ones(len(bins),dtype=np.int) + sigma = sigma*np.ones(len(bins), dtype=np.int) marginals_smooth = {} index = copy.deepcopy(marginals.keys()) index.sort() @@ -286,20 +311,21 @@ def smooth_marginals_1D(marginals, bins, sigma=10.0): aug_kernel[augx:augx+nx] = kernel aug_marginals[augx:augx+nx] = marginals[i] - aug_kernel=fftshift(aug_kernel) + aug_kernel = fftshift(aug_kernel) aug_marginals_smooth = np.real(ifft(fft(aug_kernel)*fft(aug_marginals))) marginals_smooth[i] = aug_marginals_smooth[augx:augx+nx] - marginals_smooth[i] = marginals_smooth[i]/np.sum(marginals_smooth[i]) + marginals_smooth[i] = marginals_smooth[i]/np.sum(marginals_smooth[i]) return marginals_smooth -def smooth_marginals_2D(marginals, bins, sigma=10.0): +def smooth_marginals_2D(marginals, bins, sigma=10.0): """ This function smooths 2D marginal probabilities. :param marginals: 2D marginal probabilities - :type marginals: dictionary with tuples of 2 integers as keys and :class:'~numpy.ndarray' of shape (nbins+1,) as values + :type marginals: dictionary with tuples of 2 integers as keys and + :class:'~numpy.ndarray' of shape (nbins+1,) as values :param bins: Endpoints of bins used in calculating marginals :type bins: :class:'~numpy.ndarray' of shape (nbins+1,) :param sigma: Smoothing parameter in each direction. @@ -310,10 +336,11 @@ def smooth_marginals_2D(marginals, bins, sigma=10.0): from scipy.fftpack import fftshift, ifft2, fft2 if isinstance(sigma, float): - sigma = sigma*np.ones(len(bins),dtype=np.int) + sigma = sigma*np.ones(len(bins), dtype=np.int) marginals_smooth = {} pairs = copy.deepcopy(marginals.keys()) pairs.sort() + #TODO: k is an unused variable for k, (i, j) in enumerate(pairs): nx = len(bins[i])-1 ny = len(bins[j])-1 @@ -328,17 +355,20 @@ def smooth_marginals_2D(marginals, bins, sigma=10.0): X, Y = np.meshgrid(x_kernel, y_kernel, indexing='ij') kernel = np.exp(-(X/sigma[i])**2-(Y/sigma[j])**2) - aug_kernel = np.zeros((nx+2*augx,ny+2*augy)) - aug_marginals = np.zeros((nx+2*augx,ny+2*augy)) + aug_kernel = np.zeros((nx+2*augx, ny+2*augy)) + aug_marginals = np.zeros((nx+2*augx, ny+2*augy)) - aug_kernel[augx:augx+nx,augy:augy+ny] = kernel - aug_marginals[augx:augx+nx,augy:augy+ny] = marginals[(i,j)] + aug_kernel[augx:augx+nx, augy:augy+ny] = kernel + aug_marginals[augx:augx+nx, augy:augy+ny] = marginals[(i, j)] - aug_kernel=fftshift(aug_kernel,0) - aug_kernel=fftshift(aug_kernel,1) + aug_kernel = fftshift(aug_kernel, 0) + aug_kernel = fftshift(aug_kernel, 1) - aug_marginals_smooth = np.real(ifft2(fft2(aug_kernel)*fft2(aug_marginals))) - marginals_smooth[(i,j)] = aug_marginals_smooth[augx:augx+nx,augy:augy+ny] - marginals_smooth[(i,j)] = marginals_smooth[(i,j)]/np.sum(marginals_smooth[(i,j)]) + aug_marginals_smooth = ifft2(fft2(aug_kernel)*fft2(aug_marginals)) + aug_marginals_smooth = np.real(aug_marginals_smooth) + marginals_smooth[(i, j)] = aug_marginals_smooth[augx:augx+nx, + augy:augy+ny] + marginals_smooth[(i, j)] = marginals_smooth[(i, + j)]/np.sum(marginals_smooth[(i, j)]) return marginals_smooth From 8554168d999b5fcc53b3c74538f426f2ae740746 Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Mon, 6 Apr 2015 12:34:14 -0600 Subject: [PATCH 03/85] adds todos --- bet/sampling/adaptiveSampling.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 8dbad904..58be8d7d 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -133,6 +133,7 @@ def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, sort_ind = np.argsort(results_rD) return (results, r_step_size, results_rD, sort_ind, mean_ss) + # TODO This appears to be an unused function def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, t_kernel, savefile, initial_sample_type="lhs", criterion='center', reseed=3): @@ -311,6 +312,7 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, # Initialize Nx1 vector Step_size = something reasonable (based on size # of domain and transition set type) # Calculate domain size + # TODO The following could probably be done in one line param_left = np.repeat([param_min], self.num_chains_pproc, 0) param_right = np.repeat([param_max], self.num_chains_pproc, 0) param_width = param_right - param_left @@ -374,7 +376,6 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, mdat['data'] = data super(sampler, self).save(mdat, "p"+str(rank)+savefile) - # samples_old = samples_new MYsamples_old = samples_new # collect everything @@ -398,7 +399,8 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, super(sampler, self).save(mdat, savefile) return (samples, data, all_step_ratios) - + + #TODO MOve this function to a dev branch since it is not implemented. def reseed_chains(self, param_min, param_max, t_kernel, kern, savefile, initial_sample_type="lhs", criterion='center', reseed=1): """ From 89dadccaee4abed41d3443556e24189a4e139dcd Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Mon, 6 Apr 2015 13:44:31 -0600 Subject: [PATCH 04/85] removes loadBalance --- bet/loadBalance/__init__.py | 12 ------------ bet/loadBalance/lb_DIAMOND.py | 0 bet/loadBalance/lb_PADCIRC.py | 5 ----- bet/loadBalance/load_balance.py | 12 ------------ 4 files changed, 29 deletions(-) delete mode 100644 bet/loadBalance/__init__.py delete mode 100644 bet/loadBalance/lb_DIAMOND.py delete mode 100644 bet/loadBalance/lb_PADCIRC.py delete mode 100644 bet/loadBalance/load_balance.py diff --git a/bet/loadBalance/__init__.py b/bet/loadBalance/__init__.py deleted file mode 100644 index 949dbfe6..00000000 --- a/bet/loadBalance/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -""" -This subpackage contains - -* :class:`~bet.loadBalance.load_balance` an interface to control the scheduling and load - balancing of model runs on an HPC infrastructure -* :mod:`~bet.loadBalance.lb_DIAMOND` implements the :class:`~bet.loadBalance.load_balance` infrastructure - for the DIAMOND model -* :mod:`~bet.loadBalance.lb_PADCIRC` implements the :class:`~bet.loadBalance.load_balance` infrastructure - for the PADCIRC model - -""" -__all__ = ['load_balance','lb_DIAMOND','lb_PADCIRC'] diff --git a/bet/loadBalance/lb_DIAMOND.py b/bet/loadBalance/lb_DIAMOND.py deleted file mode 100644 index e69de29b..00000000 diff --git a/bet/loadBalance/lb_PADCIRC.py b/bet/loadBalance/lb_PADCIRC.py deleted file mode 100644 index e7fa9dd4..00000000 --- a/bet/loadBalance/lb_PADCIRC.py +++ /dev/null @@ -1,5 +0,0 @@ -""" -This is a placeholder. See the ``run_framework`` subpackage of `PolyADCIRC -`_ and the examples in -``examples/fromADCIRCMap`` for a yet to be generalized prototype. -""" diff --git a/bet/loadBalance/load_balance.py b/bet/loadBalance/load_balance.py deleted file mode 100644 index d36fc27d..00000000 --- a/bet/loadBalance/load_balance.py +++ /dev/null @@ -1,12 +0,0 @@ -""" -This module handles the following - store HPC topology - set up file structure for data, parameter fields - compose parameter fields - prep computational domain(s) (model specific) - run model (model specific) - read and preprocess data (model specific) - -""" -class load_balance(): - pass From 6fedc02569259daa9360cc0857ef4f662490b3d8 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 6 Apr 2015 14:02:38 -0600 Subject: [PATCH 05/85] audited and pylinted --- bet/calculateP/__init__.py | 4 ++ bet/calculateP/calculateP.py | 25 ++++++---- bet/postProcess/__init__.py | 2 +- bet/postProcess/postTools.py | 97 +++++++++++++++++------------------- bet/util.py | 3 ++ 5 files changed, 70 insertions(+), 61 deletions(-) diff --git a/bet/calculateP/__init__.py b/bet/calculateP/__init__.py index 1950ab39..62c859d3 100644 --- a/bet/calculateP/__init__.py +++ b/bet/calculateP/__init__.py @@ -6,5 +6,9 @@ densities * :mod:`~bet.calculateP.simpleFunP` provides methods for creating simple function approximations of probability densisties +* :mod:`~bet.calculateP.voronoiHistogram` provides methods for creating the + generating points for cells that define a regular grid for use by + :meth:`numpy.histogramdd` and for determining their volumes, etc. This + module is only for use by :mod:`~bet.calculateP.simpleFunP`. """ __all__ = ['calculateP', 'simpleFunP', 'voronoiHistogram'] diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index 9a42bf53..b55c8a08 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -38,6 +38,10 @@ def emulate_iid_lebesgue(lam_domain, num_l_emulate): def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate=None, d_Tree=None): r""" + + TODO: remove lam_domain as an argument, make sure to fix in all examples + and tests + Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{emulate}})`, the probability assoicated with a set of voronoi cells defined by ``num_l_emulate`` iid samples :math:`(\lambda_{emulate})`. @@ -74,16 +78,11 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, # Determine which emulated samples match with which model run samples l_Tree = spatial.KDTree(samples) - (tree_length, emulate_ptr) = l_Tree.query(lambda_emulate) + (_, emulate_ptr) = l_Tree.query(lambda_emulate) # Calculate Probabilties P = np.zeros((lambda_emulate.shape[0],)) d_distr_emu_ptr = np.zeros(emulate_ptr.shape) - #io_ptr_inverse = np.zeros(io_ptr.shape) - # for i in range(rho_D_M.shape[0]): - # Itemp = np.equal(io_ptr, i) - # l_ind = np.nonzero(Itemp) - # io_ptr_inverse[l_ind] = i d_distr_emu_ptr = io_ptr[emulate_ptr] #io_ptr_inverse[emulate_ptr] for i in range(rho_D_M.shape[0]): Itemp = np.equal(d_distr_emu_ptr, i) @@ -96,6 +95,10 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): r""" + + TODO: remove lam_domain as an argument, make sure to fix in all examples + and tests + Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{samples}})`, the probability assoicated with a set of voronoi cells defined by the model solves at :math:`(\lambda_{samples})` where the volumes of these voronoi @@ -122,7 +125,7 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): """ # Calculate pointers and volumes - (P, lambda_emulate, io_ptr, emulate_ptr) = prob_emulated(samples, data, + (P, _, io_ptr, emulate_ptr) = prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, None, d_Tree) # Apply the standard MC approximation @@ -141,6 +144,9 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): def prob_qhull(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): r""" + + TODO: FIX OR REMOVE + Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{emulate}})`, the probability assoicated with a set of voronoi cells defined by ``num_l_emulate`` iid samples :math:`(\lambda_{emulate})`. @@ -170,7 +176,6 @@ def prob_qhull(samples, data, rho_D_M, d_distr_samples, d_Tree = spatial.KDTree(d_distr_samples) # Determine which inputs go to which M bins using the QoI - #io_ptr = dsearchn(d_distr_samples, data); io_ptr = d_Tree.query(data) # Calcuate the bounding region for the parameters @@ -224,7 +229,7 @@ def prob_qhull(samples, data, rho_D_M, d_distr_samples, def prob_mc(samples, data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate=None, d_Tree=None): - """ + r""" Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{samples}})`, the probability assoicated with a set of voronoi cells defined by the model solves at :math:`(\lambda_{samples})` where the volumes of these voronoi @@ -260,7 +265,7 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, # Apply the standard MC approximation to determine the number of emulated # samples per model run sample. This is for approximating # \mu_Lambda(A_i \intersect b_j) - lam_vol = np.zeros((samples.shape[0],)) #lambda_emulate),)) + lam_vol = np.zeros((samples.shape[0],)) for i in range(samples.shape[0]): lam_vol[i] = np.sum(np.equal(emulate_ptr, i)) clam_vol = np.copy(lam_vol) diff --git a/bet/postProcess/__init__.py b/bet/postProcess/__init__.py index bfe467f5..3fc54256 100644 --- a/bet/postProcess/__init__.py +++ b/bet/postProcess/__init__.py @@ -4,7 +4,7 @@ * :class:`~bet.postProcess.plotP` plots :math:`P` and/or volumes (:math:`\mu`) of voronoi cells * :class:`~bet.postProcess.plotDomains` plots the data domain - :math:`\mathcal{D} in 2D + :math:`\mathcal{D}` in 2D * :class:`~bet.postProcess.postTools` has tools for postprocessing """ diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index 7690b96b..db0ebf3a 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -1,18 +1,18 @@ """ +TODO: rewrite to match what the module acutally does + This module provides methods for plotting probabilities. """ -from bet.Comm import * +from bet.Comm import rank import numpy as np -import copy -import math import scipy.io as sio def sort_by_rho(P_samples, samples, lam_vol=None, data=None): """ - This sorts the samples by probability density. It returns the sorted values. - If the samples are iid, no volume data is needed. It is optional to sort the QoI - data, but be sure to do so if using it later. + This sorts the samples by probability density. It returns the sorted + values. If the samples are iid, no volume data is needed. It is optional + to sort the QoI data, but be sure to do so if using it later. :param P_samples: Probabilities. :type P_samples: :class:'~numpy.ndarray' of shape (num_samples,) @@ -26,13 +26,13 @@ def sort_by_rho(P_samples, samples, lam_vol=None, data=None): :returns: (P_samples, samples, lam_vol, data) """ - nnz = np.sum(P_samples>0) + nnz = np.sum(P_samples > 0) if lam_vol == None: indices = np.argsort(P_samples)[::-1][0:nnz] else: indices = np.argsort(P_samples/lam_vol)[::-1][0:nnz] P_samples = P_samples[indices] - samples = samples[indices,:] + samples = samples[indices, :] if lam_vol != None: lam_vol = lam_vol[indices] if data != None: @@ -40,12 +40,15 @@ def sort_by_rho(P_samples, samples, lam_vol=None, data=None): return (P_samples, samples, lam_vol, data) -def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, data=None, sort=True): +def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, + data=None, sort=True): """ - This calculates the highest probability samples whose probability sum to a given value. - The number of high probability samples that sum to the value and the probabilities, - samples, volumes, and data are returned. This assumes that ``P_samples``, ``samples``, - ``lam_vol``, and ``data`` have all be sorted using :meth:`~bet.postProcess.sort_by_rho`. + This calculates the highest probability samples whose probability sum to a + given value. The number of high probability samples that sum to the value + and the probabilities, samples, volumes, and data are returned. This + assumes that ``P_samples``, + ``samples``, ``lam_vol``, and ``data`` have all be sorted using + :meth:`~bet.postProcess.sort_by_rho`. :param top_percentile: ratio of highest probability samples to select :type top_percentile: float @@ -61,29 +64,28 @@ def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, data=N :returns: ( num_samples, P_samples, samples, lam_vol, data) """ - + # TODO: should we trust the user or should we do a quick check of part of + # the array to see if it's already sorted? if sort: - (P_samples, samples, lam_vol, data) = sort_by_rho(P_samples, samples, lam_vol, data) + (P_samples, samples, lam_vol, data) = sort_by_rho(P_samples, samples, + lam_vol, data) P_sum = np.cumsum(P_samples) num_samples = np.sum(P_sum <= top_percentile) P_samples = P_samples[0:num_samples] - samples = samples[0:num_samples,:] + samples = samples[0:num_samples, :] if lam_vol != None: lam_vol = lam_vol[0:num_samples] if data != None: - data = data[0:num_samples,:] + data = data[0:num_samples, :] return (num_samples, P_samples, samples, lam_vol, data) - -def save_parallel_probs_csv(P_samples, - samples, - P_file, - lam_file, - compress=False): +def save_parallel_probs_csv(P_samples, samples, P_file, lam_file, + compress=False): """ - Saves probabilites and samples from parallel runs in individual .csv files for each process. + Saves probabilites and samples from parallel runs in individual .csv files + for each process. :param P_samples: Probabilities. :type P_samples: :class:'~numpy.ndarray' of shape (num_samples,) @@ -102,16 +104,14 @@ def save_parallel_probs_csv(P_samples, else: suffix = '.csv' - np.savetxt(P_file + `rank` + suffix ,P_samples, delimiter = ',') - np.savetxt(lam_file + `rank` + suffix ,samples, delimiter = ',') + np.savetxt(P_file + str(rank) + suffix, P_samples, delimiter=',') + np.savetxt(lam_file + str(rank) + suffix, samples, delimiter=',') -def collect_parallel_probs_csv(P_file, - lam_file, - num_files, - save = False, - compress=False): +def collect_parallel_probs_csv(P_file, lam_file, num_files, save=False, + compress=False): """ - Collects probabilities and samples saved in .csv format from parallel runs into single arrays. + Collects probabilities and samples saved in .csv format from parallel runs + into single arrays. :param P_file: file prefix for probabilities :type P_file: str @@ -133,9 +133,9 @@ def collect_parallel_probs_csv(P_file, P = np.loadtxt(P_file + '0' + suffix) lam = np.loadtxt(lam_file + '0' + suffix) - for i in range(1,num_files): - P = np.vstack((P, np.loadtxt(P_file + `i` + suffix))) - lam = np.vstack((lam,np.loadtxt(lam_file + `i` + suffix))) + for i in range(1, num_files): + P = np.vstack((P, np.loadtxt(P_file + str(i) + suffix))) + lam = np.vstack((lam, np.loadtxt(lam_file + str(i) + suffix))) if save: np.savetxt(P_file + 'all' + suffix, P) @@ -143,12 +143,10 @@ def collect_parallel_probs_csv(P_file, return (P, lam) -def save_parallel_probs_mat(P_samples, - samples, - file_prefix, - compress=False): +def save_parallel_probs_mat(P_samples, samples, file_prefix, compress=False): """ - Saves probabilites and samples from parallel runs in individual .mat files for each process. + Saves probabilites and samples from parallel runs in individual .mat files + for each process. :param P_samples: Probabilities. :type P_samples: :class:'~numpy.ndarray' of shape (num_samples,) @@ -158,16 +156,15 @@ def save_parallel_probs_mat(P_samples, :type file_prefix: str :returns: None """ - file_dict={"P_samples": P_samples, + file_dict = {"P_samples": P_samples, "samples": samples} - sio.savemat(file_prefix + `rank` , file_dict, do_compression=compress) + sio.savemat(file_prefix + str(rank), file_dict, do_compression=compress) -def collect_parallel_probs_mat(file_prefix, - num_files, - save = False, - compress = False): +def collect_parallel_probs_mat(file_prefix, num_files, save=False, + compress=False): """ - Collects probabilities and samples saved in .mat format from parallel runs into single arrays. + Collects probabilities and samples saved in .mat format from parallel runs + into single arrays. :param file_prefix: file prefix :type file_prefix: str @@ -183,10 +180,10 @@ def collect_parallel_probs_mat(file_prefix, file_dict = sio.io.loadmat(file_prefix + "0") P = file_dict["P_samples"] lam = file_dict["samples"] - for i in range(1,num_files): - file_dict = sio.io.loadmat(file_prefix + `i`) + for i in range(1, num_files): + file_dict = sio.io.loadmat(file_prefix + str(i)) P = np.vstack((P, file_dict["P_samples"])) - lam = np.vstack((lam,file_dict["samples"])) + lam = np.vstack((lam, file_dict["samples"])) if save: file_dict = {"P_samples": P, diff --git a/bet/util.py b/bet/util.py index 1a10a57b..89456bf9 100644 --- a/bet/util.py +++ b/bet/util.py @@ -46,6 +46,9 @@ def meshgrid_ndim(X): def get_global_values(array): """ + TODO: write a version that also works with captial mpi4py method calls + (optional?) + Concatenates local arrays into global array. :param array: Array. From f05b24fac8d8defe03e0e5901d73475e81a07d2f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 6 Apr 2015 17:28:51 -0600 Subject: [PATCH 06/85] added tests for Comm and util. removed tests for loadBalance. added markers for future tests --- test/test_Comm.py | 64 +++++++++++++++++++ .../test_voronoiHistogram.py} | 0 test/test_loadBalance/__init__.py | 5 -- test/test_loadBalance/test_load_balance.py | 8 --- .../test_plotDomains.py | 0 .../test_plotP.py | 0 .../test_postTools.py} | 0 test/test_util.py | 0 8 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 test/test_Comm.py rename test/{test_loadBalance/test_lb_DIAMOND.py => test_calculateP/test_voronoiHistogram.py} (100%) delete mode 100644 test/test_loadBalance/__init__.py delete mode 100644 test/test_loadBalance/test_load_balance.py rename test/{test_visualize => test_postProcess}/test_plotDomains.py (100%) rename test/{test_visualize => test_postProcess}/test_plotP.py (100%) rename test/{test_loadBalance/test_lb_PADCIRC.py => test_postProcess/test_postTools.py} (100%) create mode 100644 test/test_util.py diff --git a/test/test_Comm.py b/test/test_Comm.py new file mode 100644 index 00000000..982f1511 --- /dev/null +++ b/test/test_Comm.py @@ -0,0 +1,64 @@ +""" +This module contains unittests for :mod:`~bet.Comm` +""" + +import unittest +import bet.Comm as Comm +from pkgutil import iter_modules + +class Test_comm_for_no_mpi4py(unittest.TestCase): + """ + Test :class:`bet.Comm.comm_for_no_mpi4py`. + """ + def setUp(self): + self.comm = Comm.comm_for_no_mpi4py() + def test_Get_size(self): + self.assertEqual(self.comm.Get_size(),1) + def test_Get_rank(self): + self.assertEqual(self.comm.Get_rank(),0) + def test_allgrather(self): + thing = range(4) + self.assertEqual(self.comm.allgather(thing), thing) + def test_allreduce(self): + thing = 4 + self.assertEqual(self.comm.allreduce(thing,op=None), thing) + def test_bcast(self): + thing = range(4) + self.assertEqual(self.comm.bcast(thing, root=0), thing) + def test_Allgather(self): + thing = range(4) + self.assertEqual(self.comm.Allgather(thing), thing) + def test_Allreduce(self): + thing1 = range(4) + thing2 = range(4) + self.assertEqual(self.comm.Allreduce(thing1, thing2, + op=None), thing1) + def test_Bcast(self): + thing = range(4) + self.assertEqual(self.comm.Bcast(thing, root=0), thing) + def test_Scatter(self): + thing1 = range(4) + thing2 = range(4) + self.assertEqual(self.comm.Scatter(thing1, thing2, + root=0), thing1) + +class Test_Comm(unittest.TestCase): + """ + Test :mod:`bet.Comm` + """ + def test(self): + if 'mpi4py' in (name for loader, name, ispkg in iter_modules()): + pass + else: + self.assertEqual(Comm.comm.size, 1) + self.assertEqual(Comm.comm.rank, 0) + +class Test_MPI_for_no_mpi4py(unittest.TestCase): + """ + Test :class:`bet.Comm.MPI_fort_no_mpi4py` + """ + def test(self): + MPI_no = Comm.MPI_for_no_mpi4py() + self.assertEqual(MPI_no.SUM, None) + self.assertEqual(MPI_no.DOUBLE, float) + self.assertEqual(MPI_no.INT, int) diff --git a/test/test_loadBalance/test_lb_DIAMOND.py b/test/test_calculateP/test_voronoiHistogram.py similarity index 100% rename from test/test_loadBalance/test_lb_DIAMOND.py rename to test/test_calculateP/test_voronoiHistogram.py diff --git a/test/test_loadBalance/__init__.py b/test/test_loadBalance/__init__.py deleted file mode 100644 index e373a35c..00000000 --- a/test/test_loadBalance/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -""" -This subpackage contains the tests for the loadBalance subpackage. The user -should add tests for custom :class:`bet.loadBalance` classes. -""" -__all__ = ['test_load_balance', 'test_lb_DIAMOND', 'test_lb_PADCIRC'] diff --git a/test/test_loadBalance/test_load_balance.py b/test/test_loadBalance/test_load_balance.py deleted file mode 100644 index ea7d0616..00000000 --- a/test/test_loadBalance/test_load_balance.py +++ /dev/null @@ -1,8 +0,0 @@ -""" -This is module provides tests for :module:`bet.loadBalance.load_balance`. - - * check the dimension of the output and input - * output/input file presence (this is model specific...) - * optimal(?) feeding jobs out to the allocation correctly -""" -pass diff --git a/test/test_visualize/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py similarity index 100% rename from test/test_visualize/test_plotDomains.py rename to test/test_postProcess/test_plotDomains.py diff --git a/test/test_visualize/test_plotP.py b/test/test_postProcess/test_plotP.py similarity index 100% rename from test/test_visualize/test_plotP.py rename to test/test_postProcess/test_plotP.py diff --git a/test/test_loadBalance/test_lb_PADCIRC.py b/test/test_postProcess/test_postTools.py similarity index 100% rename from test/test_loadBalance/test_lb_PADCIRC.py rename to test/test_postProcess/test_postTools.py diff --git a/test/test_util.py b/test/test_util.py new file mode 100644 index 00000000..e69de29b From b9a63c2d31de01dac41944f118b3578b6e0ca840 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 6 Apr 2015 18:24:34 -0600 Subject: [PATCH 07/85] working on util tests --- bet/util.py | 2 ++ test/test_util.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/bet/util.py b/bet/util.py index 89456bf9..4ea75d77 100644 --- a/bet/util.py +++ b/bet/util.py @@ -39,7 +39,9 @@ def meshgrid_ndim(X): alist[9], indexing='ij') + # TODO: use x.flat instead of x.flat[:] X_new = np.vstack((a.flat[:],b.flat[:],c.flat[:],d.flat[:],e.flat[:],f.flat[:],g.flat[:],h.flat[:],i.flat[:],j.flat[:])).transpose() + # TODO: I don't think this line does anything, remove it X_new = X_new[:,0:n] return X_new diff --git a/test/test_util.py b/test/test_util.py index e69de29b..d5cab9f7 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -0,0 +1,43 @@ +""" +This module contains unittests for :mod:`~bet.util` +""" + +import unittest +import bet.util as util +from bet.Comm import * +import numpy.testing as nptest +import numpy as np + +def get_binary_rep(i, dim): + short = bin(i).paritition('b')[-1] + full = '0'*(dim-len(short))+short + +def compare_to_bin_rep(xnew): + """ + xnew[i] == binaryformof(i, dim) where binaryformof(i, dim) returns a list + of length dim of 1s and 0s corresponding to the binary represenation of i + """ + for i, row in enumerate(xnew): + row_rep = '' + for v in row: + row_rep += str(v) + assert row_rep == get_binary_rep(i, len(row)) + +def test_meshgrid_ndim(): + """ + Tests :meth:`bet.util.meshgrid_ndim` for 10 vectors where each vector is + equal to ``[0, 1]``. + """ + for i in xrange(10): + x = [[0,1,] for v in xrange(i)] + yield compare_to_bin_rep, util.meshgrid_ndim(x) + +def test_get_global_values(): + """ + Tests :meth:`bet.util.get_global_values`. + """ + original_array = np.array(range(rank*2)) + my_array = comm.scatter(original_array, root=0) + recomposed_array = util.get_global_values(my_array) + nptest.assert_array_equal(original_array, recomposed_array) + From 7a21421ca0772aae8144f70136e916b6194886d8 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 6 Apr 2015 23:06:06 -0600 Subject: [PATCH 08/85] working on util tests --- test/test_util.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/test/test_util.py b/test/test_util.py index d5cab9f7..47c54df4 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -7,33 +7,43 @@ from bet.Comm import * import numpy.testing as nptest import numpy as np +from pkgutil import iter_modules def get_binary_rep(i, dim): - short = bin(i).paritition('b')[-1] + short = bin(i).partition('b')[-1] full = '0'*(dim-len(short))+short + print full def compare_to_bin_rep(xnew): """ xnew[i] == binaryformof(i, dim) where binaryformof(i, dim) returns a list of length dim of 1s and 0s corresponding to the binary represenation of i """ + rep_compare = np.zeros((xnew.shape[0],), np.bool) for i, row in enumerate(xnew): row_rep = '' for v in row: row_rep += str(v) - assert row_rep == get_binary_rep(i, len(row)) + print row_rep + rep_compare[i] = (row_rep == get_binary_rep(i, len(row))) + assert np.all(rep_compare) def test_meshgrid_ndim(): """ Tests :meth:`bet.util.meshgrid_ndim` for 10 vectors where each vector is equal to ``[0, 1]``. """ - for i in xrange(10): + for i in xrange(2): x = [[0,1,] for v in xrange(i)] yield compare_to_bin_rep, util.meshgrid_ndim(x) +@unittest.skipIf(size == 1 and 'mpi4py' in (name for loader, name, + ispkg in iter_modules()), + "This test only runs in parallel. If mpi4py is installed") def test_get_global_values(): """ + TODO: Separate out parallel tests so that they are run in parallel if + mpi4py is installed Tests :meth:`bet.util.get_global_values`. """ original_array = np.array(range(rank*2)) From 4862a927aff5a567e5165852d0a9cae66c8214d1 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Tue, 7 Apr 2015 09:46:53 -0600 Subject: [PATCH 09/85] finished util tests --- bet/util.py | 2 +- test/test_util.py | 35 +++++++++++++++++++++-------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/bet/util.py b/bet/util.py index 4ea75d77..c2f431eb 100644 --- a/bet/util.py +++ b/bet/util.py @@ -51,7 +51,7 @@ def get_global_values(array): TODO: write a version that also works with captial mpi4py method calls (optional?) - Concatenates local arrays into global array. + Concatenates local arrays into global array using :meth:`np.vstack`. :param array: Array. :type P_samples: :class:'~numpy.ndarray' diff --git a/test/test_util.py b/test/test_util.py index 47c54df4..35bdfb16 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -10,44 +10,51 @@ from pkgutil import iter_modules def get_binary_rep(i, dim): + """ + A ``dim`` bit representation of ``i`` in binary. + + :param int i: number to represent in binary + :param int dim: number of bits to use in the representation + :rtype: string + :returns: string representation of binary represenation of i + + """ short = bin(i).partition('b')[-1] full = '0'*(dim-len(short))+short - print full + return full def compare_to_bin_rep(xnew): """ - xnew[i] == binaryformof(i, dim) where binaryformof(i, dim) returns a list - of length dim of 1s and 0s corresponding to the binary represenation of i + xnew[i] == get_binar_rep(i, dim) """ rep_compare = np.zeros((xnew.shape[0],), np.bool) for i, row in enumerate(xnew): row_rep = '' for v in row: row_rep += str(v) - print row_rep rep_compare[i] = (row_rep == get_binary_rep(i, len(row))) + print rep_compare[i] assert np.all(rep_compare) def test_meshgrid_ndim(): """ - Tests :meth:`bet.util.meshgrid_ndim` for 10 vectors where each vector is + Tests :meth:`bet.util.meshgrid_ndim` for upto 10 vectors where each vector is equal to ``[0, 1]``. """ - for i in xrange(2): - x = [[0,1,] for v in xrange(i)] + for i in xrange(10): + x = [[0,1] for v in xrange(i+1)] yield compare_to_bin_rep, util.meshgrid_ndim(x) -@unittest.skipIf(size == 1 and 'mpi4py' in (name for loader, name, - ispkg in iter_modules()), - "This test only runs in parallel. If mpi4py is installed") def test_get_global_values(): """ - TODO: Separate out parallel tests so that they are run in parallel if - mpi4py is installed Tests :meth:`bet.util.get_global_values`. """ - original_array = np.array(range(rank*2)) - my_array = comm.scatter(original_array, root=0) + original_array = np.array([range(size*2)]) + if rank > 0: + my_index = range(0+rank, len(original_array), size) + else: + my_index = range(0+rank, len(original_array), size) + my_array = original_array[my_index] recomposed_array = util.get_global_values(my_array) nptest.assert_array_equal(original_array, recomposed_array) From c136fc06746fa352391c2e6c7ffdfb4f9092c5bb Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Tue, 7 Apr 2015 14:44:17 -0600 Subject: [PATCH 10/85] adds tests for calcP and modifies util --- bet/calculateP/calculateP.py | 18 +- bet/util.py | 7 +- setup.py | 2 +- test/test_calculateP/test_calculateP.py | 830 +++++++++----------- test/test_calculateP/test_calculateP_old.py | 558 +++++++++++++ 5 files changed, 938 insertions(+), 477 deletions(-) create mode 100644 test/test_calculateP/test_calculateP_old.py diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index b55c8a08..0a1ba807 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -64,7 +64,8 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, :returns: (P, lambda_emulate, io_ptr, emulate_ptr, lam_vol) """ - + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) if lambda_emulate == None: lambda_emulate = samples if len(d_distr_samples.shape) == 1: @@ -124,20 +125,26 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): a pointer from emulated samples to samples (in parameter space) """ + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + # Calculate pointers and volumes (P, _, io_ptr, emulate_ptr) = prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, None, d_Tree) # Apply the standard MC approximation - lam_vol = np.ones((samples.shape[0],)) + lam_vol = np.ones((samples.shape[0],1)) # Calculate Probabilities P = np.zeros((samples.shape[0],)) + # TODO Fix issue of unecessary mpi call + for i in range(rho_D_M.shape[0]): Itemp = np.equal(io_ptr, i) Itemp_sum = np.sum(lam_vol[Itemp]) Itemp_sum = comm.allreduce(Itemp_sum, op=MPI.SUM) if Itemp_sum > 0: P[Itemp] = rho_D_M[i]*lam_vol[Itemp]/Itemp_sum + lam_vol = (1.0/float(samples.shape[0]))*np.ones((samples.shape[0],1)) return (P, lam_vol, io_ptr, emulate_ptr) @@ -213,7 +220,7 @@ def prob_qhull(samples, data, rho_D_M, d_distr_samples, # Calculate the Voronoi diagram for samples. Calculate the volumes of # the convex hulls of the corresponding Voronoi regions. - lam_vol = np.zeros((samples.shape[-1],)) + lam_vol = np.zeros((samples.shape[-1],1)) for i in range((samples.shape[0])): vornoi = spatial.Voronoi(lam_bound) lam_vol[i] = float(pyhull.qconvex('Qt FA', vornoi.vertices).split()[-1]) @@ -257,6 +264,8 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, a pointer from emulated samples to samples (in parameter space) """ + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) # Calculate pointers and volumes (P, lambda_emulate, io_ptr, emulate_ptr) = prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, @@ -265,7 +274,7 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, # Apply the standard MC approximation to determine the number of emulated # samples per model run sample. This is for approximating # \mu_Lambda(A_i \intersect b_j) - lam_vol = np.zeros((samples.shape[0],)) + lam_vol = np.zeros((samples.shape[0],1)) for i in range(samples.shape[0]): lam_vol[i] = np.sum(np.equal(emulate_ptr, i)) clam_vol = np.copy(lam_vol) @@ -274,6 +283,7 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, lam_vol = lam_vol/(len(lambda_emulate)*size) # Calculate Probabilities + # TODO Fix issue of unecessary mpi call P = np.zeros((samples.shape[0],)) for i in range(rho_D_M.shape[0]): Itemp = np.equal(io_ptr, i) diff --git a/bet/util.py b/bet/util.py index 89456bf9..378c3130 100644 --- a/bet/util.py +++ b/bet/util.py @@ -56,6 +56,9 @@ def get_global_values(array): :rtype: :class:'~numpy.ndarray' :returns: array """ - + dir=len(array.shape) array = comm.allgather(array, array) - return np.vstack(array) + if dir==1: + return np.hstack(array) + else: + return np.vstack(array) diff --git a/setup.py b/setup.py index cab40391..c5eba602 100644 --- a/setup.py +++ b/setup.py @@ -10,4 +10,4 @@ author = 'Steven Mattis', author_email ='steve.a.mattis@gmail.com', url= 'https://github.com/smattis/BET', - packages =['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess', 'bet.loadBalance']) + packages =['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess']) diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 721b18e6..e99dab33 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -1,10 +1,7 @@ -# Lindley Graham 05/22/2014 - +# Steven Mattis and Lindley Graham 04/06/2015 """ This module contains tests for :module:`bet.caculcateP.calculateP`. - * compare using same lambda_emulated (iid and regular grid) - * compare using different lambda_emulated Most of these tests should make sure certain values are within a tolerance rather than exact due to the stocastic nature of the algorithms being tested. @@ -12,16 +9,20 @@ import unittest import bet.calculateP.calculateP as calcP -import numpy sa np +import bet.calculateP.simpleFunP as simpleFunP +import numpy as np import scipy.spatial as spatial import numpy.testing as nptest +import bet.util as util +from bet.Comm import * + class TestEmulateIIDLebesgue(unittest.TestCase): """ Test :meth:`bet.calculateP.calculateP.emulate_iid_lebesgue`. """ - def runTest(self): + def setUp(self): """ Test dimension, number of samples, and that all the samples are within lambda_domain. @@ -30,529 +31,418 @@ def runTest(self): lam_left = np.array([0.0, .25, .4]) lam_right = np.array([1.0, 4.0, .5]) - lam_domain = np.zeros((3,3)) - lam_domain[:,0] = lam_left - lam_domain[:,1] = lam_right - - num_l_emulate = 1e6 - - lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) + self.lam_domain = np.zeros((3,3)) + self.lam_domain[:,0] = lam_left + self.lam_domain[:,1] = lam_right - # check the dimension - np.assert_array_equal(lambda_emulate.shape, (3, num_l_emulate)) + self.num_l_emulate = 1000000 - # check that the samples are all within the correct bounds - np.assertGreaterEqual(0.0, np.min(lambda_emulate[0, :])) - np.assertGreaterEqual(.25, np.min(lambda_emulate[1, :])) - np.assertGreaterEqual(.4, np.min(lambda_emulate[2, :])) - np.assertLessEqual(1.0, np.max(lambda_emulate[0, :])) - np.assertLessEqual(4.0, np.max(lambda_emulate[1, :])) - np.assertLessEqual(.5, np.max(lambda_emulate[2, :])) - -# make sure probabilties and lam_vol follow the MC assumption (i.e. for uniform -# over the entire space they should all be the same, the hyperrectangle case -# will be different) + self.lambda_emulate = calcP.emulate_iid_lebesgue(self.lam_domain, self.num_l_emulate) + + def test_dimension(self): + """ + Check the dimension. + """ + nptest.assert_array_equal(self.lambda_emulate.shape, (int(self.num_l_emulate/size)+1,3)) -# compare the P calculated by the different methods on the same samples + def test_bounds(self): + """ + Check that the samples are all within the correct bounds + """ + self.assertGreaterEqual(np.min(self.lambda_emulate[:, 0]),0.0) + self.assertGreaterEqual(np.min(self.lambda_emulate[:,1]), 0.25) + self.assertGreaterEqual(np.min(self.lambda_emulate[:, 2]), 0.4) + self.assertLessEqual(np.max(self.lambda_emulate[:, 0]),1.0) + self.assertLessEqual(np.max(self.lambda_emulate[:,1]), 4.0) + self.assertLessEqual(np.max(self.lambda_emulate[:,2]), 0.5) -# add a skip thing to the tests involving qhull so that it only runs if that -# package is installed +class TestProbMethod_3to2(unittest.TestCase): + """ + Sets up 3 to 2 map problem. + """ + def setUp(self): + self.samples = np.loadtxt("datafiles/3to2_samples.txt.gz") + self.data = np.loadtxt("datafiles/3to2_data.txt.gz") + Q_ref = np.array([0.422, 0.9385]) + (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) + self.lam_domain= np.array([[0.0, 1.0], + [0.0, 1.0], + [0.0, 1.0]]) + import numpy.random as rnd + rnd.seed(1) + self.lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain=self.lam_domain, + num_l_emulate = 1000) +class Test_prob_3to2(TestProbMethod_3to2): + """ + Test :meth:`bet.calculateP.calculateP.prob` on 3 to 2 map. + """ + def setUp(self): + """ + Set up problem. + """ + super(Test_prob_3to2, self).setUp() + (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + d_Tree = self.d_Tree) + self.P_ref = np.loadtxt("datafiles/3to2_prob.txt.gz") -# test where P is uniform over the entire domain -# test where P is uniform over a hyperrectangle subdomain -# test with and without optional arguments, together and separatly -# compare using same lambda_emulated (iid and regular grid) -# compare using different lambda_emulated -# some will need to be within a tolerance and some will need to be exact -# also tolerances will need to be depend on if the lambda_emulated are the same -# and if there voronoi cells are the same, etc. -# test on a linear model and maybe a non-linear, read from file model + def test_prob_sum_to_1(self): + """ + Test to see if the prob. sums to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + def test_P_matches_true(self): + """ + Test against reference probs. (Only in serial) + """ + if size == 1: + nptest.assert_almost_equal(self.P_ref,self.P) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): + """ + Test that all probs are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) -class TestProb(object): +class Test_prob_emulated_3to2(TestProbMethod_3to2): """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. + Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 3 to 2 map. """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # Create model associated inputs (samples, data, lam_domain) - data_domain = np.array([[0.0, 1.0], [-1.0, 1.0], [-1.0, 0.0]]) - self.lam_domain = np.array([[.1, .2], [3, 4], [50, 60]]) - # iid samples - self.u_samples = None #calcP.emulate_iid_lebesgue(lam_domain, - #20**lam_domain.shape[0]) - # regular grid samples - lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 20) - lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 20) - lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 20) - lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) - self.r_samples = np.column_stack((lam1.ravel(), lam2.ravel(), lam3.ravel())) - - # Create lambda_emulate - # iid - self.u_lambda_emulate = None #calcP.emulate_iid_lebesgue(lam_domain, - 1e6) - # regular grid - lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 100) - lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 100) - lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 100) - lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) - self.r_lambda_emulate = np.column_stack((lam1.ravel(), lam2.ravel(), - lam3.ravel())) - - def compare_to_vol(result_vol, lambda_domain): + def setUp(self): + """ + Set up 3 to 2 map. """ - Compare lambda_vol from the algorithm to an analytic solution. + super(Test_prob_emulated_3to2, self).setUp() + (self.P_emulate, self.lambda_emulate, _ , _) = calcP.prob_emulated(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) + self.P_emulate_ref=np.loadtxt("datafiles/3to2_prob_emulated.txt.gz") + self.P_emulate = util.get_global_values(self.P_emulate) - :param result_vol: lambda_vol from any of the methods in - :mod:`~bet.calculatevol.calculatevol` - :type result_vol: :class:`numpy.ndarray` + def test_P_sum_to_1(self): + """ + Test that prob. sums to 1. + """ + nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) + def test_P_matches_true(self): + """ + Test that probabilites match reference values. + """ + if size == 1: + nptest.assert_almost_equal(self.P_emulate_ref,self.P_emulate) + def test_prob_pos(self): + """ + Test that all probabilites are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) +class Test_prob_mc_3to2(TestProbMethod_3to2): + """ + Test :meth:`bet.calculateP.calculateP.prob_mc` on a 3 to 2 map. + """ + def setUp(self): """ - lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) - lambda_vol = lambda_vol / float(len(result_vol)) - nptest.assert_array_equal(result_vol, - np.ones(result_vol.shape)*lambda_vol) - - def compare_to_vol_ae(result_vol, lambda_domain): + Set up 3 to 2 problem. """ - Compare ``lambda_vol`` from the algorithm to an analytic solution. + super(Test_prob_mc_3to2, self).setUp() + (self.P, self.lam_vol , _ , _, _) = calcP.prob_mc(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) + self.P_ref = np.loadtxt("datafiles/3to2_prob_mc.txt.gz") - :param result_vol: lambda_vol from any of the methods in - :mod:`~bet.calculatevol.calculatevol` - :type result_vol: :class:`numpy.ndarray` + def test_P_sum_to_1(self): + """ + Test that probs sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + def test_P_matches_true(self): + """ + Test the probs. match reference values. + """ + if size==1: + nptest.assert_almost_equal(self.P_ref,self.P) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): + """ + Test that all probs are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) +class TestProbMethod_3to1(unittest.TestCase): + """ + Set up 3 to 1 map problem. + """ + def setUp(self): + """ + Set up problem. + """ + self.samples = np.loadtxt("datafiles/3to2_samples.txt.gz") + self.data = np.loadtxt("datafiles/3to2_data.txt.gz")[:,0] + Q_ref = np.array([0.422]) + (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) + self.lam_domain= np.array([[0.0, 1.0], + [0.0, 1.0], + [0.0, 1.0]]) + import numpy.random as rnd + rnd.seed(1) + self.lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain=self.lam_domain, + num_l_emulate = 1000) +class Test_prob_3to1(TestProbMethod_3to1): + """ + Test :meth:`bet.calculateP.calculateP.prob` on a 3 to 1 map. + """ + def setUp(self): """ - lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) - lambda_vol = lambda_vol / float(len(result_vol)) - nptest.assert_array_almost_equal_nulp(result_vol, - np.ones(result_vol.shape)*lambda_vol) + Set up problem. + """ + super(Test_prob_3to1, self).setUp() + (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + d_Tree = self.d_Tree) + self.P_ref = np.loadtxt("datafiles/3to1_prob.txt.gz") - def compare_prob_dtree(result_wtree, result_wotree): + def test_prob_sum_to_1(self): + """ + Test that probs. sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + def test_P_matches_true(self): """ + Test that probs match reference data. + """ + if size==1: + nptest.assert_almost_equal(self.P_ref,self.P) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): + """ + Test that probs. are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - option arguments. +class Test_prob_emulated_3to1(TestProbMethod_3to1): + """ + Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 3 to 1 map. + """ + def setUp(self): """ - # calculate with d_tree - (P, lem, io_ptr, emulate_ptr) = result_wtree - # calculate without d_tree - (Pt, lemt, io_ptrt, emulate_ptrt) = result_wotree - # Compare results - nptest.assert_array_equal(P,Pt) - nptest.assert_array_equal(lem, lemt) - nptest.assert_array_equal(lem, self.r_lambda_emulate) - nptest.assert_array_equal(io_ptrt, ioptr) - nptest.assert_array_equal(emulate_ptr, emulate_ptrt) - - def compare_prob_emulate(result_wsamples, result_wosamples): + Set up problem. """ + super(Test_prob_emulated_3to1, self).setUp() + (self.P_emulate, self.lambda_emulate, _ , _) = calcP.prob_emulated(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) + self.P_emulate_ref=np.loadtxt("datafiles/3to1_prob_emulated.txt.gz") + self.P_emulate = util.get_global_values(self.P_emulate) - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - ``lambda_emulate`` when ``lambda_emulate == samples``. + def test_P_sum_to_1(self): + """ + Test the probs sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) + def test_P_matches_true(self): """ - # calculate with samples - (P, lem, io_ptr, emulate_ptr) = result_wsamples - # calculate without samples - (Pt, lemt, io_ptrt, emulate_ptrt) = result_wosamples - # Compare results - nptest.assert_array_equal(P,Pt) - nptest.assert_array_equal(lem, lemt) - nptest.assert_array_equal(lem, self.r_lambda_emulate) - nptest.assert_array_equal(io_ptrt,ioptr) - nptest.assert_array_equal(emulate_ptr, emulate_ptrt) + Test the probs. match reference values. + """ + if size==1: + nptest.assert_almost_equal(self.P_emulate_ref,self.P_emulate) - def compare_prob(result_emulated, result_prob, result_mc): + def test_prob_pos(self): + """ + Test that all probs are non-negative. """ + self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. +class Test_prob_mc_3to1(TestProbMethod_3to1): + """ + Test :meth:`bet.calculateP.calculateP.prob_mc` on a 3 to 1 map. + """ + def setUp(self): + """ + Set up problem. + """ + super(Test_prob_mc_3to1, self).setUp() + (self.P, self.lam_vol , _ , _, _) = calcP.prob_mc(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) + self.P_ref = np.loadtxt("datafiles/3to1_prob_mc.txt.gz") + def test_P_sum_to_1(self): """ - # Calculate prob - (P, lem, io_ptr, emulate_ptr) = result_emulated - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc + Test that probs sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) - # Compare results - nptest.assert_array_equal(P,P1) - nptest.assert_array_equal(P,P3) - nptest.assert_array_equal(P1,P3) + def test_P_matches_true(self): + """ + Test that probs match reference vals. + """ + if size==1: + nptest.assert_almost_equal(self.P_ref,self.P) - nptest.assert_array_equal(lam_vol1,lam_vol3) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - nptest.assert_array_equal(lem,lem1) - nptest.assert_array_equal(lem,lem3) - nptest.assert_array_equal(lem1,lem3) + def test_prob_pos(self): + """ + Test that all probs are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) - nptest.assert_array_equal(io_ptr,io_ptr1) - nptest.assert_array_equal(io_ptr,io_ptr3) - nptest.assert_array_equal(io_ptr1,io_ptr3) - - nptest.assert_array_equal(emulate_ptr,emulate_ptr1) - nptest.assert_array_equal(emulate_ptr,emulate_ptr3) - nptest.assert_array_equal(emulate_ptr1,emulate_ptr3) - - def compare_volume_rg(result_prob, result_mc): - """ - - Make sure that the voronoi cell volumes from - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - all on a regular grid and ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc - - nptest.assert_array_equal(lam_vol1,lam_vol3) - self.compare_to_mean(lam_vol1) - self.compare_to_vol_linear(lam_vol1) - - def compare_volume_ae(result_prob, result_mc): - """ - - Make sure that the voronoi cell volumes from - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - i.i.d and ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc - - nptest.assert_array_equal(lam_vol1, lam_vol3) - self.compare_to_mean_ae(lam_vol1) - self.compare_to_vol_linear_ae(lam_vol1) - - def compare_lambda_emulate(result_prob, result_rg, result_iid): - """ - Compare results when lambda_emulate != samples - - * lambda_emulate is i.i.d. or on a regular grid - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob (has no lambda_emulate) - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - # Calculate prob_mc (has lambda_emulate), regular grid - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_rg - # Calculate prob_mc (has lambda_emulate), iid samples - (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = result_iid - - # Compare results - nptest.assert_array_almost_equal_nulp(P1,P3) - nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol3) - - nptest.assert_array_almost_equal_nulp(P4,P3) - nptest.assert_array_almost_equal_nulp(lam_vol4, lam_vol3) - - nptest.assert_array_almost_equal_nulp(P1,P4) - nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol4) - - def generate_results(self): - """ - Generate the mix of results from - :meth:~`bet.calculateP.calculateP.prob_emulated`, - :meth:~`bet.calculateP.calculateP.prob`, and - :meth:~`bet.calculateP.calculateP.prob_mc` to be used in test - subclasses - """ - - # RESULTS WHERE SAMPLES = LAMBDA_EMULATE - # samples are on a regular grid - # result_wtree, result_wsamples, result_emulated_rg - self.result_emulated_rg = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples, self.d_Tree) - self.result_wtree = result_emulated_rg - self.result_wsamples = result_emulated_rg - self.result_wotree = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples) - self.result_wosamples = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain) - - self.result_prob_rg = calcP.prob(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.d_Tree) - self.result_mc_rg = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples, self.d_Tree) - - # samples are iid - self.result_emulated_iid = calcP.prob_emulated(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_samples, self.d_Tree) - self.result_prob_iid = calcP.prob(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.d_Tree) - self.result_mc_iid = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_samples, self.d_Tree) - - # RESULTS WHERE SAMPLES != LAMBDA_EMULATE - # result_emu_samples_emulatedsamples - self.result_emu_rg_rg = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_lambda_emulate, self.d_Tree) - self.result_emu_rg_iid = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_lambda_emulate, self.d_Tree) - self.result_emu_iid_rg = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_lambda_emulate, self.d_Tree) - self.result_emu_iid_iid = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_lambda_emulate, self.d_Tree) - - -class LinearModel(CompareProb): - """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. - """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # This might not be the right invocation. - super(TestLinearModel, self).setUpClass(TestLinearModel) - # linear model - self.rl_data = np.dot(r_samples, data_domain) - self.ul_data = np.dot(u_samples, data_domain) - -class NonLinearModel(CompareProb): +class TestProbMethod_10to4(unittest.TestCase): """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. + Sets up 10 to 4 map problem. """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # This might not be the right invocation. - super(NonLinearModel, self).setUpClass(NonLinearModel) - # non-linear model - def nonlinear_model(l_data): - n_data = l_data - n_data[:,0] = l_data[:,0] + l_data[:,2] - n_data[:,1] = np.square(l_data[:,1]) - n_data[:,2] = l_data[:,0] - n_data[:,1] - return n_data - self.rn_data = nonlinear_model(rl_data) - self.un_data = nonlinear_model(ul_data) - -class TestProbUnifLinear(LinearModel, unittest.TestCase): + def setUp(self): + """ + Set up problem. + """ + import numpy.random as rnd + rnd.seed(1) + self.lam_domain=np.zeros((10,2)) + self.lam_domain[:,0]=0.0 + self.lam_domain[:,1]=1.0 + self.num_l_emulate = 1000 + self.lambda_emulate = calcP.emulate_iid_lebesgue(self.lam_domain, self.num_l_emulate) + self.samples = calcP.emulate_iid_lebesgue(self.lam_domain, 100) + self.data = np.dot(self.samples,rnd.rand(10,4)) + Q_ref = np.mean(self.data, axis=0) + (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) + +class Test_prob_10to4(TestProbMethod_10to4): """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP`. + Test :meth:`bet.calculateP.calculateP.prob` on a 10 to 4 map. """ - @classmethod - def setUpClass(cls): + def setUp(self): """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. + Set up problem. """ - # This might not be the right invocation. - super(TestProbUnifLinear, self).setUpClass(TestProbUnifLinear) - - # Create rho_D_M associated inputs (rho_D_M, d_distr_samples, d_tree) - # UNIFORM - self.d_distr_dsamples = np.mean(self.data_domain, 1) - self.rho_D_M = 1 - self.d_Tree = spatial.KDTree(self.d_distr_samples) - - # Generate results - super(TestProbUnifLinear, self).generate_results(self) + super(Test_prob_10to4, self).setUp() + (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + d_Tree = self.d_Tree) - def compare_to_unif_linear(result_P): + def test_prob_sum_to_1(self): """ - Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform - over $\mathbf{D}$ (linear model only). - - :param result_P: P from any of the methods in - :mod:`~bet.calculateP.calculateP` - :type result_P: :class:`numpy.ndarray` + Test that probs sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + def test_vol_sum_to_1(self): """ - nptest.assert_array_equal(result_P, - np.ones(result_P.shape)/float(len(result_P))) - - def compare_to_unif_linear_ae(result_P): + Test that volume ratios sum to 1. """ - Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform - over $\mathbf{D}$ (linear model only). - - :param result_P: P from any of the methods in - :mod:`~bet.calculateP.calculateP` - :type result_P: :class:`numpy.ndarray` + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): """ - nptest.assert_array_almost_equal_nulp(result_P, - np.ones(result_P.shape)/float(len(result_P))) - - def test_prob_dtree(self): + Test that all probs are non-negative. """ + self.assertEqual(np.sum(np.less(self.P,0)),0) - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - option arguments. - - """ - compare_prob_dtree(self.result_wtree, self.result_wotree) - - def test_prob_emulate(self): +class Test_prob_emulated_10to4(TestProbMethod_10to4): + """ + Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 10 to 4 map. + """ + def setUp(self): + """ + Set up problem. """ + super(Test_prob_emulated_10to4, self).setUp() - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - ``lambda_emulate`` when ``lambda_emulate == samples``. + (self.P_emulate, self.lambda_emulate, _ , _) = calcP.prob_emulated(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) + self.P_emulate = util.get_global_values(self.P_emulate) + def test_P_sum_to_1(self): """ - compare_prob_emulate(self.result_wsamples, self.result_wosamples) - - def test_prob_rg(self): + Test that probs. sum to 1. """ + nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - all on a regular grid when ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - + def test_prob_pos(self): + """ + Test that all probs are non-negative. """ - compare_prob(self.result_emulated_rg, self.result_prob_rg,self.result_mc_rg) - compare_volume_rg(self.results_prob_rg, self.result_mc_rg) + self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) - def test_prob_iid(self): +class Test_prob_mc_10to4(TestProbMethod_10to4): + """ + Test :meth:`bet.calculateP.calculateP.prob_mc` on a 10 to 4 map. + """ + def setUp(self): + """ + Set up problem. """ + super(Test_prob_mc_10to4, self).setUp() + (self.P, self.lam_vol , _ , _, _) = calcP.prob_mc(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + lam_domain = self.lam_domain, + lambda_emulate = self.lambda_emulate, + d_Tree = self.d_Tree) - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - i.i.d. with respect to the Lebesgue measure when ``lambda_emulate == samples``. + def test_P_sum_to_1(self): + """ + Test the probs. sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): """ - compare_prob(self.result_emulated_iid, self.result_prob_iid, - self.result_mc_iid) - compare_volume_ae(self.results_prob_iid, self.result_mc_iid) - - def test_l_emulate_rg(self): - """ - Compare results when lambda_emulate != samples - - * samples are on a regular grid - * lambda_emulate is i.i.d. or on a regular grid - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - compare_lambda_emulate(self.result_prob_rg, self.result_emu_rg_rg, - self.result_emu_rg_iid) - compare_volume_ae( - compare_volume_ae( - compare_volume_ae( - - # Calculate prob (has no lambda_emulate) - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = calc.prob(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.ud_tree) - - # Calculate prob_mc (has lambda_emulate) - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = calc.prob_mc(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.u_lambda_emulate, self.ud_tree) - - # Compare to mean - self.compare_to_mean_ae(P3) - self.compare_to_mean_ae(lam_vol3) - - (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = calc.prob_mc(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.u_lambda_emulate, self.ud_tree) - - # Compare to mean - self.compare_to_mean_ae(P4) - self.compare_to_mean_ae(lam_vol4) - - # Compare results - nptest.assert_array_almost_equal_nulp(P1,P3) - nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol3) - - nptest.assert_array_almost_equal_nulp(P4,P3) - nptest.assert_array_almost_equal_nulp(lam_vol4,lam_vol3) - - nptest.assert_array_almost_equal_nulp(P1,P4) - nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol4 - ) - - def test_compare_to_analytic_solution(self): - pass + Test that probs. are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) diff --git a/test/test_calculateP/test_calculateP_old.py b/test/test_calculateP/test_calculateP_old.py new file mode 100644 index 00000000..721b18e6 --- /dev/null +++ b/test/test_calculateP/test_calculateP_old.py @@ -0,0 +1,558 @@ +# Lindley Graham 05/22/2014 + +""" +This module contains tests for :module:`bet.caculcateP.calculateP`. + + * compare using same lambda_emulated (iid and regular grid) + * compare using different lambda_emulated + +Most of these tests should make sure certain values are within a tolerance +rather than exact due to the stocastic nature of the algorithms being tested. +""" + +import unittest +import bet.calculateP.calculateP as calcP +import numpy sa np +import scipy.spatial as spatial +import numpy.testing as nptest + +class TestEmulateIIDLebesgue(unittest.TestCase): + """ + Test :meth:`bet.calculateP.calculateP.emulate_iid_lebesgue`. + """ + + def runTest(self): + """ + Test dimension, number of samples, and that all the samples are within + lambda_domain. + + """ + lam_left = np.array([0.0, .25, .4]) + lam_right = np.array([1.0, 4.0, .5]) + + lam_domain = np.zeros((3,3)) + lam_domain[:,0] = lam_left + lam_domain[:,1] = lam_right + + num_l_emulate = 1e6 + + lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) + + # check the dimension + np.assert_array_equal(lambda_emulate.shape, (3, num_l_emulate)) + + # check that the samples are all within the correct bounds + np.assertGreaterEqual(0.0, np.min(lambda_emulate[0, :])) + np.assertGreaterEqual(.25, np.min(lambda_emulate[1, :])) + np.assertGreaterEqual(.4, np.min(lambda_emulate[2, :])) + np.assertLessEqual(1.0, np.max(lambda_emulate[0, :])) + np.assertLessEqual(4.0, np.max(lambda_emulate[1, :])) + np.assertLessEqual(.5, np.max(lambda_emulate[2, :])) + +# make sure probabilties and lam_vol follow the MC assumption (i.e. for uniform +# over the entire space they should all be the same, the hyperrectangle case +# will be different) + +# compare the P calculated by the different methods on the same samples + +# add a skip thing to the tests involving qhull so that it only runs if that +# package is installed + +# test where P is uniform over the entire domain +# test where P is uniform over a hyperrectangle subdomain +# test with and without optional arguments, together and separatly +# compare using same lambda_emulated (iid and regular grid) +# compare using different lambda_emulated +# some will need to be within a tolerance and some will need to be exact +# also tolerances will need to be depend on if the lambda_emulated are the same +# and if there voronoi cells are the same, etc. +# test on a linear model and maybe a non-linear, read from file model + +class TestProb(object): + """ + Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear + model. + """ + @classmethod + def setUpClass(cls): + """ + Create inputs for ``prob*`` methods. This should run only once per + grouping of tests from this class. But, for isolated tests it doesn't + make any sense to do it this way. Since many of these tests are + comparision tests it should be fine to structure things in this manner + rather using inheritance everywhere. + """ + # Create model associated inputs (samples, data, lam_domain) + data_domain = np.array([[0.0, 1.0], [-1.0, 1.0], [-1.0, 0.0]]) + self.lam_domain = np.array([[.1, .2], [3, 4], [50, 60]]) + # iid samples + self.u_samples = None #calcP.emulate_iid_lebesgue(lam_domain, + #20**lam_domain.shape[0]) + # regular grid samples + lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 20) + lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 20) + lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 20) + lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) + self.r_samples = np.column_stack((lam1.ravel(), lam2.ravel(), lam3.ravel())) + + # Create lambda_emulate + # iid + self.u_lambda_emulate = None #calcP.emulate_iid_lebesgue(lam_domain, + 1e6) + # regular grid + lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 100) + lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 100) + lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 100) + lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) + self.r_lambda_emulate = np.column_stack((lam1.ravel(), lam2.ravel(), + lam3.ravel())) + + def compare_to_vol(result_vol, lambda_domain): + """ + Compare lambda_vol from the algorithm to an analytic solution. + + :param result_vol: lambda_vol from any of the methods in + :mod:`~bet.calculatevol.calculatevol` + :type result_vol: :class:`numpy.ndarray` + + """ + lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) + lambda_vol = lambda_vol / float(len(result_vol)) + nptest.assert_array_equal(result_vol, + np.ones(result_vol.shape)*lambda_vol) + + def compare_to_vol_ae(result_vol, lambda_domain): + """ + Compare ``lambda_vol`` from the algorithm to an analytic solution. + + :param result_vol: lambda_vol from any of the methods in + :mod:`~bet.calculatevol.calculatevol` + :type result_vol: :class:`numpy.ndarray` + + """ + lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) + lambda_vol = lambda_vol / float(len(result_vol)) + nptest.assert_array_almost_equal_nulp(result_vol, + np.ones(result_vol.shape)*lambda_vol) + + def compare_prob_dtree(result_wtree, result_wotree): + """ + + Make sure the output from + :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without + option arguments. + + """ + # calculate with d_tree + (P, lem, io_ptr, emulate_ptr) = result_wtree + # calculate without d_tree + (Pt, lemt, io_ptrt, emulate_ptrt) = result_wotree + # Compare results + nptest.assert_array_equal(P,Pt) + nptest.assert_array_equal(lem, lemt) + nptest.assert_array_equal(lem, self.r_lambda_emulate) + nptest.assert_array_equal(io_ptrt, ioptr) + nptest.assert_array_equal(emulate_ptr, emulate_ptrt) + + def compare_prob_emulate(result_wsamples, result_wosamples): + """ + + Make sure the output from + :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without + ``lambda_emulate`` when ``lambda_emulate == samples``. + + """ + # calculate with samples + (P, lem, io_ptr, emulate_ptr) = result_wsamples + # calculate without samples + (Pt, lemt, io_ptrt, emulate_ptrt) = result_wosamples + # Compare results + nptest.assert_array_equal(P,Pt) + nptest.assert_array_equal(lem, lemt) + nptest.assert_array_equal(lem, self.r_lambda_emulate) + nptest.assert_array_equal(io_ptrt,ioptr) + nptest.assert_array_equal(emulate_ptr, emulate_ptrt) + + def compare_prob(result_emulated, result_prob, result_mc): + """ + + Make sure that the output from + :meth:`~bet.calculateP.calculateP.prob_emulated`, + :meth:`~bet.calculateP.calculateP.prob`, + :meth:`~bet.calculateP.calculateP.prob_mc` matches when ``lambda_emulate == samples``. + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + # Calculate prob + (P, lem, io_ptr, emulate_ptr) = result_emulated + (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob + (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc + + # Compare results + nptest.assert_array_equal(P,P1) + nptest.assert_array_equal(P,P3) + nptest.assert_array_equal(P1,P3) + + nptest.assert_array_equal(lam_vol1,lam_vol3) + + nptest.assert_array_equal(lem,lem1) + nptest.assert_array_equal(lem,lem3) + nptest.assert_array_equal(lem1,lem3) + + nptest.assert_array_equal(io_ptr,io_ptr1) + nptest.assert_array_equal(io_ptr,io_ptr3) + nptest.assert_array_equal(io_ptr1,io_ptr3) + + nptest.assert_array_equal(emulate_ptr,emulate_ptr1) + nptest.assert_array_equal(emulate_ptr,emulate_ptr3) + nptest.assert_array_equal(emulate_ptr1,emulate_ptr3) + + def compare_volume_rg(result_prob, result_mc): + """ + + Make sure that the voronoi cell volumes from + :meth:`~bet.calculateP.calculateP.prob`, + :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are + all on a regular grid and ``lambda_emulate == samples``. + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + # Calculate prob + (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob + (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc + + nptest.assert_array_equal(lam_vol1,lam_vol3) + self.compare_to_mean(lam_vol1) + self.compare_to_vol_linear(lam_vol1) + + def compare_volume_ae(result_prob, result_mc): + """ + + Make sure that the voronoi cell volumes from + :meth:`~bet.calculateP.calculateP.prob`, + :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are + i.i.d and ``lambda_emulate == samples``. + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + # Calculate prob + (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob + (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc + + nptest.assert_array_equal(lam_vol1, lam_vol3) + self.compare_to_mean_ae(lam_vol1) + self.compare_to_vol_linear_ae(lam_vol1) + + def compare_lambda_emulate(result_prob, result_rg, result_iid): + """ + Compare results when lambda_emulate != samples + + * lambda_emulate is i.i.d. or on a regular grid + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + # Calculate prob (has no lambda_emulate) + (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob + # Calculate prob_mc (has lambda_emulate), regular grid + (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_rg + # Calculate prob_mc (has lambda_emulate), iid samples + (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = result_iid + + # Compare results + nptest.assert_array_almost_equal_nulp(P1,P3) + nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol3) + + nptest.assert_array_almost_equal_nulp(P4,P3) + nptest.assert_array_almost_equal_nulp(lam_vol4, lam_vol3) + + nptest.assert_array_almost_equal_nulp(P1,P4) + nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol4) + + def generate_results(self): + """ + Generate the mix of results from + :meth:~`bet.calculateP.calculateP.prob_emulated`, + :meth:~`bet.calculateP.calculateP.prob`, and + :meth:~`bet.calculateP.calculateP.prob_mc` to be used in test + subclasses + """ + + # RESULTS WHERE SAMPLES = LAMBDA_EMULATE + # samples are on a regular grid + # result_wtree, result_wsamples, result_emulated_rg + self.result_emulated_rg = calcP.prob_emulated(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.r_samples, self.d_Tree) + self.result_wtree = result_emulated_rg + self.result_wsamples = result_emulated_rg + self.result_wotree = calcP.prob_emulated(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.r_samples) + self.result_wosamples = calcP.prob_emulated(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain) + + self.result_prob_rg = calcP.prob(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.d_Tree) + self.result_mc_rg = calcP.prob_mc(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.r_samples, self.d_Tree) + + # samples are iid + self.result_emulated_iid = calcP.prob_emulated(self.u_samples, self.u_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.u_samples, self.d_Tree) + self.result_prob_iid = calcP.prob(self.u_samples, self.u_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.d_Tree) + self.result_mc_iid = calcP.prob_mc(self.u_samples, self.u_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.u_samples, self.d_Tree) + + # RESULTS WHERE SAMPLES != LAMBDA_EMULATE + # result_emu_samples_emulatedsamples + self.result_emu_rg_rg = calcP.prob_mc(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.r_lambda_emulate, self.d_Tree) + self.result_emu_rg_iid = calcP.prob_mc(self.r_samples, self.r_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.u_lambda_emulate, self.d_Tree) + self.result_emu_iid_rg = calcP.prob_mc(self.u_samples, self.u_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.r_lambda_emulate, self.d_Tree) + self.result_emu_iid_iid = calcP.prob_mc(self.u_samples, self.u_data, + self.rho_D_M, self.d_distr_samples, self.lam_domain, + self.u_lambda_emulate, self.d_Tree) + + +class LinearModel(CompareProb): + """ + Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear + model. + """ + @classmethod + def setUpClass(cls): + """ + Create inputs for ``prob*`` methods. This should run only once per + grouping of tests from this class. But, for isolated tests it doesn't + make any sense to do it this way. Since many of these tests are + comparision tests it should be fine to structure things in this manner + rather using inheritance everywhere. + """ + # This might not be the right invocation. + super(TestLinearModel, self).setUpClass(TestLinearModel) + # linear model + self.rl_data = np.dot(r_samples, data_domain) + self.ul_data = np.dot(u_samples, data_domain) + +class NonLinearModel(CompareProb): + """ + Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear + model. + """ + @classmethod + def setUpClass(cls): + """ + Create inputs for ``prob*`` methods. This should run only once per + grouping of tests from this class. But, for isolated tests it doesn't + make any sense to do it this way. Since many of these tests are + comparision tests it should be fine to structure things in this manner + rather using inheritance everywhere. + """ + # This might not be the right invocation. + super(NonLinearModel, self).setUpClass(NonLinearModel) + # non-linear model + def nonlinear_model(l_data): + n_data = l_data + n_data[:,0] = l_data[:,0] + l_data[:,2] + n_data[:,1] = np.square(l_data[:,1]) + n_data[:,2] = l_data[:,0] - n_data[:,1] + return n_data + self.rn_data = nonlinear_model(rl_data) + self.un_data = nonlinear_model(ul_data) + +class TestProbUnifLinear(LinearModel, unittest.TestCase): + """ + Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP`. + """ + @classmethod + def setUpClass(cls): + """ + Create inputs for ``prob*`` methods. This should run only once per + grouping of tests from this class. But, for isolated tests it doesn't + make any sense to do it this way. Since many of these tests are + comparision tests it should be fine to structure things in this manner + rather using inheritance everywhere. + """ + # This might not be the right invocation. + super(TestProbUnifLinear, self).setUpClass(TestProbUnifLinear) + + # Create rho_D_M associated inputs (rho_D_M, d_distr_samples, d_tree) + # UNIFORM + self.d_distr_dsamples = np.mean(self.data_domain, 1) + self.rho_D_M = 1 + self.d_Tree = spatial.KDTree(self.d_distr_samples) + + # Generate results + super(TestProbUnifLinear, self).generate_results(self) + + def compare_to_unif_linear(result_P): + """ + Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform + over $\mathbf{D}$ (linear model only). + + :param result_P: P from any of the methods in + :mod:`~bet.calculateP.calculateP` + :type result_P: :class:`numpy.ndarray` + + """ + nptest.assert_array_equal(result_P, + np.ones(result_P.shape)/float(len(result_P))) + + def compare_to_unif_linear_ae(result_P): + """ + Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform + over $\mathbf{D}$ (linear model only). + + :param result_P: P from any of the methods in + :mod:`~bet.calculateP.calculateP` + :type result_P: :class:`numpy.ndarray` + + """ + nptest.assert_array_almost_equal_nulp(result_P, + np.ones(result_P.shape)/float(len(result_P))) + + def test_prob_dtree(self): + """ + + Make sure the output from + :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without + option arguments. + + """ + compare_prob_dtree(self.result_wtree, self.result_wotree) + + def test_prob_emulate(self): + """ + + Make sure the output from + :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without + ``lambda_emulate`` when ``lambda_emulate == samples``. + + """ + compare_prob_emulate(self.result_wsamples, self.result_wosamples) + + def test_prob_rg(self): + """ + + Make sure that the output from + :meth:`~bet.calculateP.calculateP.prob_emulated`, + :meth:`~bet.calculateP.calculateP.prob`, + :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are + all on a regular grid when ``lambda_emulate == samples``. + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + compare_prob(self.result_emulated_rg, self.result_prob_rg,self.result_mc_rg) + compare_volume_rg(self.results_prob_rg, self.result_mc_rg) + + def test_prob_iid(self): + """ + + Make sure that the output from + :meth:`~bet.calculateP.calculateP.prob_emulated`, + :meth:`~bet.calculateP.calculateP.prob`, + :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are + i.i.d. with respect to the Lebesgue measure when ``lambda_emulate == samples``. + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + compare_prob(self.result_emulated_iid, self.result_prob_iid, + self.result_mc_iid) + compare_volume_ae(self.results_prob_iid, self.result_mc_iid) + + def test_l_emulate_rg(self): + """ + Compare results when lambda_emulate != samples + + * samples are on a regular grid + * lambda_emulate is i.i.d. or on a regular grid + + .. note:: + This method also needs to include + :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the + user has the Python `pyhull `_ + package installed. + + """ + compare_lambda_emulate(self.result_prob_rg, self.result_emu_rg_rg, + self.result_emu_rg_iid) + compare_volume_ae( + compare_volume_ae( + compare_volume_ae( + + # Calculate prob (has no lambda_emulate) + (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = calc.prob(self.u_samples, + self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, + self.ud_tree) + + # Calculate prob_mc (has lambda_emulate) + (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = calc.prob_mc(self.u_samples, + self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, + self.u_lambda_emulate, self.ud_tree) + + # Compare to mean + self.compare_to_mean_ae(P3) + self.compare_to_mean_ae(lam_vol3) + + (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = calc.prob_mc(self.u_samples, + self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, + self.u_lambda_emulate, self.ud_tree) + + # Compare to mean + self.compare_to_mean_ae(P4) + self.compare_to_mean_ae(lam_vol4) + + # Compare results + nptest.assert_array_almost_equal_nulp(P1,P3) + nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol3) + + nptest.assert_array_almost_equal_nulp(P4,P3) + nptest.assert_array_almost_equal_nulp(lam_vol4,lam_vol3) + + nptest.assert_array_almost_equal_nulp(P1,P4) + nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol4 + ) + + def test_compare_to_analytic_solution(self): + pass From 02de53a6a5c015224a9558eac050ab72d5a2e69e Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Tue, 7 Apr 2015 15:57:56 -0600 Subject: [PATCH 11/85] update tests and fix 1D issues --- bet/calculateP/calculateP.py | 6 + .../datafiles/3to1_prob.txt.gz | Bin 0 -> 1406 bytes .../datafiles/3to1_prob_emulated.txt.gz | Bin 0 -> 402 bytes .../datafiles/3to1_prob_mc.txt.gz | Bin 0 -> 846 bytes .../datafiles/3to2_data.txt.gz | Bin 0 -> 107831 bytes .../datafiles/3to2_prob.txt.gz | Bin 0 -> 1126 bytes .../datafiles/3to2_prob_emulated.txt.gz | Bin 0 -> 333 bytes .../datafiles/3to2_prob_mc.txt.gz | Bin 0 -> 663 bytes .../datafiles/3to2_samples.txt.gz | Bin 0 -> 162836 bytes test/test_calculateP/test_calculateP.py | 120 ++++++++++++++++++ 10 files changed, 126 insertions(+) create mode 100644 test/test_calculateP/datafiles/3to1_prob.txt.gz create mode 100644 test/test_calculateP/datafiles/3to1_prob_emulated.txt.gz create mode 100644 test/test_calculateP/datafiles/3to1_prob_mc.txt.gz create mode 100644 test/test_calculateP/datafiles/3to2_data.txt.gz create mode 100644 test/test_calculateP/datafiles/3to2_prob.txt.gz create mode 100644 test/test_calculateP/datafiles/3to2_prob_emulated.txt.gz create mode 100644 test/test_calculateP/datafiles/3to2_prob_mc.txt.gz create mode 100644 test/test_calculateP/datafiles/3to2_samples.txt.gz diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index 0a1ba807..d1ae5e93 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -64,6 +64,8 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, :returns: (P, lambda_emulate, io_ptr, emulate_ptr, lam_vol) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) if lambda_emulate == None: @@ -125,6 +127,8 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): a pointer from emulated samples to samples (in parameter space) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) @@ -264,6 +268,8 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, a pointer from emulated samples to samples (in parameter space) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) # Calculate pointers and volumes diff --git a/test/test_calculateP/datafiles/3to1_prob.txt.gz b/test/test_calculateP/datafiles/3to1_prob.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..503f6a98e21e565ef34dae4ce353c1042676e3e6 GIT binary patch literal 1406 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 z )1kP!pU6I8bW=3%y7KCJO)8%}!Nl)x4T*$GdlMJA9>;4J%$IoB1PF?u*l?NojM zZYRSL2z990^b|!4aU%O#+a5V(w?AQC#~lS6ttO6`8sHb z=l1~{U_5DE`h_*l(#MbPmYKG46f1e4rrw}S4kZU&Na~t4uvL+=19r*)+6%Tuk`3}l$H4A>6 zJlsQnval0;Y{?)j@hmboAIlR&*&Z2L|1(2&36akdJzPaGHNK1>-N(f#|B^tGS=SN18TB$ zBoT4@q5tT2yZz0Xr9YwBay5!6B4>IZ)t$p>b}ZCHd&FmVLWs8ce)s}a0P!dBde?n! z-y3%XW4ut|qImccq8Z_ey8wd|u!o;KmpELb5d0tVU+Q;9z z&ZBbd-Bvl(5+&$nO#F^>t^rdmeG3pc0DF*g&f9mWe4$=% zA7J}Y)2JBl=O|T~HTTZCL*JbP(Pz6?TAJ>WN?&Xd)6cdhsd?Hte_icsAC-7$TCL;!%Z?bkphXp4lf%ZTg= zsd_xuMU>0F8&MkN`0B^-l~TD8 zsl5lEC$ay8i~3rDlcA^rRPVhA{3#!M`+$Y`B}L{|zDT6~f-PI=+W{^(rm;=@^f7e+ z1KY-2jnaZ(^;*md$>CipEA%N4(=nQ?T| zi2upjvQ+*+6K`>KUt_DJCevEKGlSIV=bvu-eaz(Q2o&A7+EkM_5=LK{5ircox#;`s zytfH*to7je%t~Lm=eY@00d97xSXsGxVjni+oV#c}M?mX&)xd|gv-m!?3oXgsj0#Wr zAR7>ev|sbKZN^=F$w2Z2{LyiIwsn8B(Eo_D&LnOW`_ty|io!0o?%EqDx!%)O{<5<3 znyQyOq%KfW0>06Tu(8=C?g=`CV>xRg{C-e2!5P(BCO!MgQB<-#0f~8rrgsU6Sc*DL zZt_Peo$Iv8F=zGZ6C6z~j-2gi>xT@k@zm4qH6CpJ5d!b!^mgfUaRyy)o>Us)4DRr6 ze?#Fp7tI0w*>pLvTRA5M(Tq?mlEJwBWhY!=-BIvSXwR$^rw6=c0xXVmUo1VJHMl_l zrfT@9nb^PWHZ5!CM=T$UfVd+W9|2w8MNmFN6?PyRU|);l<-{Y2lI~wpc&^XtE!ZWyB^#lYIw1yK z-9*DE3t!acn|Ps3JjCr>jXrjuhkW~(3e zrxw|x;P5$qs5!ker=`b~Fng;CS=-kFb<=ibkh`)u#3bL}zl>1 z{iBUSN5uGaKgCBoiPp~+MoLdb-Oj3aqZ(-7URmK!hUt4!-x*D)5Uu^6dIy2ZNM{uw zP;tHVCA?0_bjl3rSgF&Loe8xh^*ZlAI+?_BavWbOv+FFb+LkaX8WXY2SOzSt_JOyKSe40On+_cTyTKK_o}6<>UIPAL_r5)^vn+Okq3Fl2`$!#i04{< zHHT8{K*V0H;kOP!=%WX`;n zYEsupkajAK#xrlV=QEx5RJL)y{2}nS9L4dWUFF(JC#d1;du##QqUq8ZZn=s0Qj0)C zd_>*l2RzAOE&2tqqI?ev%K4E*L$9RWKiM6}@|+=i(&cX{4v3+C8!Up2b|64uh&YeZ{7TI({2udOJUZ)YfSsLy?>FIxo&f8+EIq|eBp_`OTd3B38 zF!pK1dWk&N#6M;L0-~jw^zu_1E49vIW;(;vcl5JR7h4hE19Gt<6oT5HB3dVyN_=#W zqiIr_Z_ST;IB^|!A^_^sy@Ko7DIU*1Oj)Z$2Q@?j&}rq$w1^TeZwymfTUn+E%{Xnt z@R}5}NFhX)LA@{#^s)GfgxS~q*`}&Dpv!m?F@Qs&r7l`1*a{3Kg&TYG()*Ysl4`XC zIsC37$&0qsdoF1E+Os;Acr3T%=c?I`yY_>z_W4)@-rm#AVFzir>;ENR_QF>_j%evS zzphWdQZPbO$qtfk=`GBT(gC=zno+F?zo%yU)ZjKOIL&)P>x+J&IW^AM3GZfBd}8em z*Q!rFT%<~mU{u3gSNyblu_mEWFMr#n!FBJ{E;XBFYr+nsGUlgi(8xD*q?_}voqtEq zHnYc}u$k4>-q{Q>Ky91-$wGRdY5d#$R+QNHC?5-CN{;ndw|a4Lv>aPzcI2ULZuPSh zri>tS49RGl6PE5*9f4esn(o_FW_oh>ge=FvJ+tDy=c;Xl_&fPW#s1t-{{)hnr{Kpe z-UrSjo4&Jfo}tXp3fmvH-WKri%3vEGLVW`wu%|T)I&S%n0&F z5wnhd{*eEIG4w5JLoXA@yisi_)Q}b_o3&=n~m&QxMrQUqYxPDZ61nzf&n!EaZ4pKhvD}8s1 z+vD=B&u6z==$+6b{hMpdr(Ls|P+yUc=MOxZjbhJqDp8;33?R*SF2qd}m;Zlio%_Gw z2Cx(qn3jjdtm&B4Vk!+tb(pih>i8fAB^#l^J^u7+Iq+RNqI)Vq5&~+Efst(W_>*iM z(HAuUv;&RQ)OaOFB$mo?#X4S}?x_>jJDcrXV}9o+OOISW z+DGz`FHY95xkqt1&qUOZ(-x4%=c-*Qb=MVSzYyQHe5r#sRtxo2qjr0|^lk^nqg?1(J2=T-Xl-GRXeY}Y$#)9^$` zjc~=adHleNACC-}7pKcXw=dGv2`6ji_8AOoiX$J=2-g_=N&b2fl#ME>06YxWS$YP= zQV=F=_wmjbbto3yC(|ppaJ}crFEg7zv~X$6kKU z>rBPf5>=fHvf7xa04OjLNHHfx$o0ya=ZxLJ%C?^NErHa~exm-aHi=o}3ITN>#J9ec ztMO5%@P?-p9lcZ*aD>n)&UMXru|H)xik<9<`4Dlt-j5cI7uJ>#J}~7Pm#9Vb?H1e!sBWUafKz%I_z3F_E^8NrF-mji*EKs2 zg#k8u&fB-}pAwr(&~&feHgvHHJn06(!2J|LN5)*(x900lZGL|&s~N0%>-Z{u&>F4 z`MA-_6-?3iL?rIr_CNFsi(U4*#ChR=my0eef7`rZVtQ2> z@8QE=MXQ0q`Se)Br%zw)1V@QzesiZWOO9^@TA=J$YK`kfSngAs!i{ zpOsjM&ys5TeWuTqa?I}NUvE!+>#=@|_5ZS>I}}9ja?!-sUiuOd9^~bK#QWr54Q@b< zO*1t(GBYaAPvSROg+Zg9s!K?W*qT~|a-x1#od`7W+&TDQ!{@Ur#w)>5VZ)4PRvB4rn0KJwy3}c2}HoE_fhKTgH!`vz#86ieX{Q1J%m{}mmz-F#+^Ej zMd1D044^ID!wcd7E|nL8GGs7#~~lkAp|t z1tljzcl-66S4J;PTM&lu&kB<%{~kA2~uBxq+M1UCS_nsob#>)#Gi*u?O6-P{xBRXa!^KnqCV z(Tteuyvn$c9F2qS_%#hl&j!#Ofzqh0|0GBzDAo>Mc#P@C_m|^`Iw~c4B!{aMbnkBu ztn;MUCN`V>$HvIwe0bh|<9b%g7~df4#BCk-R-=_^A;%ynB-gX`&(a7tRjblZjd9Fv z-}^b+PV~2mu?d{1Z_mGQI%${Zn;(X89w=gJ6a4WV^&ct7KDhpDl!xQqivz5kAk>Ra<3%+S<|7x~Q&x@0BY9K4iz{VG=qK>`3{)*xQr z_3RFL4>xD*kvM^>+b@ytu}R;tJj~e=k-k3FF^3lLR9%wOFmtmnv8DJ7#`D?C_RK)m z(;lb+4r`AGZ`N1cui`JT=m1cyUhVmu%c{SjWSh$VJhSvB@UVL&%PDK`bh|7?6tr#j zwVxcq$dqgCIF3cxv=H^18W}wMS;R#muO7#WBI^%3Az7?9a--zp?XIniJ`FdMD8?%? zH(2QreYWUv)HPSB4Y$OMbm`^PdW+~_GU+_rm@CgV7L&v9<#Z2hoMUwl3L{nQ1q_bL zT+^Ay9OLfZ^% zN+bzbKZ=v;8!!vLTH2_eL@@NdEvQ^}LxA%iXW~7`6h4Vdz2eLN`8iohlJx+z5DP=4 zN4S@mqZCb&%U8}19jv@Qjk~Qv`JEMTbRTyLgH}G4Bkk)WkXEwId6w?=iG~}wEy9J$ zd`YT21CwwhGpW5e+Zf+BF-kN?)p>0}${)dEq!TFRvh!}I*05WzDUQkZW6hZC%CNr6 zn~`WC%MP)==eZIp5-Jlu+EBEusRWC%W2&uN44K0}UENOhjnmRfCO z4tOR!urdxiLm=z#WnENB<1GWdhBDqUX#eEObnAb5bXMJYbG}!R^lawWL{d%>LYU;# z9cc-->#B4|vp(O4_)HxB>pqG=vk?ZG(ne;o6$9c5chh841M z{5q>H!G4nyV32gnXD!N20zfe(TL_uOx*u6y-(b+@BiEQuyFjorO&62&ey%NYhR0tT zlXv8I?uMs-Cxjc-Y`<34mh;iZs|S(DAyKzya3I%$H$f|2o?TSxC6gA9m`QkpmLSjML&<*s~YbU%V z$y^~3nf)kt4R_-Ewn6HX#2DA;Otkh8R3J!0Z7yaK@ z-i%ZvrrqHN7U#}pl09N)D>ez4$qx4EGzjPCgL>-bG?-%FbERb+SvjM+Ao9Y>p z-HZEy+iD&Z)6;bqN7$-KldhAX!hJTM}#;onAWVyT=BYvD7*6*`?Mdu!5Q;X>3 z&-`i&ZNWfoCy<=`kJACL#Zmq~@s9U$pY0z+?_tKF@SBw-x{yPI!q;-T+#K5(kE|kx z|D)WQ_7Tn`es<|P#V~HzaDdB&h(FrkRIqL%Zy%APRUs$T-@SHbEm;1(5QzpiQ@zBi(9+@+~1yF zR+q{#A>(4Y2~|OC-&T}Ol^O#7!)tZa`*9^{VUHbnPg?bQKL};?;&k0-ue;V#;CzBr zJrmAY74jWADi`Jzoaa>U+%_yD5l4!Fn&~(Ch7+?_$n1WWrpQ9t?THn1**-rjS?&r= z-ek|Lf6^~#E(m1acjHHun$MMUEnEY4uFh;e?Ft*bETF{q`&*bx^}0X6IEk*a5HN=H)cPrTJ9YQ_Zd^`{k+oJrpaAo$3nv(f}jgmvxF75B6H zsEDP;TX=!?_Om*#@go6-`G(0*3EgILqV&AI#(?v)GWIlAdV9pkHOhU)(sC!kb%()U z&M-}#v}j$NCU&bl;c#cN$FL=zN#oI;OCR)w2XHi6?YtQ4N4T!E6pNj}Cd*6f^Jm4H zgmE{-V};!*$8B>amot4AG|ojowH>7vF(T8ek^8>~ZC{=r5pDiBn_kS7%8GyMWjef; zK&0zh%*^vlu%hosBVL5@hnb1R z5$K?v-lg0U^gp~RPPt>H4<*2vaxvz~QgU#HJsDS6IqrSYVMd}%nRg^cFQ<2p_uByG zPK$f5q$b)tqu1=*7xDdKYKUUh4*jfi*Xm`1en+ZqU)Ygn- zy~CS&*WQ_KmfyxF)}FtrFsptTD~^(ToA)_j0~~6C8gIAAtjKJwpO9{W*j7L2;z0eN z6zjMj%U#25$WTPp%gkC&3H#oWwR3`uDpl9kGYT`CQ|jL0WzY@irJR^!G5Zx(&axOi zL*XpX4_Co`hOwP?wI=j*KsK+410qCcH_<+Ra&ljFe&?!pl`D3Az9;_Lxy?Y7$pqH_ z*NbSq{b2GIGDrMK#c#h-{xaU-f0V{6oOyaBEkB0I?C8G)+z}}11@E@cp7VXf5Dl%b zwrvUoq6=pk(!T zKaa%AkYJ8E5#FLh*)95Fysf#Y7zp4~tQWALz1%g>w6c`Z9u*v0-L=9BJrN%Gd!;BH z0C+%$zwx!3Ts~jiN3RT?@i|B=^#S^~@(Dkd+fS4QKp3rj^j04ZzawAQ=*>1jhyIFx_ zj&AB$#KoBYIzeN`)NS#p2Xjzzfn#laR<31&&)>7si0kSzg^znZ71Ym*+2<6;Gr&x0 z5}BT*QYx7Qq7{wHZm(*|*Lgq5$h*SZuUVgbTpj%(=Iw0P`UcNr$T3ak66-}6Pi`+= z*qL1HHSv;6V}Hipx=o)K<849#%ws&QOWme2z4EOe@h-GhjIHpx%o1V>*r!^Z%r2>c z%-9_8b?#bdKhaGjq_=c3N6>Qw>l+>EzE=g1RW%76r8A??oWp54Gd9oRaMc~9=?j_q z&<|3y*X;F9bhLlrlbD!!wo3%2te1h*C4j6-Kl^ctayq>>D}9^Iys}XbAAfSmlHmNl z8jpyo-b))rM1HUkSe~W2tBysky0ORzmuvZoMi@l!np=zZZ}w^!C@u5+W`R~5VN=yJ zNE#!PbE~tao_IyBwg( z8hm4m=VY_jgnkb_k$nD4M$P;gIVZiJ==}E&RAzD)CiN2>Z1|K2)`1j7iZPjr!HLgh(TdYe?C+A z{!s*<_{q#fk`YoWZ*58RXNjHun`L?ge}jeZO8zN~T;3DQI^SA)C=<0K z(a-1gC)YC90k3}g&XsaJB&2-G(6cHTdjo8t9Rq@Tusw5%V|=uK@sjt4L|Y6x=cLVO z8jGtuadDC(4;W%!E2rV4bM%EI(e(OBJe;C@OY}B((yLmjSbhIVebw8_Sz9`No>)|O z?#6p7he88Cz{`N`T27>q2}=kU)>YUziwbOYZ*~T;dCs)7Nb9a|thL*c&8eFCt_b2I zJ9^~2>R7_kKC{S7`f{&Hsx6y51dsbwgr+mL|HOP4rru)|8<%PjR+-XNDO^*|!od34A+9yk;W*z2B8 z`}+=EC=$axdsI@>L#wt&6h6i=?9OD zt%XIh{IfN!HHLnI>S%#iO#1g3v}zCDWO8d!voW9n*Kx3zuAh~>cq9meM1k?=5Bqbo zLH3Hk-yF56ZitZ@Zo%Y4w4<^I$Q(fRl|=h*c^}_h?o_i;t@yS5<%_bpyLiyCi}0ss zgdrRnh)yZ@XaC{)0CPhSq1{^f&d`__ZPsa_vv0G$vi7k7WGn!Lt~3wM zI;dHoM~1zsMdM-@GGZAfvv4eB=KB(!aTO*zsIS!NJF`)sw*8z0GprXw_z(oX5lm4E zltefe=7V%^%OU-KvsUhBayak0aY$elZ>JS2-&$2m^fwm9MhSG!)z?CZ-I4l^kn5-0 ziJQ?H_ejk<<$Larn0v?Pg%V>je};F)M#k!u(Df|$Sp@8k#1WU)ew3q1WfOn`ed#rd z(#$?5RVy%EUrZ4;xVs66?6t>Td(NkwQGHYCGCCz8xhhMRQGTF3@dnpj zjIBLvaZO$Z?lp(wLNwiyK>Qy3RqyWPPc6P|TceqLG7^f$O4?XTq1|iq6A<8K0WZv%0&cTvWEUv4ArZyShXFd&{y1MQ-6#p)1;{X& zH76sRt6X`~$#IJy5Wkvf(+J>r+vkkTXxZ?ukq27Aj+N+1A53%CX<+Z_ywX_`z9eVt ztoJug-(ka0`^hG%#GnaLR6Qpz`4^Kv4Y{6D#JTv4qRQI0SenA6P7uh!3+ zE#VxQvJ%WwUC&vcqakA=2~NG$J?KpfcrW?H&o$Pr$lU>C=tj`Mmuu_&egJDE_njy$ zby6F*1xOmD)m>goJ0aPsTQ){BNx<>i^Z4{ca2|92afbM=_g62pvl1#E<`X9R_$|pE zw@M!x30;M)y~D^_8xuK9#yUs*x7T!Y5OyA_P9fD+MWgsWE~v{C%W`1VS5{|_umBXD z;LNKly0S(##(kUXnNZQ=4QCvL$HJN^F96er0ojv;AO!Z=8we@Twc9)yyjPccyV3PB zI=p9Yk;9=^Q{sH$<=p-HDf`)=VK)M)hCiv4N|)>vL7dk5cM1P5L-P0CzOuA2PpNqc zxe3Yetx1r6xbi=cRE}t%n7}K!H~p^vT-iXmzB+o*G>k*w1KZ5BfC@T;3r#|?im`mc z0VjMx_4F;zoJQGHV7)o26h$=`HG+$?pSnZ@+w4EkElCGRdqkpLlRL=9(6Y3%XPr2S z_|-s<6_J~VeJ^Ji!-UR6B%BYR=wjO*I}F4H4fd}P{@9;K3f=bz;y+tJShk#Wf7IOAOYm3(_HVAk zEdt8Qu1Q~$q_RW6)pnJ#2AggRVf-6^%#DeP_Q(X(^z*3-0P@cI_Lij_9mKqAlc+#> z!TL5K#+0&T_1U308?Wi2Lv#o)Bc1CWiT1pmAA25HCn{W1c(37xsrUMnk}B>XK$#%HLl6h4yl zn|luW&jWduvpBF$DQ&_cmU?HyfWo)i;skoevxq>5XHSl&I}Ez1Df)(hgdzi`dt3Cq zl$)MG^Yv213oLV}rWNng)bzj4Qn}^IaZlbqvz!S_-0CJAM>r9SlS=g=dIJL@A?&rs z$;$-V?`oI*qfPX9cqIi|e(`dCF@?Ix5dXZj_8oZt8}x(sP4{@r*lWcF3*-yt_eJhYR# z{+ur|HmHXVB0xDr^Gt+igd`5b2=%epI}r`u{1)P6uB8Oj;x`X-q{`!(&ag-T+a6i< z#fntDTKZY@AetMy!1)f|P9xYg?!|kmafQxO;)-5p+UJv=TNz9!>@R;ixYIln>5gn& zu?h~I@A5kX`4N3E`4Yd>DVkX6m}LgHK+dVbgV2D}L zZQ=Z#`yv(QH8{UKk$ZZPN8}eH(4Qdi$4VKK^1u=z%>3XbnWw0yQy$9h70IywH|4Y} zVDP2%+>gFa(UDVHE!wgu+x{d%A|oM* z+vRT*bKp!)+!yieUEcb((p9d6lM@5!HJ<7X9vz4&6qa9YOw8N8cTaYoGQjHQ6n=cD zER80Ra8{iN`fK~)B=CmJ`{R9Z(%`7f1l(_>^43`jg}y^Qx{Kw_2e+et!vy_tPI~17 zpVOolLOqi^ZQQ|}$`#X!PaPgcnuC}$j$+Vt(^KMXE#@(=B0odcHp%~!@x%}O^QG!; zBY%lkdCD)G?G&jW#dl{~`I^xXHueO%I7nJ>ET#R(Y=HUu$|-&Be;m9v0C#Mlf$dDg$*BD@HS?5mrONIwfADDS*yv!u%t3B6~0ET zTva%b{pC2hDW^weFGqqLro@quk(x%m58N5tNlXye53Q_jj}6~G_yZ+Z&gcl1s)ZWk zF}kxRksZzd5$oruLQ`=D*W6;!6t4ivfz2+d>O4MNVk@%c;SG&SyBU;COdDQK360j zjEH$0erbYM5F*r*5BmO>e&wpEwfRZ4k8iHX!?z^>-`l0Nd*6RX6{%yxefcyXVQ4e^;#)?(G zB5IK>nbhywX6Ue2{-CRrq+(D0!hNlp!GhcnDVVssdILEo5@_byG;DDLpJB(D z1^%8y!z@BrFC1vZeiUb$lT&%~L`2Z*@8B2$*tt2}w(DLb1UD0_^64L(w9tGXQaP!2 zl$=-jgj3c~AOdC^7|&`6*x!>Fm`;+8YKGjfx^QTO5KWDjy#X)o$+VVc@~W8(r0C&` z$9ou0X}naFSqDjZbleml&I{lJX*Ot3)PMf+0K^(I27`W`yO(aS2k2;RGRlRGK*`H3 z+UdDgdN$8M+k+evX|v6V@R6*$9AC2U_3y;0@-JgEay#2D7~)lEEhES@d|ur}3gci=NUkf<0Q>iswk zBwa@_txa~cT`J=a$=$968l|91c#BSyK!65g5woN~WnkFjUON9UQq(VxDkq?}Ijv=O zN$^W(2eZm}OeO^U@Z$m{oz)4$Ld%rgl5GhhP}^58h~p*u#JiWry%YBD%q+32tjbbE z-WIo~{rXCZz3kZ@@7bfR-YRQL$Y1P$M>?}>E3ScIsq`F+1qsjdJD2T@9O>&)&Qy9t zB=3>o8ogru&hMPTJGS`KVSVh=6Q^7e@j(<}=U@7gjREBHx>+Xw$(6x#yul6<80Z+P z=SmF~r@qDAWMGfv(Qo8_kL3Y9#B#pSi#v6buUq+1hF#ExExGLHQIpiLevYICIQpMa z*)`l34pfV_5h-zyo2M)irj zV|UUn?<;r#F&t68(`(Kd9&(Y0C9-K*v)9a35du>8jcx8Gg74Os(;38|x|GX3CVn9e z9=NA!I2s)jKXfnAEWdpe*^YQ2Jxe6~%!4}8vuI1%GARy%^jQ^hkH4Z2JyZhlkk^H2PU}R zLd@c4+kSEw9$qb?hl75RcxTSr_pk*3xiVebE2HW%(F#sm1qlzj{G29#3{sYnguQb! z`t;P<5inD3&i9-}-qK_X*66o_NYaMO2A88TsQuaS?lC{w`G;3t{&V^=Kr6!H1W+%w zp(F3k;F6SLo0@G^zmq-U7S6`XWKHmgDGljlz>2>+DqzzH4tX|a;uKmB_gqVaQh1y5 zY^N4-xV!E@Kt(-Q?AC*nVo2B7riNv+hNCbe7rWZhM#%&dF35A4k>c!FIHTWE0-D$T z{flw_Uyv1KNl(<&tevwfQdnVC+~L7)SGgb(SGp5LO7r;RO9f6j3G0Iryr0S|QkHnf z3DOU%qF!Wf$AQJ&o=n}vRomEAX|k=vMz7tr{8>abQ8fO@%26a^Jh#}(jNWG^5|Cd{ z@R(prnw6C<55a#2bn>B88`N8elig6I}Mk4}zahH$gC4KJhRiS2C#`(fgmex!X@p zNgYi%zro@Pv78}8$atuJ%%#D^+cnN^0`$j-{(XR$`xX(%Q|-AWCy}pK8Ey^>V#z(% z_EsbvRb%^X84bxc#J#|J}Zi@dd@{LOdovMN0Bm6K6%QN{9A) zKeADOnA5@r?4|e>8ZK;{CvB5(v=^;si&n%0TOQ;(eSpxiM@@Ln*yn7?UNYWgZqJAv zYxerSkm0t&1dUO7sq~Lgc(izauTl=MuZyBdi0V^6*TcoRzIYf45Lv`Ubny6D!aWgRwR?6Gfq~;N({bCNjpfIQc{U4Jc!;O;yP$&? z;;D`BVil{6A5ON|estvJqI-WDqXY&Trlz81Lliurmpu{RElPoLjnkdliSDl)x%6G{ zcW!msj$ZpgT(RS$P%5`a{ToqVI_~wIF3+l|B>|N_xTv}BNgpOQOpfI^X@V6BDId90!Ko|kGnB}pR@K+$FuuWE(mH{WbT_) zZ)B(W1g<={WXYeACuX>2%2E7wRlD+BZ%a`5j@YLl_Pp#$NTUsY=9Y}5lAae0=sjYd z@)ZdzGcY7UaxLs@`|4((Jk4fpbFoieIB&28lKIwMTmySGg&UaHosaFDRk-upbr6oX zX~6sw2turvZ{6|O()>st)@C%`nOoDw9nm%$Qq3UOqzqauwD}`0nsOy)`ymZJns7v0fyWOR9%8--0 zY~$Nj7UxeqVd>eJeknBfC%HL1yXT0X+>&=BF}u>t8&G0K-qyfDt=S zo4w11co^U~&Zn{;Zj7bkGNP0>uo&R z{2)>x!*J@~GpOZLm|mJIZcEVla=vJmD8+6+goCB}+Ww<6yEnaybDo$O3w1N&tIl^( zxtI!`Ezn>O`}9qCqD@O5ZdPlcm7yS-mdFa!<=TseNMhu`y~vH4B-eRfi5Y(H`Y8X2 zhtAS$gW@Wzp~s$MDd?ipzm6}q;+|e)ZMel~?i{Ag(f{OB_f&gU7Wt(nB~4=J;hlo! z?N_PQ894}CY~#I8SMf#p-gHu?RmX4R{%xvvx7;|x*)VFDN+%J*1mVF>?~~DZhvEUd zVN%>ob1DU#xS}Va`ZFFM%VkQq6!!qN&zLoXtVuQ`cHt26%27oUI`jZ{P+I%+%COaV})Vv-UXbi*aGQZSQhzDGQ(;@yPAJ z%H5ClNpE|9ApmE&$**wEJf&Lb@hlgFCjJAvpXdq4+)bRpo_+}~yGi+cKRTZ6A%%*+ z&dj~2+3x`YUP3c@M6{4AqU(3?6Y4?FcFtpvTEd38#IJ zApcz2k5fm_I-PXTy|PkH*nmvX(GBZ_ONDRa7806fc5WJSbUN-my4ut^_qnpvqMowB^mNclm@zM09D` z{M55QC!z|0;(a3A`IT{)GKE$XZh$83uIe?11uTGUl9dKU(?LFG00AfA zosCRdj#l}#f*8&q_1~u9Dj%d1+^7U;ia_L?Y7t5i`Hiuf^UeOr6MhVeSm0$iRp;ev z*z-y`0gg4lQhJzDKUp)r@5p=ypU=w3LcojE?pZBmXs`Ing<2{LgDqbD@99CdFCUAs zhM?1IvX@8bjYoJ(_p{Wv z;(|7-m;No|=N7q#_bJCX9@LfWV6midH)lCk`YE^&$kzUCK{k-K(nbj{h{K<8^ek4G zcogO^!YLxNrAd7fRbn9emZ^36yx;j9i40X*RG!bDe4GT9I>r)7J?nN$jub1Dp(a4} zd$@$JC-_TMZxLb-RllHAMr0nd`UXi8IZSOc&)~FwT(u)EAwBYy0%UgdS~_W{aaQFE zD^8JEJ1#(@Y9i`CRFwhf`b0CbU!%Bc)Y1$XTLM_iKS&_L3lp3i9mqVd>|I$)j^uFm ztMa^BycaI2D@=#-zP2-_jTT2IWo)TMGFY`PwkF)JQoR5+1&)`k`Z>vwEXVeO0P;Qj z(MmtP@{PO7_rU+I(w-XtI;a_jL5bHa9E0`F^{CS+eWJ5E$9tg5^CCHU8TI1$OZD2sF(M`km( zFt6TwX>rE+{d#tBbO5uG(J-*y6E7S2FP)5Q(~69?*k+_0JVOKoDdp~q|Gmy8!Xq27 z-6l!&?#e~pl3fKgO(3`}21H`iNwY~R$N8sv6}_Qc3Xb$x4r!iYto7zT@5}$eyX%G3 zB7(JElL(Xxk}(V1R4DW6oh>Ykc8HLDWOJ{!CzjbL{`}aIwO!J!@YXP(-bb5WWN0mQ zpPKs2psM^IRJtN%vX#9mI};ca?ooVp56)`-8x#?`=WY%%RL_>SXZ?QvQ<5$hTPbCY-wYFy$x7xmle5C=HYD2#dHQ`- z7KAdMe6Is~j#5*FxGp}*@=mclE152U&RPx5lBROj4DWqD5|TR-*?cYsXtq~d0#lwy zu&TbYdIUEg@qs_3Mc6^WoT?G^Cglf%fj*}yo-1Yr-@dIoe=Cn3AH^Vdi&DcvP zV}1q8eL}}j`PXhD)H3?AEzt;7Gl&Go31cVoy|1}wx+JG$Ads!{=;P8k(%X7Lt|Dgn zSv#O4RWV6d|J`a%`dhZT16EGnJWGVxOA8wx2KMR84QL2$mCHv^*=P4R#rdR3N!=bR zN#Ke0ld(7D;#AgH?7Y3ZF)GtUtE`l6Po)A65@egd2Z=ci6*Q9{VItIRsyV0W4M>`* ztTmx`43mUEY1wA79PrPcg~1tP2(f&*$>Woa7mq-&W&j(uG1blc^Uze*lbFANQ;f&9 zO_LcKyX3WzDa4-O;6CRJWPL}b-bOPxjIiXfN;SHy@_Ayn*jQIZRUV7?COH&fq zqj2AsdPiuL;ioSA?v>AJx#H%^)FsxG(y&m$#eKzSv5&=pOj>)wjmWmj0UA}kk>tl# zKkD2y6z%R=h!5J=R*4~WJ0GK#^R9MxyTREV1@xZpw{!q#Hd`L8?^7-&`R0q#)O%K* zV`)+Wbk2CgT0mgh;5wzLd*S$t2V!w0!!C?9~JjSeUd^8Qp7&!5HBepZAgGn%%1S)GphYPc50>Kl`lb>c){vT&yhBZBb7*&$;YkN~OCkdXiDIkOY{* zzPJWYa^K7W`!_=?--G}l18-To`&~(xc0KPAV7+31Kh}GGeGc@n&SL8auhKp+Y zX;u4x?^>;**SU=rXMzT34)I^3k{csYd$O%*Gh{s?69OfvLYxfy{~z5fb* z8C=SIN)mUOxg7$;wojtm9X>k@O3Q}*T6q&BjR~vXl0H^yDhV-&9sIBa6?5-AB$Z(; zhlF?b@&ZI3OD-05dy$||1-*mqPT1zKX{r3EaffAU5rA?@hXH_~GJVnNLSdvj03L{c^EMl^IBkXN@ zOxm|2GXEgl=(U67@bVzqpWkFF%gvF~l7lhwvvd2C=hbru>5u5s=lenJ%kOC}f1RFz*kA*9)m+oq%4~o-iA&I5XH!4j{TG4 z>(%6W!rZ$^ju~qgg{hAM?B0iY@8z3_hCK;2n)5MxXH!mE%_Cu{TM~R~GJ#i_6pYN{ zYi4=8PuZi^7QkYT^FFd2NAgr(BUzQHox0-mlOReejz)_ma8Cf82XYP0v z_k0H_;(6pD*CiU#zNq4w|cdY8w*%~2`&*UoIlK;Gs!|DPu zq^S2C>w3?|^m9 zQDoBc%H*GP;D0%MGX>lR8@R+I13}(w z#KTv|qVvg7<)nW4N<=uaf%MAqZIv1~0L>%7Rlhx?Tc>p-pc57AuTuaCZhFZ__vnZuYB}>1o z05-q(_GdF{Vax8zIr7wA4Z*|qj~IpaeQouXTmZt{ug<{fCJ&kVPGnJ@-P%;Y4}+Cx z)X6c+PW{#Ph22QaFkN4&Fm;984`4a~+9x-oM-Q+!aeycCZKb zky|B=dvu?;3e33wBm;qj^0;ZvX{OG*>O^xLTsH%~eZIALO9NIUYDe3EcC1RDQw6QZ z#BG#(bI(#M^W=S_t=$X?xNcD|6B#$Vb=x4rA^)_xDyCa)eu6D3GSBa!ige zqRj{+G^<>ICt0&p87&Hiw)TU>EyMes71VqZ9b(a?qA06GYUjnLW=T#BIL@scph!6< zlYhS+f-6G4`ry`zb zXA5PHGLDXJc98EkXPYR#hMM))d1)GKr+Ow!4)VMFADJA*kgPpFw&MGc8s)1}*j+!= zTzsiy7YSmyKK1|ntlFopl`DPa7n+@y1XVUcbOyt(MKFE0XLa&J;*G(qoec@@<*EuI^3=*^=Db#<3K1QF7k~3fB13 z+b2!1rFnb*E&;-K&0Z5Hm(-jhd7|s?N?7@s%;uE=+T!FKiEw0BnDpDZb=)!+UmH3^mUw>3Z9 zO2K#%g84c7oxNMR0YgCKbAUE8VX9N~3U18sNNmw>0%?x(iMbkqT~0Sxp%`V#G^{8N@q zv&cEK+*v%yAWs+JbM+!Ryfw#dI0#BGVFXEWg{1Y)CQ5x)`ozQJF71fM4a2C^32b_X zGzlLtgqhV+&=01p0Kd9{>T45Z_9SX~BY^$AAN0All6%52WVtP#}<6!{I6)&ti4%ajq;4)6xf~Q99%^eiz2SaDjX2^y7d|u7ug{G5(}^ zymh7f8uF#jmMnW5eQVUf?**omtXViwiT#zKdem({e-t(gRKMNCS+x%sT8DdO0f~~m z5+p5%6Ifsl@IDf~(meXNtV{;Mc1^Y+7(qKS&+=*oR$uM`NqQ{s8wteoCvSp^Q>V6N z@?Oe;;P@`-A13tIQb1hUVyYPSm{MA=tz|ebJu85im5X~m0&RRd*O9)x{)ESQN4d0j z+vlI4T<&4ShE`!-UQ;!Xk0b-J(>pv(v5L)gsN796`?>!~?ctJt!iG%xbUCW}?lI*` zyah%Ed?B}+=L8`K-gqv8jS;?^7K3RN)_dlI_hhk!|&!z56&hd1`-=Xd_ zCgLwJx@KemQOxh(8tq&;SXU~-C!u0)!kKpSexKKtPmjQ68!OjR^nk-51C_It)55tu zB2`7F*cM|e&Xyy_LIJkb4}O&xJ3waJM>)NXQ4=zv(ji-)lhg;<^R}cCLx{Sc~F8L%YlPx@<;AQ60C` z%h0Vy^4FHnYnMW4e*UrG+r6mST--Yv2+`fr4zlW+LtP1m-z(WcbcykQ`1|~r%P|sr zwsnz3(eKDG5vKWs7GV4J-_+*k{d+ywDf2JskCou^!@%t3AX?1%n}<|rRwSkBniUy3 zj7^SlJ~YTZdHUANN*}r!h2Io&M=gTWyhq&D2-?+L00g(a6*6w@xmd+_Cay;ykZ+sWt9sQ^vI82WWQ5;J&tPKey0(eyd+j-6^P*7$ zu8~DtI)IJHP&G3Gciw8_9!QYy8pg|&T)Vrg5zjH~ZY&B@^>QYj>9jf*Gd#{x;Vu-Jo|(0_QdwMq1ixoOFpx76-uD4O zX-;JX3d%ke@%Qzi;}7u7dxlHXg(pw<*ZXkBmHJaYrkm728X@;CA3en|DS}nTSUP07 zGXlt{UhVs4MdpA}x_WGBD#p}IL>ssTo9&!g>`xqDV_JxPtb$SwNJ#pE`MzkUUe#+z z%fVQ+E7PzdtJ*(=`m-gWef}GuNk+?OKL7J4he@3%rm3?}Sy~?DB}2XsSK3=cJo$%` zrYw=yVTtoYW7;TkI?)Va7+Rj()osh0Q7FEz`@?@SXO{X#69VOr>$~d219A+X0*uNy zViHeGh)vt=Q}fQPjY-SW?G9^V?$5dC`jO3x50R8}`VB%teSfe7BdG$)=M_)*k&@(t z%h#Us5NAu09z10wDI2_qRuejP1o%=paY{S(P%xawKL@ z?q=VYXY>d%dlSPqwl%ri@&FM#MmSV&ZTL^{x@6n$-CFPY4ozW&b}+brnO0qb*&G6& zq4!xVr1yVOSDl}hZF|nCpfh>7N5=4`pifOXF;L!K6w`gn(^K#HsnUB-*kCutqKkzO z9W%pmWY{>TQOQe|y~W}39!lrDYwZR|;<@RgK$(*w-a*o3`Me_q*y6Bcca;{pCn)mw z>BexN3Eq=0ok#TeaxHbCoN0V)SNqdPd6VI!!yY>B#lQ}bR0Bd`zMS{O;QSX9*oN7A zRR9iQ8_KICZK&vCM(q$nhXvc!+sgkqb4^4|$tYQsC54w?(#a0%crVR1Ckr17N&L1= zuO)^=-g{(_G2y0apH0ZAd*cgPZga{>IHYdaGClD9F5eyP3`cj^XT{U+Es5Kz2_%}C zU4#88@iEz|L1*^qyK}m=Y@?EEyI10^e8ZcE$gs=|aHc4E#w7)$#cJidyTYK0JedUj zn)d7{ekspSTo1WYPf>x*F2>kjh2l$2zf#308qZVtOqPDiv>YOn*9xImL<4h$eIVSS@oi`Xprn z_B;jQ9~P3j5>*Tv(13K#`mW?tU_KF&{fs)Fr&^NOps^$82Kd(Id1))#Njq={O?#xfoD2xU4vHU~hoEzwwTWZ& zNe~5{&{?&QW*%P4n##R17O7CHlMsT3Z5mW=%7wb(!`-`_y+g+eIz3G z;kvcHKc^pOaFd4xMD0g?wX!)l4n+fdPJqHkmVYoV{r63@O_hvNp14Gze7GtErSkSQ zChP1sxsdLsd_|5hHNFKeW=^>?xqeX{aE~|xOIy3eOL~#*sFAlnJC=m@HmS_YwWVn6 z36ZxPp+j!fdFeH6Y`ZA~HO|~~`WHxXmBQ%ceOtT?UDsO(mm`Ox$DD-2qSVm)f#izhc5uB9LbbsPuFIpWFI3 zdN>csAods6{SgSn8B2=6-BjJv8HR%@60VKk#~w1pX&LQCilyYwR86|7gOzT<$2Mn{ z$f~khDaO5~H7V-y3h(5NTTPDHdG$*?_Cr_m7O`Vx9PZ*FbO1Wc<5`<(Ks7OE)MU1i zZPwJf$5>U{r%kKO7fi1n_P86m2)+U+w{O%kc z-fK~sbKna&Jwle5DpqnnRmmVXY?Ha%m}qES#s{1if3otnBb;H!eGD`v_u~i~#q^3_ zrvD*~?}#xwI0HH5`0>IG8YQlU9L;?DR4O|qTuWrv7PV}tqp5`;{JlWCB6?qm>2Y!O zM7ZMQ&pL4=+35W@j*#fmG$i?*6FO~4`}PyFLf*Wu!lPvwDS$tM5vI*u$Sfep#>5wmz2{OYgmiqE$ zBwoZuhQ*ZpYFjKM+U_SVUHX%%mhPl9!)`SF!CsowC-Si`3#!#yYtBF-AKytr0Pf0U zRgB4l;l>x=RVt(uFw9UrCwZMdTQ=A^k3wHPN6kgg+`f0>4+XiGjw}X27Gd&}nPY-~ zg+2AXKESg}onWSx;p^Ac6S-A8yqVRDxW z$z%%?S952XQo2{@R{jIi^&r+JTSVFM&>U;)DO2kG7(~z}A7(R8F$Y+d7^mNhLm9Lx z8A*up4FQkM7K`Jx=PrNUU2KuqhG|~0e zj#kt2tkvG47U>Vns?Cl?UkY0b`>4(Qorxg$CRaU{iq>nZpKUl96@@L(RWIsL%y_g0-(9P7w@4T%9TepY=5B+7k3!(Qu^mumO3MRk)`a4P8duj7AK z8qsLYCsC*EJ)qou0uiaHK@Tn4hCr!a+7DVHe@)6FoX=U2y`Ro|(iGW_g)>?R1978B4h63aO9@OD-H`CDWY zaqN-)j-QM~?SnRrvkz;O-9qhBp}!ahuk5$`td=~WhI}TwZqDl{r$t23&mHUbxzf_k zJe&z9CbL{xgQVX8m?8#iIf^K^MSetLqUJrT6Mi4*%+ufz#GDqL@~w>(Rjz)G%(j<% z*%IlIux@a=kD96-h6N*_5PG=rOm%d;HqrXYMtX12B5WL?m(%-Ez3%(m@N%3RuezyJ zlFQX-I<)8Gwdj~c2Pd3g&=L@YPBiHv4|7I_b|-7E=wj*MEM*zlvoD(tg`VIe<6}kS zRVpOr?<-l@@26}UcvVK#`&LpEi-H0lyMDA#ovx0vB@6ucG894!-N+t#+@FBHM{OF= z>3EvEsE_lglo;zXb;cbzFqTJ=Dd@h0eKFt^^|b42b*{n}QGT~|pKl+*XgjkaIBFZ- ziEz!qHB3&@srY?=N`?@;F{ATmUs>_MwVRo}vCw&xyC3_8Feu`rwvf?#lhBrvHmefVVt;uJ|c9k-eWv=Zj zsR=H>@!S#7m_XFV{m6}Dkf=|*?pEoJIi)@8Mzt#kD~nVLId`5Dv+gMD)-6}+d+_(A z7e!UMGEb1~B>j0#acst=Aw(iX#yD>SoYhRDsWPWkH#!-(Kw?qyTR+GAsT@W}^wcC; zE8l?dk%|rq;z`!doP~ojJVye;NUrxvEF4Sa)PfnAJK=<%#^^yH{xeiW>6EC?urIIJ zo@%OQr6-}Dyk9Lcdo^BeqEPY-iDR4}KMFF*Sir(>^3gOs`RG8>)`Jl;{w)<)`o5P?#1QyuX z`I`-jaRR1 zC!*{lX~h}3@1>dG3dLVjx<;;6nh92R^S)ADDj7lvi?=k-b zfPf$b*4N7hvF`K6aZF`CvH)&N!{SoBGj+4xDi`)_cdqO0z5!+Amaf1EbgF0CMwK?HTf4NgxJ?XFBY1;U@>us!^F}lF=e9ZhPtUO}eyc3f_q?aC1i9)DwHusfVuF4?bZ~ zW~>F}Q5ox;@Fq)pKsMJ(wE}J7GN2G727KluH70hpi6*WjgT_ha(hqeJ3r|ENb)Taz zJ%Lx6n(T|^&CMxN8&dLc3RE7X#G)KzSxBEpQJRGdvOrzggw#(p%pI`U+D924bGIG1 zu%V^ZI*a4%CbnXjHZXWHXf3ecm5Q)OsJQ_vJkD|6OahO@+hioCK%J z1wc9+X;oBf*J6bs%3W46`;$@4F(;`+GU~+hbH8s}Wdn9#zr;m`NK#X0;~hOnc62VD z%05fUN{ECXpii!QP~Yxx<9a?;O3WEAr8tX$gE3w4{G77QS>*ug$8^h*vD2aqk+ARo zHE+y3ORn}!^T~Jt=4*P+%N0nx@1>tbn`YDh7-GzS_fbrzEBmJG?w&nyEwdjqqWaXO zK`tC?!~5jBphwMJqK6LH(Z{R)WhBi7>4?e};jnV6K z%ZaO)JK?}PJDcwP1<8)$kzEcKj4{%sh4#WPr19JBr}z;a7nRQq#mxF)HR z#ne2!C~1Ci;w!~nW!|gw3AQ4BJU&s^+z*C7qlI~YYB1$RLNI;PZkw~(FiquI2Io;C z8!(Sn${H)tdrJgpaQ}6d=&ay$HP6n=+Iczfna>{<%JZ(;hsgLePcYMf12~F=V1zJY zFOF~hEIq>!X->jV5C+zK7o_B}gTDh9E_R!tE8gMz1txoBp43My@&d!KIgg)dJiNYS zNYYna=0#UIqzwfaApQG@)^o~9sUpcJUMOW-=^2o|6PDm)lIIQ=Lnm(H`WcQ81Y-J2L)ML1&SJ49IKlqrG0B}t ze?R=cg(&9@RZeZ(yBQKC=lhUe_fc+g1&38>yfrbJ6hEm85sE6c5G9Nb7jsjp6~XEq+&jaN0K=Rph%I%uP90yt%p!$ zG{XM4ip7=V=o7k+2JtD!4n_Alidja+wyas&!~Z*!Socrr|#(qI9(ZfNY z5WFQW`YJ*!RcUMS>bY~bqu4vrtj?s{_I;&{QN5f2%vqM$S(fT$x6}{i|4iycDf=^W z6&${)UCl?PKJk5C4-#|W^-+|Y;o1G%B$6c}u$#T}6Z^Nu97u5{nLWUx53hJK>7KqX zju()MyZ1?!@k%8zz|@nt!*EfzR+-+si>K9=`|GT($W+lsSHEpU zI8V`jgb_$mb*g1P5}jTB}cql{8?Q5}2G5L{C2 z+*TUx`zgSXczn1gpOt>9@(Q6nI`4i?{S`YrKnsMi)zej#Oo$^yoL68s>f30#v;Pp^rU43nMebg!= z?Y2F6&8e9OuR!7rGiwLwgStHkFqG1h=N&}`1oS{Z+(Z8><=IHQ6A_TE`q=BUy7+## zfbns1S6ac5hJw+Q3}l~YBK$NzPIK9fHh0@SP-(mv)*g%8r>I<+(Iyy2yRlbp1~rIJ zZ%AGZ3SrI}Mk0s!vH&5E(kHT=Yg`*r+Vw0~yc8kzDeAKquCg=3k^|sA!+g1Fl4|~E z-5)7*t9knu!zqWsD#8Y0+v@w+_e?j0Q8`gZO`QXjWC=6qyU+3ucH|&zIJ8DF8B5D) zrS^VeN@Pfqxpxk*!t}v>mAiV@SENJK16u$FKe1{~QRgA-=b3bj%1UV;K*#mui$9mn zvM1ZDThckn+E$+G$gba8^DwIWA*g&GJ%dyVq4$V=Ca`Ld zzPjgPeCoAJ1q=rBR_xjnOr1=cRPtP(cACZ$E!5_??b z@E&O~s35H3_r6z#TfF@QmPxR$d^JQDNu@Ror1`&UNseOH=FO~TbEMVpaeh8^=&$$1 zMy>nZ20V>HniycUm7{35nOh3ZlU{H3oSVc>WAZIW{7T5X!-Sxny`pp~4hxxtO8-gV z-Z@qGgN)>XS<98GxvXw`L|*UN8c*D=Q+Y;->U4QeeGAZHgP4>jkt;vjz0NU81#55;;xfxTC*kk z9OJ0>m+sW0NAdc2#+>$K?9Tj=Gm{HrsST}HIok++ z>}QMiMw_3MZ~ptgHG^|!kMxZBxK9Oy9g_LnkqC$Vy#H)?C2T1fgyFac=f>UEDhS19 zlDam$e%9~57s78ypz+#>fg9nMx%r;2z1Ta}i#&vP zX3*vGgBEThmS zNsh*(U$|29bYhx#AMQSXDvT>mYl~;A&U&tX#C%42tf|Ric|SxehQ}RDczTS=l`)Xu z6g`Y`k+W)2v=axJLdJ|59aVg3-0-Arj7ZBr z7%fla27?oRDwq2c7_plfT5KCzxtA%I#2DJ-j#i{}?wE|1+3`i$w?DK6(MJH0KCMb? zRyDW8Ks*tq)C6*i>C7-b7sape`dkpHg*X_$P~obOahW0orpnl^>IdH|fM@zbf+vW7 zsv@)4-a?O3o$aNRy}zNX7ofEOxMzKpuE^T*Of7R%))w)asUnL4>vK`FWtSK;P_hU+ z{XHd@P^rXJu=kFmGVkT}$`p^-@5X|x9g7gh7Ka}b)yn^P!nZI^!6mtRJ-d(4u+x`n z0yysZ>}o#v0bP!~^kX`a7@99zx`a=k+wwb;!*sF8u(QuqBxnn-U*scV*}0f!2`qD( zeDS*Fd?^_gfu4-)rvZ(S5uh{*mlp=eavFcG+X?p}8p^J(W7p zEG0hQbGiGskNr#I9_qj~_vdVoPJP|x9anNO`;Rz?2?~RupXB=U{7^mmJG;D$>pTnarN(PO26i}*7K7*d0d>C^)*exge^I=Hu`_wgvauV=DzWqsC+ zEbZ(L9@Mfex~s?OQSf^+1ibY5>GHzCY(fYf#`Q%6B19qc+CnTHl`&!t6I1Tc6`DQG zUd>AX&c^FW6;-tlPz}GDjAL}bIfpwle0x9g{r#8n1JBdvW8#X5iAn4##nuro7ql{{ z%x{EbOBPwj5y}Vm#5QM3QigXqJTyyJQB|&g!COD}1|}Wb5Bw7a9b<`UjMsBw`JC;x ztHPKFMd;R-_FOY^{O*oK;r=EQN*~SyY6#@NP47xL%!qB6|{k@Oz z)VEuu0#NIfXn~5^za5D_xuOowmh5+{<<`105b5GEO2gu%k5eQeTy4zv!%*~N1$*$e z<(8$vC(cdnbJN`}x2(4*Jewoj+}g^RgP#U3The~&OiY?Bv0t#6=gJHthw%uqD54w9 zvpp%`u-RlRxR%c!3N0UWPpk*I+B_M+CjJ|aiHEC9oNdcJk5=WNg zqu0%uusyJVL)7R#HC{RF`EJOth_UAWoSFND`Z0}F0&&YjO=hi+`~cZSv$|zF5R@zQ`>{?qBM7BUaEni6K`_^$v}&~E z(bat}6Kv1)!&Zp0YEEm%moZ=yDSfT_+Vja))OuHj{npOX^$lJiF+XOn(@XYVUTDiS zf=}Air!*{>8_x>x`7B_M*sc&gRCALz&<2>@3l_G?D=ez1B@zdNX0v5-R7Fi@aO+t$Wi zsO~3*yJ#bdYY=d`&bj0BCY0dUd08hWTGy~a-Cb!n(&_BhcTL=OoGT^9TVSP*+xO=cxKLa%B@cQ1OYEaNK?ZwGr% zUpq*mfhO~zgkw`wellFs9CJA#_z8*ncz2{Av6BeHlQHZ3btjTKc9H@fngawmttY#VBGrQf9 zo2Mp4eAC9%QZi`h%E1#jk|2?x((o!2*C05#+Y*Fo>U^pq(-S--B+NH!E(&>iXJsS5 z&qY$Y4EEhK@C5VHl{u+&YY{Yzl;?GpFb#X8SaXrB*Ibl!3ic@R;l17{y1WxGpKK{i zzta2Yek^kKK%{HqE)qxID5&X5!2FzLK%fR7ko<*FDpqbZ%mY8$lV5cz&l(wdPUFKR zb5v4OcLgMJ$@P7X`6r<47+xMSaw4$V-R+rQ%YjnbUuP*fwkU2A{{d`ylxH+^M1IW} zMy^rchsAQJLZPl=^jD8V7yjOzhxOHHMY94JKlS^HYr@|3ee|ThjFG5{R_WQXo*1`F zK0vWvZgLH}B?_;F-P`m6Twhc=!xIznHOl8@z-MN<`4U(5vPUo*bj=Zc$x~`|)&bL0 zqOkrGrTaeY1!20*SYp=3WQznbt-Js6KKPXgoy-yHS(2w8rae5%wDW)!7q?D16jTF7 z-I@ktpW1U~n5LKKMO5+^J!uce&JV0_8f|$@gwP#{)!rjjtSq_~Co~ukjptImWQZ&3 zCmZ==pDH9dNYt|E)pWM?4k8^tBiPD=-1E0ri!F_1{Cjgr{;r?b@&w7Cpt(Y?|CI)Q z4=0|>2ve((W>s#V^D5dNf8g$O&zS{=5XF5Dt?!zjt`hJ_{H7t+^9xM=nElM8Ekc9< z&gSv0R^+cF8@RXb zJK0FpdBFpzIVGLm^By!$?3_D~X{TDJQs26#ezC9IA zcKWm}bE?+A)SMn3Q)_K`WsD!q+A{v^$2p(Go<~Qc$T`)XrR4ZBl!NAO{;7E~7=zI> z#DC^Hs9AV}c=6)fZyB`A`4#H12;Px2-n%qjN1}h;<5oGZ!|k;VzeAn@26g2hr3+80 zrb2DEuN_a#+c!smkZ>NXyOj$9=J|bZWW4on3t3)$b7(4^kuPTX?&8gkexyT&mJa!W z>ia+$a0Ntxct6X%^r--y11-)VVxDNDma-+uAF+?~_%Tc?#_i`X(i(0&2XXP$Ag7>tF$`HSccms8!oEh8fqf)bH22g8 zeBi{#jCuO_Jd&FkAuW8u)Z$!ZnzGUeC$^bar1O$w#?$D;cqXMFA@W!Y+prJxR!_Bh z)c#t>7RN)YKVhKntY)qi?Q_)jmC0aF=9BsLOqUlD!3(PhXpstytCZwsT6ZEf9T?jp zE}DJVbDkM4E#LMYfcn9ZPdQS3lsU6jI{GfVnc_Oreb~}@<`8hoJwUEC_`Nr=4(C<* zwGbuIkO?S%T1`?ZtUCY#iMxpVAqGlgYIT zKw8P7s$_9)x~hCX#&#DMM-Yo=ks+@4MJgPD^??P8G1$-Pf^ZHR&C^nfF4?Bjf;I`_ z&*olCTyY1tJCpgWwSw<1*Kf;|IH1e>OKSRQYgwIbufO(j@k{#WbUcIh@K)EEXjRbU zr~|m4N4b|n4kh_aEDCLJ|_G1&!gupX$#PM6~RKi{<&jO|!M! zEK(%}NRQfUW1?uJ$~LDv$wijt&JbQG4|vRTl$*nG>wfgI`^x&hNFnxG? zkPLQC!e6xc%q7PWG4?eom7VhRiHcvVxUXHR5#XJ+eY=XPl68$eyi=A6?DykFx!kgI zgFa3q{jpBbE7FYp30>hiDkl!tzyXG8v9&)unbY%dT}f-h3!ctNMKMDWo|jR2xgf~& z23`$m5mM_U%Hi;Yq6ZFftV9HCX!=Wbqcask=WWYJ>ZR*I7I5P0cKK?$7`(dF)%Ebf9^;qPuY=}mJU}D;@{6VOP zjRDn(Mh$%zVFRQj%WJ;F?OgeTy3`hAF{xrrYlE<1*p>%x*3-&2ksTv#Lf0TK!UoL{ zlJ786CwnL*;HRS45pL**Cf~=p*GLhI^t_+N-?hLv6E^8`#@3ybf&_GWaAFy`%AtUC zPKO(7Au!KAi6;;~@2^0nW;;{2LE^&6gt-31tglpdExR~WJE=CSjE9sfsl6eB)AE+q znT_hL{S#9!Hn{wQo?D~!h@GxKy9rByWMoktZDU`lRwL2!A>^LhO6Q_$-|cq~Bj)$p zE#f<;rzex461jeoLSozQ07fm?vr(?!GYWGx4vp6+etYH^5l$m3#5gr`$-ohj1)=ti zITwxDT4&`01lpeJgoq3VhF0Yt2ekTJvS_sZ; z=_KlFh8%ZG=nsUmB_W!cg2>PS^QO^f7;G}yJ>02~ihJ~ah^i*w=^+LyJ@Dqu^ zbC;U~51EV1nPhs_YR-_U${l#E=6O5HO@8pdUt4@oqb>e!R!XBq*=n9x(?Jh_hOO_R zD_pC0c8-c4)=I(vS4M8Ub!bjs4_g(0U7^&N#El=nA~kodBvyVH@V$O74omXD&d6kml`cGxRfSz@jaDHPRVUYOq6-E@lf) zc)?GqTdY5!4g?k1?3k^;%9TP+^F&k}qU4+!B$qHChCK>}ZElfi1^gPymiNAID~YD1 z_u+3R3+*+H;{HTj1aD4~{d5U2KfRBMn!=&`gPVR+gFUOZ+ZeJ~NJ%qKFA+`pKIX0V zzG?xQ-1Lhyf1eUiE&9G1W?*}SoWk?woLX5-;N3&WCNG+Ot%@tRq#JmyOp}j8-16Sc z$tC9mFDH`X-12kqc-;5QiWdj;1S2{S$gg6=oA{bqN*OYotj>#ND{(@+Ml@5^*8(mY zZrRUSHqKk^`KXldvGJi57SB@c5ps+FI_rVo7T~a2q9{(*;BjoFx{sYxs!asXi*0Cr zYqg#{3!~6FefEH?`6GmDY~{%1E|uRJPS=(b3W->dq&OvS(Nq`%=Jm)vKd#2ATm8vB5 zy3cK+5@5Bb(b(!Nxe{WSaq0(_|8sv>yO8SUI-h?+vq|qJ%tMn^&#s9wRlWTq#B;gH z4I{}oEW-vwM zIs*7}xsL-iH@Hfw_6X^o`ZsF&M>FXzv@}kL%{*#u9E=Zl09G=G07#b*Wf?Id;U9|X z8b1{;D+~va;vgA-x)%EcHyUO7-S;7+S`~m%+u)!WRWrH6iHPh_OWg5~Ye(xL6MMJF znW9=X&b(9&m+TPFNtf8;vJ4&id46s-K~a`VA9M~tmV`K|d1h9GWRw|1!gdLf*HW$J zPDs3VOrvW46j$q>p4U9wA{5yM%Vjnf9s3s#Lb`xIKZs)>;W$Mdy=v*NrMxa_Ik<`_8s6-tu!o)DY?--S}synU65R zO5{FIB}?6Nw##wsgTeXgf*yc~BY{Nvq5*yQXours0J%@6#;=E%5P&R0n2hHcVi)Bt434HQ4BRAVP8&Ozg4IfEdq6~;<9juJWN z!|3rk_iVnvf_J^@*!~XI+>DG6^{);!A2A9582mom-0on?X>}j;LrZbltF*SsaFQ`} zFWfcH0CBb(UxsV%puXZYjByJoiar$pm_J(y1E(#NY0hku?c- zYUfyPKO)wO&cJJmuPxA^Hf{~u^_&EHHMOKD(^n-K4Kh&=9*n+MG`C!e zKc3{)7DBdj9t8kQenHtur`Yz6$VneMkbw4c9AZZqggCefC|fcmBX+7~iIO|_AkA1v scl6L3Q^y|Q=TS}QRc9Lz=Ys-^&)|q3F{j(Su~iHB0oSudQeo%;0Q`0nO#lD@ literal 0 HcmV?d00001 diff --git a/test/test_calculateP/datafiles/3to2_prob_emulated.txt.gz b/test/test_calculateP/datafiles/3to2_prob_emulated.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..4edc56fca69c96aecb20851e14199c8a20f379b5 GIT binary patch literal 333 zcmV-T0kZxdiwFqk8zfZ%|1)%NGGB0VZ(?6%ZFOv6bY)~Nba-?C?cB=^!Y~j7&^xUl zBIjcg3QGSiPyph96k&V!aUBVq{V_9MsMB#QYh7O3JnzqKFSYFFqpY_wm5 ze}1ca-G^TY)RrL$4@3!x)B-v$AFUR)N(KvwVW~thOZ@@R&SKSQWHiknE*dsg;awb> za}d@Sr9{cT(QRCo#RavCi{cD%vgwD?w!C?RZtQM0? literal 0 HcmV?d00001 diff --git a/test/test_calculateP/datafiles/3to2_prob_mc.txt.gz b/test/test_calculateP/datafiles/3to2_prob_mc.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..9227af6b818cd9d68288fb863be38634fdf1010e GIT binary patch literal 663 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

-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 Date: Tue, 7 Apr 2015 17:13:03 -0600 Subject: [PATCH 12/85] updated tests, fixed dimension issues in basicSampling --- bet/sampling/basicSampling.py | 44 ++++-- test/test_sampling/test_basicSampling.py | 188 ++++++++++++++++++++++- test/test_util.py | 32 +++- 3 files changed, 243 insertions(+), 21 deletions(-) diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 8eca6b91..14ee91f7 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -16,6 +16,8 @@ def compare_yield(sort_ind, sample_quality, run_param, column_headings=None): """ + TODO: Maybe move to bet.postProcessing.postTools + Compare the quality of samples where ``sample_quality`` is the measure of quality by which the sets of samples have been indexed and ``sort_ind`` is an array of the sorted indicies. @@ -36,6 +38,8 @@ def compare_yield(sort_ind, sample_quality, run_param, column_headings=None): def in_high_prob(data, rho_D, maximum, sample_nos=None): """ + TODO: Maybe move to bet.postProcessing.postTools + Estimates the number of samples in high probability regions of D. :param data: Data associated with ``samples`` @@ -58,6 +62,8 @@ def in_high_prob(data, rho_D, maximum, sample_nos=None): def in_high_prob_multi(results_list, rho_D, maximum, sample_nos_list=None): """ + TODO: Maybe move to bet.postProcessing.postTools + Estimates the number of samples in high probability regions of D for a list of results. @@ -96,6 +102,7 @@ def loadmat(save_file, model=None): # load the data from a *.mat file mdat = sio.loadmat(save_file) # load the samples + # TODO: calculate the number of samples rather than loading it if mdat.has_key('samples'): samples = mdat['samples'] else: @@ -201,18 +208,15 @@ def user_samples(self, samples, savefile, parallel=False): Numpy and other Python packages. Instead of reimplementing them here we provide sampler that utilizes user specified samples. - Note: Parallel implementation with changes ordering of - the samples if ``samples.shape[0]`` is not divisible by ``size``. - :param samples: samples to evaluate the model at - :type samples: :class:`~numpy.ndarray` of shape (ndim, num_samples) + :type samples: :class:`~numpy.ndarray` of shape (num_smaples, ndim) :param string savefile: filename to save samples and data :param boolean parallel: Flag for parallel implementation. Uses lowercase ``mpi4py`` methods if ``samples.shape[0]`` is not divisible by ``size``. Default value is ``False``. :rtype: tuple :returns: (``parameter_samples``, ``data_samples``) where - ``parameter_samples`` is np.ndarray of shape (ndim, num_samples) + ``parameter_samples`` is np.ndarray of shape (num_samples, ndim) and ``data_samples`` is np.ndarray of shape (num_samples, mdim) """ @@ -226,18 +230,38 @@ def user_samples(self, samples, savefile, parallel=False): if not(parallel) or size == 1: data = self.lb_model(samples) elif parallel and self.num_samples%size == 0: - my_samples = np.empty((samples.shape[0]/size, samples.shape[1])) + if len(samples.shape) == 1: + my_samples = np.empty((samples.shape[0]/size, )) + else: + my_samples = np.empty((samples.shape[0]/size, samples.shape[1])) comm.Scatter([samples, MPI.DOUBLE], [my_samples, MPI.DOUBLE]) my_data = self.lb_model(my_samples) - data = np.empty((self.num_samples, my_data.shape[1]), - dtype=np.float64) + if len(my_data.shape) == 1: + data = np.empty((self.num_samples,), + dtype=np.float64) + else: + data = np.empty((self.num_samples, my_data.shape[1]), + dtype=np.float64) comm.Allgather([my_data, MPI.DOUBLE], [data, MPI.DOUBLE]) elif parallel: - my_index = range(0+rank, self.num_samples, size) - my_samples = samples[my_index, :] + my_len = self.num_samples/size + if rank != size-1: + my_index = range(0+rank*my_len, (rank+1)*my_len) + else: + my_index = range(0+rank*my_len, self.num_samples) + if len(my_samples.shape) == 1: + my_samples = samples[my_index, :] + else: + my_samples = samples[my_index, :] my_data = self.lb_model(my_samples) data = util.get_global_values(my_data) samples = util.get_global_values(my_data) + + # if data or samples are of shape (num_samples,) expand dimensions + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) mdat = dict() self.update_mdict(mdat) diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 171c66eb..1b42934f 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -1,7 +1,185 @@ """ -This module contains tests for the :mod:`bet.sampling.basicSampling` module. - - * check input/output dimensions and format - * make sure that $\lambda_i \in \Lambda$ - * provide diagnoistic output (?) +This module contains unittests for :mod:`~bet.util` """ + +import unittest, os +import numpy.testing as nptest +import numpy as np +import bet.sampling.basicSampling as bsam +import scipy.io as sio + +def test_in_high_prob(): + """ + TODO :maybe move to test.test_postProcessing.test_postTools + + Tests :meth:`bet.sampling.basicSampling.in_high_prob` + """ + def rho_D(my_data): + return my_data/len(my_data) + data = np.array([0, 1, 0, 1, 1, 1]) + maximum = np.max(rho_D(data)) + assert 4 == bsam.in_high_prob(data, rho_D, maximum) + assert 3 == bsam.in_high_prob(data, rho_D, maximum, [3, 4, 5]) + assert 2 == bsam.in_high_prob(data, rho_D, maximum, [0, 1, 2, 3]) + assert 1 == bsam.in_high_prob(data, rho_D, maximum, [0, 2, 4]) + assert 0 == bsam.in_high_prob(data, rho_D, maximum, [0, 2]) + +def test_in_high_prob_multi(): + """ + TODO :maybe move to test.test_postProcessing.test_postTools + + Tests :meth:`bet.sampling.basicSampling.in_high_prob_multi` + + """ + def rho_D(my_data): + return my_data/len(my_data) + data1 = np.array([0, 1, 0, 1, 1, 0]) + data2 = np.ones(data1.shape)-data1 + maximum = np.max(rho_D(data1)) + + results_list = [[None, data1], [None, data2], [None, data1], [None, data2]] + sample_nos_list = [[3, 4, 5], [3, 4, 5], [0, 2, 4], [0, 2, 4]] + + nptest.assert_array_equal(np.array([3, 1, 1, 2]), + bsam.in_high_prob_multi(results_list, rho_D, maximum, + sample_nos_list)) + nptest.assert_array_equal(np.array([4, 2, 4, 2]), + bsam.in_high_prob_multi(results_list, rho_D, maximum)) + +def test_loadmat(): + """ + Tests :meth:`bet.sampling.basicSampling.loadmat` + """ + mdat1 = {'samples':range(5), 'data':range(5), 'num_samples':5} + mdat2 = {'samples':range(6), 'num_samples':6} + model = "this is not a model" + + sio.savefile('testfile1', mdat1) + sio.savefile('testfile2', mdat2) + + (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') + nptest.assert_array_equal(samples1, range(5)) + nptest.assert_array_equal(data1, range(5)) + assert loaded_sampler1.num_samples == 5 + assert loaded_sampler1.lb_model == None + + (loaded_sampler2, samples2, data2) = bsam.loadmat('testfile2', model) + nptest.assert_array_equal(samples2, range(6)) + nptest.assert_array_equal(data2, None) + assert loaded_sampler1.num_samples == 6 + assert loaded_sampler1.lb_model == model + os.remove('testfile1.mat') + os.remove('testfile2.mat') + + +class Test_basic_sampler(unittest.TestCase): + """ + Test :class:`bet.sampling.basicSampling.sampler`. + """ + + def setUp(self): + # create 1-1 map + self.param_min1 = np.zeros((1, )) + self.param_max1 = np.zeros((1, )) + def map_1t1(x): + return np.sin(x) + # create 3-1 map + self.param_min3 = np.zeros((3, )) + self.param_max3 = np.ones((3, )) + def map_3t1(x): + return np.sum(x, 1) + # create 3-2 map + def map_3t2(x): + return np.vstack(([x[:, 0]+x[:, 1], x[:, 2]])).transpose() + # create 10-4 map + self.param_min10 = np.zeros((10, )) + self.param_min10 = np.ones((10, )) + def map_10t4(x): + x1 = x[:, 0] + x[:, 1] + x2 = x[:, 2] + x[:, 3] + x3 = x[:, 4] + x[:, 5] + x4 = np.sum(x[:, [6, 7, 8, 9]], 1) + return np.vstack([x1, x2, x3, x4]).transpose() + num_samples = 100 + self.savefiles = ["11t11", "1t1", "3to1", "3to2", "10to4"] + self.models = [map_1t1, map_1t1, map_3t1, map_3t2, map_10t4] + self.samplers = [] + for model in self.models: + self.samplers.append(bsam.sampler(model, num_samples)) + + def tearDown(self): + for f in self.savefiles: + if os.path.exists(f+".mat"): + os.remove(f+".mat") + + def test_init(self): + """ + Test initalization of :class:`bet.sampling.basicSampling.sampler` + """ + assert self.samplers[0].num_samples == 100 + assert self.samplers[0].model == self.models[0] + assert bsam.sampler(self.models[0], None).num_samples == None + + @unittest.skip("Skipping testing saving") + def test_save(self): + """ + """ + pass + + def test_update(self): + """ + Test :meth:`bet.sampling.basicSampling.sampler.save` + """ + mdict = {"frog":3, "moose":2} + self.samplers[0].update_mdict(mdict) + assert self.samplers[0].num_samples == mdict["num_samples"] + + def test_user_samples(self): + """ + Test :meth:`bet.sampling.basicSampling.sampler.random_samples` for + three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). + """ + # create a list of different sets of samples + list_of_samples = [np.ones((4,)), np.ones((4,1)), np.ones((4,3)), + np.ones((4,3)), np.ones((4,10))] + + test_list = zip(self.models, self.samplers, list_of_samples, + self.savefiles) + + for model, sampler, samples, savefile in test_list: + for parallel in [False, True]: + yield verify_user_samples, model, sampler, samples, savefile, + parallel + + def verify_user_samples(model, sampler, samples, savefile, parallel): + # evalulate the model at the samples directly + data = model(samples) + + # evaluate the model at the samples + (my_samples, my_data) = sampler.user_samples(samples, savefile, + parallel) + + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + if len(samples.shape) == 1: + samples = np.expan_dims(samples, axis=1) + + # compare the samples + nptest.assert_array_equal(samples, my_samples) + # compare the data + nptest.assert_array_equal(data, my_data) + # did num_samples get updated? + assert samples.shape[0] == sampler.num_samples + # did the file get correctly saved? + + mdat = sio.loadmat('savefile') + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + assert samples.shape[0] == sampler.num_samples + + + + + + + diff --git a/test/test_util.py b/test/test_util.py index 35bdfb16..8c27a6f1 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -7,7 +7,6 @@ from bet.Comm import * import numpy.testing as nptest import numpy as np -from pkgutil import iter_modules def get_binary_rep(i, dim): """ @@ -47,14 +46,35 @@ def test_meshgrid_ndim(): def test_get_global_values(): """ + TODO: make sure the newer version of util matches this test + Tests :meth:`bet.util.get_global_values`. """ - original_array = np.array([range(size*2)]) - if rank > 0: - my_index = range(0+rank, len(original_array), size) + for i in xrange(5): + yield compare_get_global_values, i + +def compare_get_global_values(i): + """ + Compares the results of get global values for a vector of shape ``(size*2, + i)``. + + :param int i: Dimension of the vector of length ``size*2`` + + """ + if rank == 0: + if i == 0: + original_array = np.array(np.random.random((size*2,))) + else: + original_array = np.array(np.random.random((size*2,i))) + else: + original_array = None + original_array = comm.bcast(original_array) + my_len = original_array.shape[0]/size + my_index = range(0+rank*my_len, (rank+1)*my_len) + if i == 0: + my_array = original_array[my_index] else: - my_index = range(0+rank, len(original_array), size) - my_array = original_array[my_index] + my_array = original_array[my_index,:] recomposed_array = util.get_global_values(my_array) nptest.assert_array_equal(original_array, recomposed_array) From e731976a1ab90bd7c55f1d776d646980d02ce320 Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Tue, 7 Apr 2015 22:38:34 -0600 Subject: [PATCH 13/85] adds tests for plotP --- bet/postProcess/plotP.py | 15 +- .../test_plotDomains.py | 0 test/test_postProcess/test_plotP.py | 183 ++++++++++++++++++ test/test_visualize/test_plotP.py | 0 4 files changed, 196 insertions(+), 2 deletions(-) rename test/{test_visualize => test_postProcess}/test_plotDomains.py (100%) create mode 100644 test/test_postProcess/test_plotP.py delete mode 100644 test/test_visualize/test_plotP.py diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index f4317420..9209e937 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -57,6 +57,8 @@ def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): :returns: (bins, marginals) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) num_samples = samples.shape[0] num_dim = samples.shape[1] @@ -71,13 +73,17 @@ def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): # Create bins bins = [] for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], + bins.append(np.linspace(lam_domain[i][0]-np.finfo(float).eps, lam_domain[i][1]+np.finfo(float).eps, nbins[i]+1)) bin_ptr = np.zeros((num_samples, num_dim), dtype=np.int) # Bin samples for j in range(num_dim): bin_ptr[:, j] = np.searchsorted(bins[j], samples[:, j]) bin_ptr -= 1 + bins = [] + for i in range(num_dim): + bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], + nbins[i]+1)) # Calculate marginal probabilities marginals = {} @@ -110,6 +116,7 @@ def calculate_2D_marginal_probs(P_samples, samples, lam_domain, nbins=20): :returns: (bins, marginals) """ + num_samples = samples.shape[0] num_dim = samples.shape[1] @@ -123,12 +130,16 @@ def calculate_2D_marginal_probs(P_samples, samples, lam_domain, nbins=20): # Create bins bins = [] for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], nbins[i]+1)) + bins.append(np.linspace(lam_domain[i][0]-np.finfo(float).eps, lam_domain[i][1]+np.finfo(float).eps, nbins[i]+1)) bin_ptr = np.zeros((num_samples, num_dim), dtype=np.int) # Bin samples for j in range(num_dim): bin_ptr[:, j] = np.searchsorted(bins[j], samples[:, j]) bin_ptr -= 1 + + bins = [] + for i in range(num_dim): + bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], nbins[i]+1)) # Calculate marginal probabilities marginals = {} diff --git a/test/test_visualize/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py similarity index 100% rename from test/test_visualize/test_plotDomains.py rename to test/test_postProcess/test_plotDomains.py diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py new file mode 100644 index 00000000..1d3285a8 --- /dev/null +++ b/test/test_postProcess/test_plotP.py @@ -0,0 +1,183 @@ +# Steven Mattis 04/07/2015 +""" +This module contains tests for :module:`bet.postProcess.plotP`. + + +Tests for correct computation of marginals and plotting. +""" + +import unittest +import bet.calculateP.calculateP as calcP +import bet.calculateP.simpleFunP as simpleFunP +import bet.postProcess.plotP as plotP +import numpy as np +import scipy.spatial as spatial +import numpy.testing as nptest +import bet.util as util +from bet.Comm import * + +class Test_calc_marg_1D(unittest.TestCase): + """ + Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` + for a 1D parameter space. + """ + def setUp(self): + """ + Set up problem. + """ + self.lam_domain=np.array([[0.0,1.0]]) + num_samples=1000 + self.samples = np.linspace(self.lam_domain[0][0], self.lam_domain[0][1], num_samples+1) + self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + + def test_1_bin(self): + """ + Test that marginals sum to 1 and have correct shape. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 1) + nptest.assert_almost_equal(marginals[0][0], 1.0) + nptest.assert_equal(marginals[0].shape, (1,)) + + def test_10_bins(self): + """ + Test that marginals sum to 1 and have correct shape. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + nptest.assert_almost_equal(np.sum(marginals[0]), 1.0) + nptest.assert_equal(marginals[0].shape, (10,)) + +class Test_calc_marg_2D(unittest.TestCase): + """ + Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D + parameter space. + """ + def setUp(self): + """ + Set up problem. + """ + self.lam_domain=np.array([[0.0,1.0],[0.0,1.0]]) + self.samples=util.meshgrid_ndim((np.linspace(self.lam_domain[0][0], self.lam_domain[0][1], 10),np.linspace(self.lam_domain[1][0], self.lam_domain[1][1], 10))) + self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + + def test_1_bin_1D(self): + """ + Test that 1D marginals sum to 1 and have right shape. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 1) + + nptest.assert_almost_equal(marginals[0][0], 1.0) + nptest.assert_almost_equal(marginals[1][0], 1.0) + nptest.assert_equal(marginals[0].shape, (1,)) + nptest.assert_equal(marginals[1].shape, (1,)) + + def test_10_bins_1D(self): + """ + Test that 1D marginals sum to 1 and have right shape. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + nptest.assert_almost_equal(np.sum(marginals[0]), 1.0) + nptest.assert_almost_equal(np.sum(marginals[1]), 1.0) + nptest.assert_equal(marginals[0].shape, (10,)) + + def test_1_bin_2D(self): + """ + Test that 2D marginals sum to 1 and have right shape. + """ + (bins, marginals) = plotP.calculate_2D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 1) + + nptest.assert_almost_equal(marginals[(0,1)][0], 1.0) + nptest.assert_equal(marginals[(0,1)].shape, (1,1)) + + def test_10_bins_2D(self): + """ + Test that 2D marginals sum to 1 and have right shape. + """ + (bins, marginals) = plotP.calculate_2D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + nptest.assert_almost_equal(np.sum(marginals[(0,1)]), 1.0) + nptest.assert_equal(marginals[(0,1)].shape, (10,10)) + + def test_5_10_bins_2D(self): + """ + Test that 1D marginals sum to 1 and have right shape. + """ + (bins, marginals) = plotP.calculate_2D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = [5,10]) + nptest.assert_almost_equal(np.sum(marginals[(0,1)]), 1.0) + nptest.assert_equal(marginals[(0,1)].shape, (5,10)) + + + def test_1D_smoothing(self): + """ + Test :meth:`bet.postProcess.plotP.smooth_marginals_1D`. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + marginals_smooth = plotP.smooth_marginals_1D(marginals, bins, sigma = 10.0) + nptest.assert_equal(marginals_smooth[0].shape, marginals[0].shape) + nptest.assert_almost_equal(np.sum(marginals_smooth[0]), 1.0) + + def test_2D_smoothing(self): + """ + Test :meth:`bet.postProcess.plotP.smooth_marginals_2D`. + """ + (bins, marginals) = plotP.calculate_2D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + marginals_smooth = plotP.smooth_marginals_2D(marginals, bins, sigma = 10.0) + nptest.assert_equal(marginals_smooth[(0,1)].shape, marginals[(0,1)].shape) + nptest.assert_almost_equal(np.sum(marginals_smooth[(0,1)]), 1.0) + + def test_plot_marginals_1D(self): + """ + Test :meth:`bet.postProcess.plotP.plot_1D_marginal_probs`. + """ + (bins, marginals) = plotP.calculate_1D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + try: + plotP.plot_1D_marginal_probs(marginals, bins,self.lam_domain, interactive=False) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + def test_plot_marginals_2D(self): + """ + Test :meth:`bet.postProcess.plotP.plot_2D_marginal_probs`. + """ + (bins, marginals) = plotP.calculate_2D_marginal_probs(self.P_samples, + self.samples, + self.lam_domain, + nbins = 10) + marginals[(0,1)][0][0]=0.0 + marginals[(0,1)][0][1]*=2.0 + try: + plotP.plot_2D_marginal_probs(marginals, bins,self.lam_domain, interactive=False) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) diff --git a/test/test_visualize/test_plotP.py b/test/test_visualize/test_plotP.py deleted file mode 100644 index e69de29b..00000000 From f4bae3f86a6d766f674603567536ed76af354e80 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Tue, 7 Apr 2015 23:01:24 -0600 Subject: [PATCH 14/85] finished basic sampling tests --- bet/sampling/basicSampling.py | 5 +- test/test_Comm.py | 6 +- test/test_sampling/test_basicSampling.py | 161 ++++++++++++++++------- test/test_util.py | 10 +- 4 files changed, 123 insertions(+), 59 deletions(-) diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 14ee91f7..68de1687 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -55,7 +55,10 @@ def in_high_prob(data, rho_D, maximum, sample_nos=None): """ if sample_nos == None: sample_nos = range(data.shape[0]) - rD = rho_D(data[sample_nos, :]) + if len(data.shape) == 1: + rD = rho_D(data[sample_nos]) + else: + rD = rho_D(data[sample_nos, :]) adjusted_total_prob = int(sum(rD)/maximum) print "Samples in box "+str(adjusted_total_prob) return adjusted_total_prob diff --git a/test/test_Comm.py b/test/test_Comm.py index 982f1511..f57e9c73 100644 --- a/test/test_Comm.py +++ b/test/test_Comm.py @@ -13,15 +13,15 @@ class Test_comm_for_no_mpi4py(unittest.TestCase): def setUp(self): self.comm = Comm.comm_for_no_mpi4py() def test_Get_size(self): - self.assertEqual(self.comm.Get_size(),1) + self.assertEqual(self.comm.Get_size(), 1) def test_Get_rank(self): - self.assertEqual(self.comm.Get_rank(),0) + self.assertEqual(self.comm.Get_rank(), 0) def test_allgrather(self): thing = range(4) self.assertEqual(self.comm.allgather(thing), thing) def test_allreduce(self): thing = 4 - self.assertEqual(self.comm.allreduce(thing,op=None), thing) + self.assertEqual(self.comm.allreduce(thing, op=None), thing) def test_bcast(self): thing = range(4) self.assertEqual(self.comm.bcast(thing, root=0), thing) diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 1b42934f..bea8ef1d 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -15,9 +15,10 @@ def test_in_high_prob(): Tests :meth:`bet.sampling.basicSampling.in_high_prob` """ def rho_D(my_data): - return my_data/len(my_data) + return my_data/4.0 data = np.array([0, 1, 0, 1, 1, 1]) maximum = np.max(rho_D(data)) + print "maximum", maximum assert 4 == bsam.in_high_prob(data, rho_D, maximum) assert 3 == bsam.in_high_prob(data, rho_D, maximum, [3, 4, 5]) assert 2 == bsam.in_high_prob(data, rho_D, maximum, [0, 1, 2, 3]) @@ -32,45 +33,119 @@ def test_in_high_prob_multi(): """ def rho_D(my_data): - return my_data/len(my_data) + return my_data/4.0 data1 = np.array([0, 1, 0, 1, 1, 0]) data2 = np.ones(data1.shape)-data1 maximum = np.max(rho_D(data1)) + print "maximum", maximum results_list = [[None, data1], [None, data2], [None, data1], [None, data2]] sample_nos_list = [[3, 4, 5], [3, 4, 5], [0, 2, 4], [0, 2, 4]] - nptest.assert_array_equal(np.array([3, 1, 1, 2]), + nptest.assert_array_equal(np.array([2, 1, 1, 2]), bsam.in_high_prob_multi(results_list, rho_D, maximum, sample_nos_list)) - nptest.assert_array_equal(np.array([4, 2, 4, 2]), + nptest.assert_array_equal(np.array([3, 3, 3, 3]), bsam.in_high_prob_multi(results_list, rho_D, maximum)) def test_loadmat(): """ Tests :meth:`bet.sampling.basicSampling.loadmat` """ - mdat1 = {'samples':range(5), 'data':range(5), 'num_samples':5} - mdat2 = {'samples':range(6), 'num_samples':6} + mdat1 = {'samples':np.random.random((5,1)), + 'data':np.random.random((5,1)), 'num_samples':5} + mdat2 = {'samples':np.random.random((6,1)), 'num_samples':6} model = "this is not a model" - sio.savefile('testfile1', mdat1) - sio.savefile('testfile2', mdat2) + sio.savemat('testfile1', mdat1) + sio.savemat('testfile2', mdat2) (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') - nptest.assert_array_equal(samples1, range(5)) - nptest.assert_array_equal(data1, range(5)) + nptest.assert_array_equal(samples1, mdat1['samples']) + nptest.assert_array_equal(data1, mdat1['data']) assert loaded_sampler1.num_samples == 5 assert loaded_sampler1.lb_model == None (loaded_sampler2, samples2, data2) = bsam.loadmat('testfile2', model) - nptest.assert_array_equal(samples2, range(6)) + nptest.assert_array_equal(samples2, mdat2['samples']) nptest.assert_array_equal(data2, None) - assert loaded_sampler1.num_samples == 6 - assert loaded_sampler1.lb_model == model + assert loaded_sampler2.num_samples == 6 + assert loaded_sampler2.lb_model == model os.remove('testfile1.mat') os.remove('testfile2.mat') +def verify_user_samples(model, sampler, samples, savefile, parallel): + # evalulate the model at the samples directly + data = model(samples) + + # evaluate the model at the samples + (my_samples, my_data) = sampler.user_samples(samples, savefile, + parallel) + + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + if len(samples.shape) == 1: + samples = np.expan_dims(samples, axis=1) + + # compare the samples + nptest.assert_array_equal(samples, my_samples) + # compare the data + nptest.assert_array_equal(data, my_data) + # did num_samples get updated? + assert samples.shape[0] == sampler.num_samples + # did the file get correctly saved? + + mdat = sio.loadmat('savefile') + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + assert samples.shape[0] == sampler.num_samples + +def verify_random_samples(model, sampler, sample_type, param_min, param_max, + num_samples, savefile, parallel): + # recreate the samples + if num_samples == None: + num_samples = self.num_samples + param_left = np.repeat([param_min], num_samples, 0) + param_right = np.repeat([param_max], num_samples, 0) + samples = (param_right-param_left) + if sample_type == "lhs": + samples = samples * lhs(param_min.shape[-1], num_samples, criterion) + elif sample_type == "random" or "r": + np.random.seed(1) + samples = samples * np.random(param_left.shape) + samples = samples + param_left + # evalulate the model at the samples directly + data = model(samples) + + # evaluate the model at the samples + # reset the random seed + if sample_type == "random" or "r": + np.random.seed(1) + (my_samples, my_data) = sampler.user_samples(samples, savefile, + parallel) + + # make sure that the samples are within the boundaries + assert np.all(my_samples <= param_right) + assert np.all(my_samples >= param_left) + + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + if len(samples.shape) == 1: + samples = np.expan_dims(samples, axis=1) + + # compare the samples + nptest.assert_array_equal(samples, my_samples) + # compare the data + nptest.assert_array_equal(data, my_data) + # did num_samples get updated? + assert samples.shape[0] == sampler.num_samples + # did the file get correctly saved? + + mdat = sio.loadmat('savefile') + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + assert samples.shape[0] == sampler.num_samples + class Test_basic_sampler(unittest.TestCase): """ @@ -117,13 +192,11 @@ def test_init(self): Test initalization of :class:`bet.sampling.basicSampling.sampler` """ assert self.samplers[0].num_samples == 100 - assert self.samplers[0].model == self.models[0] + assert self.samplers[0].lb_model == self.models[0] assert bsam.sampler(self.models[0], None).num_samples == None @unittest.skip("Skipping testing saving") def test_save(self): - """ - """ pass def test_update(self): @@ -140,46 +213,34 @@ def test_user_samples(self): three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). """ # create a list of different sets of samples - list_of_samples = [np.ones((4,)), np.ones((4,1)), np.ones((4,3)), - np.ones((4,3)), np.ones((4,10))] + list_of_samples = [np.ones((4, )), np.ones((4, 1)), np.ones((4, 3)), + np.ones((4, 3)), np.ones((4, 10))] test_list = zip(self.models, self.samplers, list_of_samples, self.savefiles) for model, sampler, samples, savefile in test_list: for parallel in [False, True]: - yield verify_user_samples, model, sampler, samples, savefile, - parallel - - def verify_user_samples(model, sampler, samples, savefile, parallel): - # evalulate the model at the samples directly - data = model(samples) - - # evaluate the model at the samples - (my_samples, my_data) = sampler.user_samples(samples, savefile, - parallel) - - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - if len(samples.shape) == 1: - samples = np.expan_dims(samples, axis=1) - - # compare the samples - nptest.assert_array_equal(samples, my_samples) - # compare the data - nptest.assert_array_equal(data, my_data) - # did num_samples get updated? - assert samples.shape[0] == sampler.num_samples - # did the file get correctly saved? - - mdat = sio.loadmat('savefile') - nptest.assert_array_equal(samples, mdat['samples']) - nptest.assert_array_equal(data, mdat['data']) - assert samples.shape[0] == sampler.num_samples - - - + yield verify_user_samples, model, sampler, samples, savefile, parallel + def test_random_samples(self): + """ + Test :met:`bet.sampling.basicSampling.sampler.random_samples` for three + different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). + """ + param_min_list = [self.param_min1, self.param_min1, self.param_min3, + self.param_min3, self.param_min10] + param_max_list = [self.param_max1, self.param_max1, self.param_max3, + self.param_max3, self.param_max10] - + test_list = zip(self.models, self.samplers, param_min_list, + param_max_list, + self.savefiles) + for model, sampler, param_min, param_max, savefile in test_list: + for sample_type in ["random", "r", "lhs"]: + for num_samples in [None, 25]: + for parallel in [False, True]: + yield verify_random_samples, model, sampler, + param_min, param_max, savefile, num_samples, + parallel diff --git a/test/test_util.py b/test/test_util.py index 8c27a6f1..9958eacc 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -2,7 +2,6 @@ This module contains unittests for :mod:`~bet.util` """ -import unittest import bet.util as util from bet.Comm import * import numpy.testing as nptest @@ -41,7 +40,7 @@ def test_meshgrid_ndim(): equal to ``[0, 1]``. """ for i in xrange(10): - x = [[0,1] for v in xrange(i+1)] + x = [[0, 1] for v in xrange(i+1)] yield compare_to_bin_rep, util.meshgrid_ndim(x) def test_get_global_values(): @@ -63,9 +62,9 @@ def compare_get_global_values(i): """ if rank == 0: if i == 0: - original_array = np.array(np.random.random((size*2,))) + original_array = np.array(np.random.random((size*2, ))) else: - original_array = np.array(np.random.random((size*2,i))) + original_array = np.array(np.random.random((size*2, i))) else: original_array = None original_array = comm.bcast(original_array) @@ -74,7 +73,8 @@ def compare_get_global_values(i): if i == 0: my_array = original_array[my_index] else: - my_array = original_array[my_index,:] + my_array = original_array[my_index, :w + :] recomposed_array = util.get_global_values(my_array) nptest.assert_array_equal(original_array, recomposed_array) From 83385e8eab099d69ba067f2a2a65c9bcb86ae50f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Tue, 7 Apr 2015 23:07:47 -0600 Subject: [PATCH 15/85] added beginnings for testing adaptive sampling --- test/test_sampling/test_adaptiveSampling.py | 172 +++++++++++++++++++- 1 file changed, 167 insertions(+), 5 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index cb417107..42b3fa39 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -1,8 +1,170 @@ """ -This module contains tests for the :mod:`bet.sampling.basicSampling` module. +This module contains unittests for :mod:`~bet.util` +""" + +import unittest, os +import numpy.testing as nptest +import numpy as np +import bet.sampling.basicSampling as bsam +import scipy.io as sio - * check input/output dimensions and format - * make sure that $\lambda_i \in \Lambda$ - * provide diagnoistic output (?) - * check that step sizes are within a certain tolerance """ +TODO: rewrite loadmat test, rewrite init test, rewrite update_mdict test, write +tests for run_BLAHBLAH, write test for generalized_chains, write a test stub +for kernels but do not implement +""" + +def test_loadmat(): + """ + Tests :meth:`bet.sampling.basicSampling.loadmat` + """ + mdat1 = {'samples':np.random.random((5,1)), + 'data':np.random.random((5,1)), 'num_samples':5} + mdat2 = {'samples':np.random.random((6,1)), 'num_samples':6} + model = "this is not a model" + + sio.savemat('testfile1', mdat1) + sio.savemat('testfile2', mdat2) + + (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') + nptest.assert_array_equal(samples1, mdat1['samples']) + nptest.assert_array_equal(data1, mdat1['data']) + assert loaded_sampler1.num_samples == 5 + assert loaded_sampler1.lb_model == None + + (loaded_sampler2, samples2, data2) = bsam.loadmat('testfile2', model) + nptest.assert_array_equal(samples2, mdat2['samples']) + nptest.assert_array_equal(data2, None) + assert loaded_sampler2.num_samples == 6 + assert loaded_sampler2.lb_model == model + os.remove('testfile1.mat') + os.remove('testfile2.mat') + +def verify_random_samples(model, sampler, sample_type, param_min, param_max, + num_samples, savefile, parallel): + # recreate the samples + if num_samples == None: + num_samples = self.num_samples + param_left = np.repeat([param_min], num_samples, 0) + param_right = np.repeat([param_max], num_samples, 0) + samples = (param_right-param_left) + if sample_type == "lhs": + samples = samples * lhs(param_min.shape[-1], num_samples, criterion) + elif sample_type == "random" or "r": + np.random.seed(1) + samples = samples * np.random(param_left.shape) + samples = samples + param_left + # evalulate the model at the samples directly + data = model(samples) + + # evaluate the model at the samples + # reset the random seed + if sample_type == "random" or "r": + np.random.seed(1) + (my_samples, my_data) = sampler.user_samples(samples, savefile, + parallel) + + # make sure that the samples are within the boundaries + assert np.all(my_samples <= param_right) + assert np.all(my_samples >= param_left) + + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + if len(samples.shape) == 1: + samples = np.expan_dims(samples, axis=1) + + # compare the samples + nptest.assert_array_equal(samples, my_samples) + # compare the data + nptest.assert_array_equal(data, my_data) + # did num_samples get updated? + assert samples.shape[0] == sampler.num_samples + # did the file get correctly saved? + + mdat = sio.loadmat('savefile') + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + assert samples.shape[0] == sampler.num_samples + + +class Test_basic_sampler(unittest.TestCase): + """ + Test :class:`bet.sampling.basicSampling.sampler`. + """ + + def setUp(self): + # create 1-1 map + self.param_min1 = np.zeros((1, )) + self.param_max1 = np.zeros((1, )) + def map_1t1(x): + return np.sin(x) + # create 3-1 map + self.param_min3 = np.zeros((3, )) + self.param_max3 = np.ones((3, )) + def map_3t1(x): + return np.sum(x, 1) + # create 3-2 map + def map_3t2(x): + return np.vstack(([x[:, 0]+x[:, 1], x[:, 2]])).transpose() + # create 10-4 map + self.param_min10 = np.zeros((10, )) + self.param_min10 = np.ones((10, )) + def map_10t4(x): + x1 = x[:, 0] + x[:, 1] + x2 = x[:, 2] + x[:, 3] + x3 = x[:, 4] + x[:, 5] + x4 = np.sum(x[:, [6, 7, 8, 9]], 1) + return np.vstack([x1, x2, x3, x4]).transpose() + num_samples = 100 + self.savefiles = ["11t11", "1t1", "3to1", "3to2", "10to4"] + self.models = [map_1t1, map_1t1, map_3t1, map_3t2, map_10t4] + self.samplers = [] + for model in self.models: + self.samplers.append(bsam.sampler(model, num_samples)) + + def tearDown(self): + for f in self.savefiles: + if os.path.exists(f+".mat"): + os.remove(f+".mat") + + def test_init(self): + """ + Test initalization of :class:`bet.sampling.basicSampling.sampler` + """ + assert self.samplers[0].num_samples == 100 + assert self.samplers[0].lb_model == self.models[0] + assert bsam.sampler(self.models[0], None).num_samples == None + + @unittest.skip("Skipping testing saving") + def test_save(self): + pass + + def test_update(self): + """ + Test :meth:`bet.sampling.basicSampling.sampler.save` + """ + mdict = {"frog":3, "moose":2} + self.samplers[0].update_mdict(mdict) + assert self.samplers[0].num_samples == mdict["num_samples"] + + def test_random_samples(self): + """ + Test :met:`bet.sampling.basicSampling.sampler.random_samples` for three + different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). + """ + param_min_list = [self.param_min1, self.param_min1, self.param_min3, + self.param_min3, self.param_min10] + param_max_list = [self.param_max1, self.param_max1, self.param_max3, + self.param_max3, self.param_max10] + + test_list = zip(self.models, self.samplers, param_min_list, + param_max_list, + self.savefiles) + + for model, sampler, param_min, param_max, savefile in test_list: + for sample_type in ["random", "r", "lhs"]: + for num_samples in [None, 25]: + for parallel in [False, True]: + yield verify_random_samples, model, sampler, + param_min, param_max, savefile, num_samples, + parallel From 7a7f604a09cbcae830c5363f7cb01a0fa48883ed Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Tue, 7 Apr 2015 23:23:35 -0600 Subject: [PATCH 16/85] adds tests for postTools --- bet/postProcess/postTools.py | 10 ++++- test/test_postProcess/test_postTools.py | 58 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 test/test_postProcess/test_postTools.py diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index db0ebf3a..e1e9c842 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -26,6 +26,8 @@ def sort_by_rho(P_samples, samples, lam_vol=None, data=None): :returns: (P_samples, samples, lam_vol, data) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) nnz = np.sum(P_samples > 0) if lam_vol == None: indices = np.argsort(P_samples)[::-1][0:nnz] @@ -36,7 +38,9 @@ def sort_by_rho(P_samples, samples, lam_vol=None, data=None): if lam_vol != None: lam_vol = lam_vol[indices] if data != None: - data = data[indices] + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) + data = data[indices,:] return (P_samples, samples, lam_vol, data) @@ -64,6 +68,8 @@ def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, :returns: ( num_samples, P_samples, samples, lam_vol, data) """ + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) # TODO: should we trust the user or should we do a quick check of part of # the array to see if it's already sorted? if sort: @@ -77,6 +83,8 @@ def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, if lam_vol != None: lam_vol = lam_vol[0:num_samples] if data != None: + if len(data.shape) == 1: + data = np.expand_dims(data, axis=1) data = data[0:num_samples, :] return (num_samples, P_samples, samples, lam_vol, data) diff --git a/test/test_postProcess/test_postTools.py b/test/test_postProcess/test_postTools.py new file mode 100644 index 00000000..e29e42ef --- /dev/null +++ b/test/test_postProcess/test_postTools.py @@ -0,0 +1,58 @@ +# Steven Mattis 04/07/2015 +""" +This module contains tests for :module:`bet.postProcess.postTools`. + + +Tests for correct post-processing. +""" +import unittest +import bet.calculateP.simpleFunP as simpleFunP +import bet.postProcess.postTools as postTools +import numpy as np +import scipy.spatial as spatial +import numpy.testing as nptest +import bet.util as util +from bet.Comm import * + +class Test_PostTools(unittest.TestCase): + """ + Test :meth:`bet.postProcess.postTools`. + """ + def setUp(self): + """ + Set up problem. + """ + self.lam_domain=np.array([[0.0,1.0]]) + num_samples=1000 + self.samples = np.linspace(self.lam_domain[0][0], self.lam_domain[0][1], num_samples+1) + self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + self.P_samples[0] = 0.0 + self.P_samples[-1] *= 2.0 + + self.data = self.samples[:] + + def test_sort_by_rho(self): + """ + Test :meth:`bet.postProcess.postTools.sort_by_rho`. + """ + (P_samples, samples, _ , data) = postTools.sort_by_rho(self.P_samples, self.samples, + lam_vol=None, data=self.data) + self.assertGreater(np.min(P_samples),0.0) + nptest.assert_almost_equal(np.sum(P_samples),1.0) + + def test_sample_highest_prob(self): + """ + Test :meth:`bet.postProcess.postTools.sample_highest_prob`. + """ + (num_samples,P_samples, samples, _ , data) = postTools.sample_highest_prob(1.0, + self.P_samples, + self.samples, + lam_vol=None, data=self.data, sort=True) + nptest.assert_almost_equal(np.sum(P_samples),1.0) + nptest.assert_equal(num_samples,1000) + + (num_samples,P_samples, samples, _ , data) = postTools.sample_highest_prob(0.8, + self.P_samples, + self.samples, + lam_vol=None, data=self.data, sort=True) + nptest.assert_allclose(np.sum(P_samples),0.8,0.001) From 56cf20dbfa4bc556bed2f355a077dac0f359228e Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Wed, 8 Apr 2015 11:40:49 -0600 Subject: [PATCH 17/85] make changes for pull request --- bet/calculateP/calculateP.py | 8 +- setup.py | 8 +- test/test_calculateP/test_calculateP.py | 316 ++++------- test/test_calculateP/test_calculateP_old.py | 558 -------------------- test/test_postProcess/test_plotP.py | 4 +- 5 files changed, 104 insertions(+), 790 deletions(-) delete mode 100644 test/test_calculateP/test_calculateP_old.py diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index d1ae5e93..0a24477a 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -137,7 +137,7 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): rho_D_M, d_distr_samples, lam_domain, None, d_Tree) # Apply the standard MC approximation - lam_vol = np.ones((samples.shape[0],1)) + lam_vol = np.ones((samples.shape[0],)) # Calculate Probabilities P = np.zeros((samples.shape[0],)) # TODO Fix issue of unecessary mpi call @@ -148,7 +148,7 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): Itemp_sum = comm.allreduce(Itemp_sum, op=MPI.SUM) if Itemp_sum > 0: P[Itemp] = rho_D_M[i]*lam_vol[Itemp]/Itemp_sum - lam_vol = (1.0/float(samples.shape[0]))*np.ones((samples.shape[0],1)) + lam_vol = (1.0/float(samples.shape[0]))*np.ones((samples.shape[0],)) return (P, lam_vol, io_ptr, emulate_ptr) @@ -224,7 +224,7 @@ def prob_qhull(samples, data, rho_D_M, d_distr_samples, # Calculate the Voronoi diagram for samples. Calculate the volumes of # the convex hulls of the corresponding Voronoi regions. - lam_vol = np.zeros((samples.shape[-1],1)) + lam_vol = np.zeros((samples.shape[-1],)) for i in range((samples.shape[0])): vornoi = spatial.Voronoi(lam_bound) lam_vol[i] = float(pyhull.qconvex('Qt FA', vornoi.vertices).split()[-1]) @@ -280,7 +280,7 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, # Apply the standard MC approximation to determine the number of emulated # samples per model run sample. This is for approximating # \mu_Lambda(A_i \intersect b_j) - lam_vol = np.zeros((samples.shape[0],1)) + lam_vol = np.zeros((samples.shape[0],)) for i in range(samples.shape[0]): lam_vol[i] = np.sum(np.equal(emulate_ptr, i)) clam_vol = np.copy(lam_vol) diff --git a/setup.py b/setup.py index c5eba602..5a4cedd8 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup(name='bet', version='0.0', description='Butler, Estep, Tavener method', - author = 'Steven Mattis', - author_email ='steve.a.mattis@gmail.com', - url= 'https://github.com/smattis/BET', - packages =['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess']) + author='Steven Mattis', + author_email='steve.a.mattis@gmail.com', + url='https://github.com/UT-CHG/BET', + packages=['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess']) diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 6e789bb3..79b3d439 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -56,6 +56,72 @@ def test_bounds(self): self.assertLessEqual(np.max(self.lambda_emulate[:,1]), 4.0) self.assertLessEqual(np.max(self.lambda_emulate[:,2]), 0.5) +class prob: + def test_prob_sum_to_1(self): + """ + Test to see if the prob. sums to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + @unittest.skipIf(size > 1, 'Only run in serial') + def test_P_matches_true(self): + """ + Test against reference probs. (Only in serial) + """ + nptest.assert_almost_equal(self.P_ref,self.P) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): + """ + Test that all probs are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) + +class prob_emulated: + def test_P_sum_to_1(self): + """ + Test that prob. sums to 1. + """ + nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) + def test_P_matches_true(self): + """ + Test that probabilites match reference values. + """ + if size == 1: + nptest.assert_almost_equal(self.P_emulate_ref,self.P_emulate) + def test_prob_pos(self): + """ + Test that all probabilites are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) + +class prob_mc: + def test_P_sum_to_1(self): + """ + Test that probs sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.P),1.0) + def test_P_matches_true(self): + """ + Test the probs. match reference values. + """ + if size==1: + nptest.assert_almost_equal(self.P_ref,self.P) + def test_vol_sum_to_1(self): + """ + Test that volume ratios sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) + def test_prob_pos(self): + """ + Test that all probs are non-negative. + """ + self.assertEqual(np.sum(np.less(self.P,0)),0) + + + class TestProbMethod_3to2(unittest.TestCase): """ Sets up 3 to 2 map problem. @@ -72,7 +138,10 @@ def setUp(self): rnd.seed(1) self.lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain=self.lam_domain, num_l_emulate = 1000) -class Test_prob_3to2(TestProbMethod_3to2): + + + +class Test_prob_3to2(TestProbMethod_3to2,prob): """ Test :meth:`bet.calculateP.calculateP.prob` on 3 to 2 map. """ @@ -89,29 +158,9 @@ def setUp(self): d_Tree = self.d_Tree) self.P_ref = np.loadtxt("datafiles/3to2_prob.txt.gz") - def test_prob_sum_to_1(self): - """ - Test to see if the prob. sums to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - def test_P_matches_true(self): - """ - Test against reference probs. (Only in serial) - """ - if size == 1: - nptest.assert_almost_equal(self.P_ref,self.P) - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) -class Test_prob_emulated_3to2(TestProbMethod_3to2): + +class Test_prob_emulated_3to2(TestProbMethod_3to2, prob_emulated): """ Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 3 to 2 map. """ @@ -130,24 +179,9 @@ def setUp(self): self.P_emulate_ref=np.loadtxt("datafiles/3to2_prob_emulated.txt.gz") self.P_emulate = util.get_global_values(self.P_emulate) - def test_P_sum_to_1(self): - """ - Test that prob. sums to 1. - """ - nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) - def test_P_matches_true(self): - """ - Test that probabilites match reference values. - """ - if size == 1: - nptest.assert_almost_equal(self.P_emulate_ref,self.P_emulate) - def test_prob_pos(self): - """ - Test that all probabilites are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) -class Test_prob_mc_3to2(TestProbMethod_3to2): + +class Test_prob_mc_3to2(TestProbMethod_3to2, prob_mc): """ Test :meth:`bet.calculateP.calculateP.prob_mc` on a 3 to 2 map. """ @@ -165,27 +199,7 @@ def setUp(self): d_Tree = self.d_Tree) self.P_ref = np.loadtxt("datafiles/3to2_prob_mc.txt.gz") - def test_P_sum_to_1(self): - """ - Test that probs sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - def test_P_matches_true(self): - """ - Test the probs. match reference values. - """ - if size==1: - nptest.assert_almost_equal(self.P_ref,self.P) - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) + class TestProbMethod_3to1(unittest.TestCase): """ @@ -206,7 +220,7 @@ def setUp(self): rnd.seed(1) self.lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain=self.lam_domain, num_l_emulate = 1000) -class Test_prob_3to1(TestProbMethod_3to1): +class Test_prob_3to1(TestProbMethod_3to1, prob): """ Test :meth:`bet.calculateP.calculateP.prob` on a 3 to 1 map. """ @@ -223,30 +237,8 @@ def setUp(self): d_Tree = self.d_Tree) self.P_ref = np.loadtxt("datafiles/3to1_prob.txt.gz") - def test_prob_sum_to_1(self): - """ - Test that probs. sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - def test_P_matches_true(self): - """ - Test that probs match reference data. - """ - if size==1: - nptest.assert_almost_equal(self.P_ref,self.P) - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - def test_prob_pos(self): - """ - Test that probs. are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) - -class Test_prob_emulated_3to1(TestProbMethod_3to1): +class Test_prob_emulated_3to1(TestProbMethod_3to1, prob_emulated): """ Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 3 to 1 map. """ @@ -265,26 +257,9 @@ def setUp(self): self.P_emulate_ref=np.loadtxt("datafiles/3to1_prob_emulated.txt.gz") self.P_emulate = util.get_global_values(self.P_emulate) - def test_P_sum_to_1(self): - """ - Test the probs sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) - - def test_P_matches_true(self): - """ - Test the probs. match reference values. - """ - if size==1: - nptest.assert_almost_equal(self.P_emulate_ref,self.P_emulate) - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) -class Test_prob_mc_3to1(TestProbMethod_3to1): +class Test_prob_mc_3to1(TestProbMethod_3to1, prob_mc): """ Test :meth:`bet.calculateP.calculateP.prob_mc` on a 3 to 1 map. """ @@ -302,31 +277,7 @@ def setUp(self): d_Tree = self.d_Tree) self.P_ref = np.loadtxt("datafiles/3to1_prob_mc.txt.gz") - def test_P_sum_to_1(self): - """ - Test that probs sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - - def test_P_matches_true(self): - """ - Test that probs match reference vals. - """ - if size==1: - nptest.assert_almost_equal(self.P_ref,self.P) - - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) - + class TestProbMethod_10to4(unittest.TestCase): """ Sets up 10 to 4 map problem. @@ -347,7 +298,11 @@ def setUp(self): Q_ref = np.mean(self.data, axis=0) (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) -class Test_prob_10to4(TestProbMethod_10to4): + @unittest.skip("No reference data") + def test_P_matches_true(self): + pass + +class Test_prob_10to4(TestProbMethod_10to4, prob): """ Test :meth:`bet.calculateP.calculateP.prob` on a 10 to 4 map. """ @@ -363,25 +318,9 @@ def setUp(self): lam_domain = self.lam_domain, d_Tree = self.d_Tree) - def test_prob_sum_to_1(self): - """ - Test that probs sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) + -class Test_prob_emulated_10to4(TestProbMethod_10to4): +class Test_prob_emulated_10to4(TestProbMethod_10to4, prob_emulated): """ Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 10 to 4 map. """ @@ -400,19 +339,10 @@ def setUp(self): d_Tree = self.d_Tree) self.P_emulate = util.get_global_values(self.P_emulate) - def test_P_sum_to_1(self): - """ - Test that probs. sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) -class Test_prob_mc_10to4(TestProbMethod_10to4): + +class Test_prob_mc_10to4(TestProbMethod_10to4, prob_mc): """ Test :meth:`bet.calculateP.calculateP.prob_mc` on a 10 to 4 map. """ @@ -429,23 +359,6 @@ def setUp(self): lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - def test_P_sum_to_1(self): - """ - Test the probs. sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - - def test_prob_pos(self): - """ - Test that probs. are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) class TestProbMethod_1to1(unittest.TestCase): """ @@ -466,8 +379,11 @@ def setUp(self): self.data = 2.0*self.samples Q_ref = np.mean(self.data, axis=0) (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) + @unittest.skip("No reference data") + def test_P_matches_true(self): + pass -class Test_prob_1to1(TestProbMethod_1to1): +class Test_prob_1to1(TestProbMethod_1to1, prob): """ Test :meth:`bet.calculateP.calculateP.prob` on a 1 to 1 map. """ @@ -483,25 +399,8 @@ def setUp(self): lam_domain = self.lam_domain, d_Tree = self.d_Tree) - def test_prob_sum_to_1(self): - """ - Test that probs sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) - -class Test_prob_emulated_1to1(TestProbMethod_1to1): +class Test_prob_emulated_1to1(TestProbMethod_1to1, prob_emulated): """ Test :meth:`bet.calculateP.calculateP.prob_emulated` on a 1 to 1 map. """ @@ -520,19 +419,8 @@ def setUp(self): d_Tree = self.d_Tree) self.P_emulate = util.get_global_values(self.P_emulate) - def test_P_sum_to_1(self): - """ - Test that probs. sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P_emulate),1.0) - def test_prob_pos(self): - """ - Test that all probs are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P_emulate,0)),0) - -class Test_prob_mc_1to1(TestProbMethod_1to1): +class Test_prob_mc_1to1(TestProbMethod_1to1, prob_mc): """ Test :meth:`bet.calculateP.calculateP.prob_mc` on a 1 to 1 map. """ @@ -549,20 +437,4 @@ def setUp(self): lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - def test_P_sum_to_1(self): - """ - Test the probs. sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.P),1.0) - - def test_vol_sum_to_1(self): - """ - Test that volume ratios sum to 1. - """ - nptest.assert_almost_equal(np.sum(self.lam_vol), 1.0) - def test_prob_pos(self): - """ - Test that probs. are non-negative. - """ - self.assertEqual(np.sum(np.less(self.P,0)),0) diff --git a/test/test_calculateP/test_calculateP_old.py b/test/test_calculateP/test_calculateP_old.py deleted file mode 100644 index 721b18e6..00000000 --- a/test/test_calculateP/test_calculateP_old.py +++ /dev/null @@ -1,558 +0,0 @@ -# Lindley Graham 05/22/2014 - -""" -This module contains tests for :module:`bet.caculcateP.calculateP`. - - * compare using same lambda_emulated (iid and regular grid) - * compare using different lambda_emulated - -Most of these tests should make sure certain values are within a tolerance -rather than exact due to the stocastic nature of the algorithms being tested. -""" - -import unittest -import bet.calculateP.calculateP as calcP -import numpy sa np -import scipy.spatial as spatial -import numpy.testing as nptest - -class TestEmulateIIDLebesgue(unittest.TestCase): - """ - Test :meth:`bet.calculateP.calculateP.emulate_iid_lebesgue`. - """ - - def runTest(self): - """ - Test dimension, number of samples, and that all the samples are within - lambda_domain. - - """ - lam_left = np.array([0.0, .25, .4]) - lam_right = np.array([1.0, 4.0, .5]) - - lam_domain = np.zeros((3,3)) - lam_domain[:,0] = lam_left - lam_domain[:,1] = lam_right - - num_l_emulate = 1e6 - - lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) - - # check the dimension - np.assert_array_equal(lambda_emulate.shape, (3, num_l_emulate)) - - # check that the samples are all within the correct bounds - np.assertGreaterEqual(0.0, np.min(lambda_emulate[0, :])) - np.assertGreaterEqual(.25, np.min(lambda_emulate[1, :])) - np.assertGreaterEqual(.4, np.min(lambda_emulate[2, :])) - np.assertLessEqual(1.0, np.max(lambda_emulate[0, :])) - np.assertLessEqual(4.0, np.max(lambda_emulate[1, :])) - np.assertLessEqual(.5, np.max(lambda_emulate[2, :])) - -# make sure probabilties and lam_vol follow the MC assumption (i.e. for uniform -# over the entire space they should all be the same, the hyperrectangle case -# will be different) - -# compare the P calculated by the different methods on the same samples - -# add a skip thing to the tests involving qhull so that it only runs if that -# package is installed - -# test where P is uniform over the entire domain -# test where P is uniform over a hyperrectangle subdomain -# test with and without optional arguments, together and separatly -# compare using same lambda_emulated (iid and regular grid) -# compare using different lambda_emulated -# some will need to be within a tolerance and some will need to be exact -# also tolerances will need to be depend on if the lambda_emulated are the same -# and if there voronoi cells are the same, etc. -# test on a linear model and maybe a non-linear, read from file model - -class TestProb(object): - """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. - """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # Create model associated inputs (samples, data, lam_domain) - data_domain = np.array([[0.0, 1.0], [-1.0, 1.0], [-1.0, 0.0]]) - self.lam_domain = np.array([[.1, .2], [3, 4], [50, 60]]) - # iid samples - self.u_samples = None #calcP.emulate_iid_lebesgue(lam_domain, - #20**lam_domain.shape[0]) - # regular grid samples - lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 20) - lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 20) - lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 20) - lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) - self.r_samples = np.column_stack((lam1.ravel(), lam2.ravel(), lam3.ravel())) - - # Create lambda_emulate - # iid - self.u_lambda_emulate = None #calcP.emulate_iid_lebesgue(lam_domain, - 1e6) - # regular grid - lam1 = np.linspace(lam_domain[0, 0], lam_domain[0, 1], 100) - lam2 = np.linspace(lam_domain[1, 0], lam_domain[1, 1], 100) - lam3 = np.linspace(lam_domain[2, 0], lam_domain[2, 1], 100) - lam1, lam2, lam3 = np.meshgrid(lam1, lam2, lam3) - self.r_lambda_emulate = np.column_stack((lam1.ravel(), lam2.ravel(), - lam3.ravel())) - - def compare_to_vol(result_vol, lambda_domain): - """ - Compare lambda_vol from the algorithm to an analytic solution. - - :param result_vol: lambda_vol from any of the methods in - :mod:`~bet.calculatevol.calculatevol` - :type result_vol: :class:`numpy.ndarray` - - """ - lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) - lambda_vol = lambda_vol / float(len(result_vol)) - nptest.assert_array_equal(result_vol, - np.ones(result_vol.shape)*lambda_vol) - - def compare_to_vol_ae(result_vol, lambda_domain): - """ - Compare ``lambda_vol`` from the algorithm to an analytic solution. - - :param result_vol: lambda_vol from any of the methods in - :mod:`~bet.calculatevol.calculatevol` - :type result_vol: :class:`numpy.ndarray` - - """ - lambda_vol = np.product(lambda_domain[:,1]-lambda_domain[:,0]) - lambda_vol = lambda_vol / float(len(result_vol)) - nptest.assert_array_almost_equal_nulp(result_vol, - np.ones(result_vol.shape)*lambda_vol) - - def compare_prob_dtree(result_wtree, result_wotree): - """ - - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - option arguments. - - """ - # calculate with d_tree - (P, lem, io_ptr, emulate_ptr) = result_wtree - # calculate without d_tree - (Pt, lemt, io_ptrt, emulate_ptrt) = result_wotree - # Compare results - nptest.assert_array_equal(P,Pt) - nptest.assert_array_equal(lem, lemt) - nptest.assert_array_equal(lem, self.r_lambda_emulate) - nptest.assert_array_equal(io_ptrt, ioptr) - nptest.assert_array_equal(emulate_ptr, emulate_ptrt) - - def compare_prob_emulate(result_wsamples, result_wosamples): - """ - - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - ``lambda_emulate`` when ``lambda_emulate == samples``. - - """ - # calculate with samples - (P, lem, io_ptr, emulate_ptr) = result_wsamples - # calculate without samples - (Pt, lemt, io_ptrt, emulate_ptrt) = result_wosamples - # Compare results - nptest.assert_array_equal(P,Pt) - nptest.assert_array_equal(lem, lemt) - nptest.assert_array_equal(lem, self.r_lambda_emulate) - nptest.assert_array_equal(io_ptrt,ioptr) - nptest.assert_array_equal(emulate_ptr, emulate_ptrt) - - def compare_prob(result_emulated, result_prob, result_mc): - """ - - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob - (P, lem, io_ptr, emulate_ptr) = result_emulated - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc - - # Compare results - nptest.assert_array_equal(P,P1) - nptest.assert_array_equal(P,P3) - nptest.assert_array_equal(P1,P3) - - nptest.assert_array_equal(lam_vol1,lam_vol3) - - nptest.assert_array_equal(lem,lem1) - nptest.assert_array_equal(lem,lem3) - nptest.assert_array_equal(lem1,lem3) - - nptest.assert_array_equal(io_ptr,io_ptr1) - nptest.assert_array_equal(io_ptr,io_ptr3) - nptest.assert_array_equal(io_ptr1,io_ptr3) - - nptest.assert_array_equal(emulate_ptr,emulate_ptr1) - nptest.assert_array_equal(emulate_ptr,emulate_ptr3) - nptest.assert_array_equal(emulate_ptr1,emulate_ptr3) - - def compare_volume_rg(result_prob, result_mc): - """ - - Make sure that the voronoi cell volumes from - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - all on a regular grid and ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc - - nptest.assert_array_equal(lam_vol1,lam_vol3) - self.compare_to_mean(lam_vol1) - self.compare_to_vol_linear(lam_vol1) - - def compare_volume_ae(result_prob, result_mc): - """ - - Make sure that the voronoi cell volumes from - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - i.i.d and ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_mc - - nptest.assert_array_equal(lam_vol1, lam_vol3) - self.compare_to_mean_ae(lam_vol1) - self.compare_to_vol_linear_ae(lam_vol1) - - def compare_lambda_emulate(result_prob, result_rg, result_iid): - """ - Compare results when lambda_emulate != samples - - * lambda_emulate is i.i.d. or on a regular grid - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - # Calculate prob (has no lambda_emulate) - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = result_prob - # Calculate prob_mc (has lambda_emulate), regular grid - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = result_rg - # Calculate prob_mc (has lambda_emulate), iid samples - (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = result_iid - - # Compare results - nptest.assert_array_almost_equal_nulp(P1,P3) - nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol3) - - nptest.assert_array_almost_equal_nulp(P4,P3) - nptest.assert_array_almost_equal_nulp(lam_vol4, lam_vol3) - - nptest.assert_array_almost_equal_nulp(P1,P4) - nptest.assert_array_almost_equal_nulp(lam_vol1, lam_vol4) - - def generate_results(self): - """ - Generate the mix of results from - :meth:~`bet.calculateP.calculateP.prob_emulated`, - :meth:~`bet.calculateP.calculateP.prob`, and - :meth:~`bet.calculateP.calculateP.prob_mc` to be used in test - subclasses - """ - - # RESULTS WHERE SAMPLES = LAMBDA_EMULATE - # samples are on a regular grid - # result_wtree, result_wsamples, result_emulated_rg - self.result_emulated_rg = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples, self.d_Tree) - self.result_wtree = result_emulated_rg - self.result_wsamples = result_emulated_rg - self.result_wotree = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples) - self.result_wosamples = calcP.prob_emulated(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain) - - self.result_prob_rg = calcP.prob(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.d_Tree) - self.result_mc_rg = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_samples, self.d_Tree) - - # samples are iid - self.result_emulated_iid = calcP.prob_emulated(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_samples, self.d_Tree) - self.result_prob_iid = calcP.prob(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.d_Tree) - self.result_mc_iid = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_samples, self.d_Tree) - - # RESULTS WHERE SAMPLES != LAMBDA_EMULATE - # result_emu_samples_emulatedsamples - self.result_emu_rg_rg = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_lambda_emulate, self.d_Tree) - self.result_emu_rg_iid = calcP.prob_mc(self.r_samples, self.r_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_lambda_emulate, self.d_Tree) - self.result_emu_iid_rg = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.r_lambda_emulate, self.d_Tree) - self.result_emu_iid_iid = calcP.prob_mc(self.u_samples, self.u_data, - self.rho_D_M, self.d_distr_samples, self.lam_domain, - self.u_lambda_emulate, self.d_Tree) - - -class LinearModel(CompareProb): - """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. - """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # This might not be the right invocation. - super(TestLinearModel, self).setUpClass(TestLinearModel) - # linear model - self.rl_data = np.dot(r_samples, data_domain) - self.ul_data = np.dot(u_samples, data_domain) - -class NonLinearModel(CompareProb): - """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP` with a linear - model. - """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # This might not be the right invocation. - super(NonLinearModel, self).setUpClass(NonLinearModel) - # non-linear model - def nonlinear_model(l_data): - n_data = l_data - n_data[:,0] = l_data[:,0] + l_data[:,2] - n_data[:,1] = np.square(l_data[:,1]) - n_data[:,2] = l_data[:,0] - n_data[:,1] - return n_data - self.rn_data = nonlinear_model(rl_data) - self.un_data = nonlinear_model(ul_data) - -class TestProbUnifLinear(LinearModel, unittest.TestCase): - """ - Tests ``prob*`` methods in :mod:`bet.calculateP.calculateP`. - """ - @classmethod - def setUpClass(cls): - """ - Create inputs for ``prob*`` methods. This should run only once per - grouping of tests from this class. But, for isolated tests it doesn't - make any sense to do it this way. Since many of these tests are - comparision tests it should be fine to structure things in this manner - rather using inheritance everywhere. - """ - # This might not be the right invocation. - super(TestProbUnifLinear, self).setUpClass(TestProbUnifLinear) - - # Create rho_D_M associated inputs (rho_D_M, d_distr_samples, d_tree) - # UNIFORM - self.d_distr_dsamples = np.mean(self.data_domain, 1) - self.rho_D_M = 1 - self.d_Tree = spatial.KDTree(self.d_distr_samples) - - # Generate results - super(TestProbUnifLinear, self).generate_results(self) - - def compare_to_unif_linear(result_P): - """ - Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform - over $\mathbf{D}$ (linear model only). - - :param result_P: P from any of the methods in - :mod:`~bet.calculateP.calculateP` - :type result_P: :class:`numpy.ndarray` - - """ - nptest.assert_array_equal(result_P, - np.ones(result_P.shape)/float(len(result_P))) - - def compare_to_unif_linear_ae(result_P): - """ - Compare P from the algorithm to an analytic solution where $P_\mathcal{D}$ is uniform - over $\mathbf{D}$ (linear model only). - - :param result_P: P from any of the methods in - :mod:`~bet.calculateP.calculateP` - :type result_P: :class:`numpy.ndarray` - - """ - nptest.assert_array_almost_equal_nulp(result_P, - np.ones(result_P.shape)/float(len(result_P))) - - def test_prob_dtree(self): - """ - - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - option arguments. - - """ - compare_prob_dtree(self.result_wtree, self.result_wotree) - - def test_prob_emulate(self): - """ - - Make sure the output from - :meth:`bet.calcuateP.calculateP.prob_emulated` matches with and without - ``lambda_emulate`` when ``lambda_emulate == samples``. - - """ - compare_prob_emulate(self.result_wsamples, self.result_wosamples) - - def test_prob_rg(self): - """ - - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - all on a regular grid when ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - compare_prob(self.result_emulated_rg, self.result_prob_rg,self.result_mc_rg) - compare_volume_rg(self.results_prob_rg, self.result_mc_rg) - - def test_prob_iid(self): - """ - - Make sure that the output from - :meth:`~bet.calculateP.calculateP.prob_emulated`, - :meth:`~bet.calculateP.calculateP.prob`, - :meth:`~bet.calculateP.calculateP.prob_mc` matches when the samples are - i.i.d. with respect to the Lebesgue measure when ``lambda_emulate == samples``. - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - compare_prob(self.result_emulated_iid, self.result_prob_iid, - self.result_mc_iid) - compare_volume_ae(self.results_prob_iid, self.result_mc_iid) - - def test_l_emulate_rg(self): - """ - Compare results when lambda_emulate != samples - - * samples are on a regular grid - * lambda_emulate is i.i.d. or on a regular grid - - .. note:: - This method also needs to include - :meth:`~bet.calculateP.calculateP.prob_qhull` if and only if the - user has the Python `pyhull `_ - package installed. - - """ - compare_lambda_emulate(self.result_prob_rg, self.result_emu_rg_rg, - self.result_emu_rg_iid) - compare_volume_ae( - compare_volume_ae( - compare_volume_ae( - - # Calculate prob (has no lambda_emulate) - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = calc.prob(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.ud_tree) - - # Calculate prob_mc (has lambda_emulate) - (P3, lam_vol3, lem3, io_ptr3, emulate_ptr3) = calc.prob_mc(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.u_lambda_emulate, self.ud_tree) - - # Compare to mean - self.compare_to_mean_ae(P3) - self.compare_to_mean_ae(lam_vol3) - - (P4, lam_vol4, lem4, io_ptr4, emulate_ptr4) = calc.prob_mc(self.u_samples, - self.ul_data, self.u_rho, self.u_dsamples, self.lam_domain, - self.u_lambda_emulate, self.ud_tree) - - # Compare to mean - self.compare_to_mean_ae(P4) - self.compare_to_mean_ae(lam_vol4) - - # Compare results - nptest.assert_array_almost_equal_nulp(P1,P3) - nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol3) - - nptest.assert_array_almost_equal_nulp(P4,P3) - nptest.assert_array_almost_equal_nulp(lam_vol4,lam_vol3) - - nptest.assert_array_almost_equal_nulp(P1,P4) - nptest.assert_array_almost_equal_nulp(lam_vol1,lam_vol4 - ) - - def test_compare_to_analytic_solution(self): - pass diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index 1d3285a8..d60cf871 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -163,7 +163,7 @@ def test_plot_marginals_1D(self): go = True except (RuntimeError, TypeError, NameError): go = False - nptest.assert_equal(go, True) + nptest.assert_equal(go, True) def test_plot_marginals_2D(self): """ @@ -180,4 +180,4 @@ def test_plot_marginals_2D(self): go = True except (RuntimeError, TypeError, NameError): go = False - nptest.assert_equal(go, True) + nptest.assert_equal(go, True) From 488f46ddc48a5d58e6ce8aba284193472949a867 Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Wed, 8 Apr 2015 11:58:24 -0600 Subject: [PATCH 18/85] changes to util --- bet/util.py | 57 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/bet/util.py b/bet/util.py index 378c3130..ec904609 100644 --- a/bet/util.py +++ b/bet/util.py @@ -14,7 +14,7 @@ def meshgrid_ndim(X): Make N-D coordinate arrays for vectorized evaluations of N-D scalar/vector fields over N-D grids, given one-dimensional coordinate arrays (x1, x2,..., xn). - + :param X: A tuple containing the 1d coordinate arrays :type X: tuple @@ -22,28 +22,39 @@ def meshgrid_ndim(X): :returns: X_new """ n = len(X) - alist=[] + alist = [] for i in range(n): alist.append(X[i]) - for i in range(n,10): + for i in range(n, 10): alist.append(np.array([0])) - a,b,c,d,e,f,g,h,i,j = np.meshgrid(alist[0], - alist[1], - alist[2], - alist[3], - alist[4], - alist[5], - alist[6], - alist[7], - alist[8], - alist[9], - indexing='ij') + a, b, c, d, e, f, g, h, i, j = np.meshgrid(alist[0], + alist[1], + alist[2], + alist[3], + alist[4], + alist[5], + alist[6], + alist[7], + alist[8], + alist[9], + indexing='ij') + + X_new = np.vstack( + (a.flat[:], + b.flat[:], + c.flat[:], + d.flat[:], + e.flat[:], + f.flat[:], + g.flat[:], + h.flat[:], + i.flat[:], + j.flat[:])).transpose() + X_new = X_new[:, 0:n] - X_new = np.vstack((a.flat[:],b.flat[:],c.flat[:],d.flat[:],e.flat[:],f.flat[:],g.flat[:],h.flat[:],i.flat[:],j.flat[:])).transpose() - X_new = X_new[:,0:n] - return X_new - + + def get_global_values(array): """ TODO: write a version that also works with captial mpi4py method calls @@ -52,13 +63,13 @@ def get_global_values(array): Concatenates local arrays into global array. :param array: Array. - :type P_samples: :class:'~numpy.ndarray' - :rtype: :class:'~numpy.ndarray' + :type P_samples: :class:'~numpy.ndarray' + :rtype: :class:'~numpy.ndarray' :returns: array """ - dir=len(array.shape) - array = comm.allgather(array, array) - if dir==1: + a_shape = len(array.shape) + array = comm.allgather(array, array) + if a_shape == 1: return np.hstack(array) else: return np.vstack(array) From f9569d92b8da204f4a68459c02e95aff0b91a187 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 12:36:40 -0600 Subject: [PATCH 19/85] small changes to adaptive sampling, finished draft of adaptiveSampling.sampler tests --- bet/sampling/adaptiveSampling.py | 72 +++--- test/test_sampling/test_adaptiveSampling.py | 257 ++++++++++++++------ 2 files changed, 214 insertions(+), 115 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 58be8d7d..04901f10 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -88,12 +88,13 @@ def update_mdict(self, mdict): mdict['sample_batch_no'] = self.sample_batch_no def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, - t_kernel, savefile, initial_sample_type="lhs", criterion='center'): + t_set, savefile, initial_sample_type="lhs", criterion='center'): """ Generates samples using generalized chains and a list of different kernels. - :param list() kern_list: List of kernels. + :param list() kern_list: List of + :class:~`bet.sampling.adaptiveSampling.kernel` objects. :param rho_D: probability density on D :type rho_D: callable function that takes a :class:`np.array` and returns a :class:`numpy.ndarray` @@ -102,11 +103,9 @@ def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using + :param t_set: method for creating new parameter steps using given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` - :param function kernel: functional that acts on the data used to - determine the proposed change to the ``step_size`` + :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` :param string savefile: filename to save samples and data :param string initial_sample_type: type of initial sample random (or r), latin hypercube(lhs), or space-filling curve(TBD) @@ -124,7 +123,7 @@ def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, mean_ss = list() for kern in kern_list: (samples, data, step_sizes) = self.generalized_chains( - param_min, param_max, t_kernel, kern, savefile, + param_min, param_max, t_set, kern, savefile, initial_sample_type, criterion) results.append((samples, data)) r_step_size.append(step_sizes) @@ -135,7 +134,7 @@ def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, # TODO This appears to be an unused function def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, - t_kernel, savefile, initial_sample_type="lhs", criterion='center', + t_set, savefile, initial_sample_type="lhs", criterion='center', reseed=3): """ Generates samples using reseeded chains and a list of different @@ -143,7 +142,8 @@ def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, THIS IS NOT OPERATIONAL DO NOT USE. - :param list() kern_list: List of kernels. + :param list() kern_list: List of + :class:~`bet.sampling.adaptiveSampling.kernel` objects. :param rho_D: probability density on D :type rho_D: callable function that takes a :class:`np.array` and returns a :class:`numpy.ndarray` @@ -152,11 +152,9 @@ def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using + :param t_set: method for creating new parameter steps using given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` - :param function kernel: functional that acts on the data used to - determine the proposed change to the ``step_size`` + :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` :param string savefile: filename to save samples and data :param string initial_sample_type: type of initial sample random (or r), latin hypercube(lhs), or space-filling curve(TBD) @@ -175,7 +173,7 @@ def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, mean_ss = list() for kern in kern_list: (samples, data, step_sizes) = self.reseed_chains( - param_min, param_max, t_kernel, kern, savefile, + param_min, param_max, t_set, kern, savefile, initial_sample_type, criterion, reseed) results.append((samples, data)) r_step_size.append(step_sizes) @@ -206,11 +204,9 @@ def run_tk(self, init_ratio, min_ratio, max_ratio, rho_D, maximum, :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using - given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` - :param function kernel: functional that acts on the data used to + :param kernel: functional that acts on the data used to determine the proposed change to the ``step_size`` + :type kernel: :class:~`bet.sampling.adaptiveSampling.kernel` object. :param string savefile: filename to save samples and data :param string initial_sample_type: type of initial sample random (or r), latin hypercube(lhs), or space-filling curve(TBD) @@ -226,9 +222,9 @@ def run_tk(self, init_ratio, min_ratio, max_ratio, rho_D, maximum, results_rD = list() mean_ss = list() for i, j, k in zip(init_ratio, min_ratio, max_ratio): - tk = transition_set(i, j, k) + ts = transition_set(i, j, k) (samples, data, step_sizes) = self.generalized_chains( - param_min, param_max, tk, kernel, savefile, + param_min, param_max, ts, kernel, savefile, initial_sample_type, criterion) results.append((samples, data)) r_step_size.append(step_sizes) @@ -238,7 +234,7 @@ def run_tk(self, init_ratio, min_ratio, max_ratio, rho_D, maximum, return (results, r_step_size, results_rD, sort_ind, mean_ss) def run_inc_dec(self, increase, decrease, tolerance, rho_D, maximum, - param_min, param_max, t_kernel, savefile, + param_min, param_max, t_set, savefile, initial_sample_type="lhs", criterion='center'): """ Generates samples using generalized chains and @@ -257,11 +253,9 @@ def run_inc_dec(self, increase, decrease, tolerance, rho_D, maximum, :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using + :param t_set: method for creating new parameter steps using given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` - :param function kernel: functional that acts on the data used to - determine the proposed change to the ``step_size`` + :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` :param string savefile: filename to save samples and data :param string initial_sample_type: type of initial sample random (or r), latin hypercube(lhs), or space-filling curve(TBD) @@ -276,9 +270,9 @@ def run_inc_dec(self, increase, decrease, tolerance, rho_D, maximum, for i, j, z in zip(increase, decrease, tolerance): kern_list.append(rhoD_kernel(maximum, rho_D, i, j, z)) return self.run_gen(kern_list, rho_D, maximum, param_min, param_max, - t_kernel, savefile, initial_sample_type, criterion) + t_set, savefile, initial_sample_type, criterion) - def generalized_chains(self, param_min, param_max, t_kernel, kern, + def generalized_chains(self, param_min, param_max, t_set, kern, savefile, initial_sample_type="lhs", criterion='center'): """ Basic adaptive sampling algorithm using generalized chains. @@ -289,11 +283,12 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using + :param t_set: method for creating new parameter steps using given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` + :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` :param function kern: functional that acts on the data used to determine the proposed change to the ``step_size`` + :type kernel: :class:~`bet.sampling.adaptiveSampling.kernel` object. :param string savefile: filename to save samples and data :param string criterion: latin hypercube criterion see `PyDOE `_ @@ -317,9 +312,9 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, param_right = np.repeat([param_max], self.num_chains_pproc, 0) param_width = param_right - param_left # Calculate step_size - max_ratio = t_kernel.max_ratio - min_ratio = t_kernel.min_ratio - step_ratio = t_kernel.init_ratio*np.ones(self.num_chains_pproc) + max_ratio = t_set.max_ratio + min_ratio = t_set.min_ratio + step_ratio = t_set.init_ratio*np.ones(self.num_chains_pproc) # Initiative first batch of N samples (maybe taken from latin # hypercube/space-filling curve to fully explore parameter space - not @@ -347,7 +342,7 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, for batch in xrange(1, self.chain_length): # For each of N samples_old, create N new parameter samples using # transition set and step_ratio. Call these samples samples_new. - samples_new = t_kernel.step(step_ratio, param_width, + samples_new = t_set.step(step_ratio, param_width, param_left, param_right, MYsamples_old) # Solve the model for the samples_new. @@ -401,27 +396,30 @@ def generalized_chains(self, param_min, param_max, t_kernel, kern, return (samples, data, all_step_ratios) #TODO MOve this function to a dev branch since it is not implemented. - def reseed_chains(self, param_min, param_max, t_kernel, kern, + def reseed_chains(self, param_min, param_max, t_set, kern, savefile, initial_sample_type="lhs", criterion='center', reseed=1): """ Basic adaptive sampling algorithm. NOT YET IMPLEMENTED. - + :param string initial_sample_type: type of initial sample random (or r), latin hypercube(lhs), or space-filling curve(TBD) :param param_min: minimum value for each parameter dimension :type param_min: np.array (ndim,) :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) - :param t_kernel: method for creating new parameter steps using + :param t_set: method for creating new parameter steps using given a step size based on the paramter domain size - :type t_kernel: :class:~`t_kernel` + :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` :param function kern: functional that acts on the data used to determine the proposed change to the ``step_size`` + :type kernel: :class:~`bet.sampling.adaptiveSampling.kernel` object. :param string savefile: filename to save samples and data :param string criterion: latin hypercube criterion see `PyDOE `_ + + :param int reseed: number of times to reseed the chains :rtype: tuple :returns: (``parameter_samples``, ``data_samples``) where diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 42b3fa39..8555bfca 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -5,7 +5,7 @@ import unittest, os import numpy.testing as nptest import numpy as np -import bet.sampling.basicSampling as bsam +import bet.sampling.adaptiveSampling as asam import scipy.io as sio """ @@ -14,82 +14,113 @@ for kernels but do not implement """ -def test_loadmat(): +def test_loadmat_init(): """ - Tests :meth:`bet.sampling.basicSampling.loadmat` + Tests :meth:`bet.sampling.adaptiveSampling.loadmat` and + :meth:`bet.sampling.adaptiveSampling.sampler.init`. """ + chain_length = 10 mdat1 = {'samples':np.random.random((5,1)), - 'data':np.random.random((5,1)), 'num_samples':5} - mdat2 = {'samples':np.random.random((6,1)), 'num_samples':6} + 'data':np.random.random((5,1)), 'num_samples':50, + 'chain_length':chain_length} + mdat2 = {'samples':np.random.random((6,1)), + 'num_samples':60, 'chain_length':chain_length} model = "this is not a model" + + num_samples = np.array([50, 60]) + num_chains_pproc1, num_chains_pproc2 = int(np.ceil(num_samples/float(chain_length*size))) + num_chains1, num_chains2 = size * num_chains_pproc + num_samples1, num_samples2 = chain_length * np.array([num_chains1, + num_chains2]) sio.savemat('testfile1', mdat1) sio.savemat('testfile2', mdat2) - (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') + (loaded_sampler1, samples1, data1) = asam.loadmat('testfile1') nptest.assert_array_equal(samples1, mdat1['samples']) nptest.assert_array_equal(data1, mdat1['data']) - assert loaded_sampler1.num_samples == 5 + assert loaded_sampler1.num_samples == num_samples1 + assert loaded_sampler1.chain_length == chain_length + assert loaded_sampler1.num_chains_pproc == num_chains_pproc1 + assert loaded_sampler1.num_chains = num_chains1 + nptest.assert_array_equal(np.repeat(range(num_chains1), chain_length, 0), + loaded_sampler1.sample_batch_no) assert loaded_sampler1.lb_model == None - (loaded_sampler2, samples2, data2) = bsam.loadmat('testfile2', model) + (loaded_sampler2, samples2, data2) = asam.loadmat('testfile2', model) nptest.assert_array_equal(samples2, mdat2['samples']) nptest.assert_array_equal(data2, None) - assert loaded_sampler2.num_samples == 6 - assert loaded_sampler2.lb_model == model + assert loaded_sampler2.num_samples == num_samples2 + assert loaded_sampler2.chain_length == chain_length + assert loaded_sampler2.num_chains_pproc == num_chains_pproc2 + assert loaded_sampler2.num_chains = num_chains2 + nptest.assert_array_equal(np.repeat(range(num_chains2), chain_length, 0), + loaded_sampler2.sample_batch_no) os.remove('testfile1.mat') os.remove('testfile2.mat') -def verify_random_samples(model, sampler, sample_type, param_min, param_max, - num_samples, savefile, parallel): - # recreate the samples - if num_samples == None: - num_samples = self.num_samples +def verify_random_samples(model, QoI_range, sampler, param_min, param_max, + t_set, savefile, initial_sample_type): + + # create indicator function + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maxiumum = 1/np.product(bin_size) + def ifun(outputs): + left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) + right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) + left = np.all(np.greater_equal(outputs, left), axis=1) + right = np.all(np.less_equal(outputs, right), axis=1) + inside = np.logial_and(left, right) + max_values = np.repeate(maxium, outputs.shape[0], 0) + return inside.astype('float64')*max_values + + # create rhoD_kernel + kernel_rD = asam.rhoD_kernel(maxium, ifun) + + # run generalized chains + (samples, data, all_step_ratios) = sampler.generalized_chains(param_min, + param_max, t_set, kernel_rD, savefile, inital_sample_type) + + # check dimensions of samples + assert samples.shape == (sampler.num_samples, len(param_min)) + + # are the samples in bounds? param_left = np.repeat([param_min], num_samples, 0) param_right = np.repeat([param_max], num_samples, 0) - samples = (param_right-param_left) - if sample_type == "lhs": - samples = samples * lhs(param_min.shape[-1], num_samples, criterion) - elif sample_type == "random" or "r": - np.random.seed(1) - samples = samples * np.random(param_left.shape) - samples = samples + param_left - # evalulate the model at the samples directly - data = model(samples) - - # evaluate the model at the samples - # reset the random seed - if sample_type == "random" or "r": - np.random.seed(1) - (my_samples, my_data) = sampler.user_samples(samples, savefile, - parallel) - - # make sure that the samples are within the boundaries assert np.all(my_samples <= param_right) assert np.all(my_samples >= param_left) - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - if len(samples.shape) == 1: - samples = np.expan_dims(samples, axis=1) + # check dimensions of data + assert data.shape == (sampler.num_samples, len(QoI_range)) + + # check dimensions of all_step_ratios + assert all_step_ratios.shape == (sampler.num_chains, sampler.chain_length) + + # are all the step ratios of an appropriate size? + assert np.all(all_step_ratios >= t_set.min_ratio) + assert np.all(all_step_ratios <= t_set.max_ratio) - # compare the samples - nptest.assert_array_equal(samples, my_samples) - # compare the data - nptest.assert_array_equal(data, my_data) - # did num_samples get updated? - assert samples.shape[0] == sampler.num_samples - # did the file get correctly saved? - - mdat = sio.loadmat('savefile') + # did the savefiles get created? (proper number, contain proper keys) + mdat = {} + if size > 1: + mdat = + sio.loadmat(os.path.join(os.path.dirname(savefile),"proc{}{}".format(rank, + os.path.basename(savefile)))) + else: + mdat = sio.loadmat(savefile) nptest.assert_array_equal(samples, mdat['samples']) nptest.assert_array_equal(data, mdat['data']) - assert samples.shape[0] == sampler.num_samples - + nptest.assert_array_equal(all_step_ratios, mdat['step_ratios']) + assert sampler.chain_length == mdat['chain_length'] + assert sampler.num_samples == mdat['num_samples'] + assert sampler.num_chains == mdat['num_chains'] + nptest.assert_array_equal(sampler.sample_batch_no, + mdat['sampler_batch_no']) class Test_basic_sampler(unittest.TestCase): """ - Test :class:`bet.sampling.basicSampling.sampler`. + Test :class:`bet.sampling.adaptiveSampling.sampler`. """ def setUp(self): @@ -97,7 +128,7 @@ def setUp(self): self.param_min1 = np.zeros((1, )) self.param_max1 = np.zeros((1, )) def map_1t1(x): - return np.sin(x) + return x*2.0 # create 3-1 map self.param_min3 = np.zeros((3, )) self.param_max3 = np.ones((3, )) @@ -115,29 +146,34 @@ def map_10t4(x): x3 = x[:, 4] + x[:, 5] x4 = np.sum(x[:, [6, 7, 8, 9]], 1) return np.vstack([x1, x2, x3, x4]).transpose() - num_samples = 100 self.savefiles = ["11t11", "1t1", "3to1", "3to2", "10to4"] self.models = [map_1t1, map_1t1, map_3t1, map_3t2, map_10t4] + self.QoI_range = [np.array([2.0]), np.array([2.0]), np.array([3.0]), + np.array([2.0, 1.0]), np.array([2.0, 2.0, 2.0, 4.0]) + + # define parameters for the adaptive sampler + + num_samples = 1000 + chain_length = 100 + num_chains_pproc = int(np.ceil(num_samples/float(chain_length*size))) + num_chains = size * num_chains_pproc + num_samples = chain_length * np.array(num_chains) + self.samplers = [] for model in self.models: - self.samplers.append(bsam.sampler(model, num_samples)) + self.samplers.append(asam.sampler(num_samples, chain_length, + model)) def tearDown(self): for f in self.savefiles: if os.path.exists(f+".mat"): os.remove(f+".mat") - - def test_init(self): - """ - Test initalization of :class:`bet.sampling.basicSampling.sampler` - """ - assert self.samplers[0].num_samples == 100 - assert self.samplers[0].lb_model == self.models[0] - assert bsam.sampler(self.models[0], None).num_samples == None - - @unittest.skip("Skipping testing saving") - def test_save(self): - pass + if size > 1: + for f in self.savefiles: + for proc in range(size): + proc_savefile = os.path.join(os.path.dirname(f), + "proc{}{}".format(rank, + os.path.basename(savefile))) def test_update(self): """ @@ -146,25 +182,90 @@ def test_update(self): mdict = {"frog":3, "moose":2} self.samplers[0].update_mdict(mdict) assert self.samplers[0].num_samples == mdict["num_samples"] + assert self.samplers[0].chain_length == mdict["chain_length"] + assert self.samplers[0].num_chains == mdict["num_chains"] + nptest.assert_array_equal(self.samplers[0].sample_batch_no, + np.repeat(range(num_chains), chain_length, 0)) + + @unittest.skip("Implement me") + def test_run_gen(self): + # sampler.run_gen(kern_list, rho_D, maximum, param_min, param_max, + # t_set, savefile, initial_sample_type) + # returns list where each member is a tuple ((samples, data), + # all_step_ratios, num_high_prob_samples, + # sorted_indices_of_num_high_prob_samples, average_step_ratio) + pass + @unittest.skip("Implement me") + def test_run_tk(self): + # sampler.run_tk(init_ratio, min_raio, max_ratio, rho_D, maximum, + # param_min, param_max, kernel, savefile, intial_sample_type) + # returns list where each member is a tuple ((samples, data), + # all_step_ratios, num_high_prob_samples, + # sorted_indices_of_num_high_prob_samples, average_step_ratio) + pass + @unittest.skip("Implement me") + def test_run_inc_dec(self): + # sampler.run_inc_dec(increase, decrease, tolerance, rho_D, maximum, + # param_min, param_max, t_set, savefile, initial_sample_type) + # returns list where each member is a tuple ((samples, data), + # all_step_ratios, num_high_prob_samples, + # sorted_indices_of_num_high_prob_samples, average_step_ratio) + pass - def test_random_samples(self): + def test_generalized_chains(self): """ - Test :met:`bet.sampling.basicSampling.sampler.random_samples` for three - different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). + Test :met:`bet.sampling.adaptiveSampling.sampler.generalized_chains` + for three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). """ param_min_list = [self.param_min1, self.param_min1, self.param_min3, self.param_min3, self.param_min10] param_max_list = [self.param_max1, self.param_max1, self.param_max3, self.param_max3, self.param_max10] + # create a transition set + t_set = asam.transition_set(.5, .5**5, 1.0) + + test_list = zip(self.models, self.QoI_range, self.samplers, + param_min_list, param_max_list, self.savefiles) + + for model, sampler, param_min, param_max, savefile, rho_D in test_list: + for initial_sample_type in ["random", "r", "lhs"]: + yield verify_samples, model, QoI_range, sampler, + param_min, param_max, t_set, savefile, initial_sample_type + +@unittest.skip("Implement me") +def test_kernels(): + pass + +@unittest.skip("Implement me") +class test_transition_set(unittest): + @unittest.skip("Implement me") + def test_init(): + pass + @unittest.skip("Implement me") + def test_step(): + pass + +@unittest.skip("Implement me") +class kernel(unittest): + @unittest.skip("Implement me") + def test_init(): + pass + def test_delta_step(): + pass + +@unittest.skip("Implement me") +class test_rhoD_kernsl(kernel): + pass + +@unittest.skip("Implement me") +class test_maxima_kernsl(kernel): + pass + +@unittest.skip("Implement me") +class test_maxima_mean_kernsl(kernel): + pass + +@unittest.skip("Implement me") +class test_multi_dist_kernsl(kernel): + pass - test_list = zip(self.models, self.samplers, param_min_list, - param_max_list, - self.savefiles) - - for model, sampler, param_min, param_max, savefile in test_list: - for sample_type in ["random", "r", "lhs"]: - for num_samples in [None, 25]: - for parallel in [False, True]: - yield verify_random_samples, model, sampler, - param_min, param_max, savefile, num_samples, - parallel From 4692282896b0321f31326f91cd68c75dc0d66acb Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 14:18:40 -0600 Subject: [PATCH 20/85] pylinted partial draft of tests for adaptiveSampling --- test/test_sampling/test_adaptiveSampling.py | 48 +++++++++++---------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 8555bfca..a4145517 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -7,6 +7,7 @@ import numpy as np import bet.sampling.adaptiveSampling as asam import scipy.io as sio +from bet.Comm import * """ TODO: rewrite loadmat test, rewrite init test, rewrite update_mdict test, write @@ -29,7 +30,8 @@ def test_loadmat_init(): num_samples = np.array([50, 60]) num_chains_pproc1, num_chains_pproc2 = int(np.ceil(num_samples/float(chain_length*size))) - num_chains1, num_chains2 = size * num_chains_pproc + num_chains1, num_chains2 = size * np.array([num_chains_pproc1, + num_chains_pproc2]) num_samples1, num_samples2 = chain_length * np.array([num_chains1, num_chains2]) @@ -42,7 +44,7 @@ def test_loadmat_init(): assert loaded_sampler1.num_samples == num_samples1 assert loaded_sampler1.chain_length == chain_length assert loaded_sampler1.num_chains_pproc == num_chains_pproc1 - assert loaded_sampler1.num_chains = num_chains1 + assert loaded_sampler1.num_chains == num_chains1 nptest.assert_array_equal(np.repeat(range(num_chains1), chain_length, 0), loaded_sampler1.sample_batch_no) assert loaded_sampler1.lb_model == None @@ -53,43 +55,43 @@ def test_loadmat_init(): assert loaded_sampler2.num_samples == num_samples2 assert loaded_sampler2.chain_length == chain_length assert loaded_sampler2.num_chains_pproc == num_chains_pproc2 - assert loaded_sampler2.num_chains = num_chains2 + assert loaded_sampler2.num_chains == num_chains2 nptest.assert_array_equal(np.repeat(range(num_chains2), chain_length, 0), loaded_sampler2.sample_batch_no) os.remove('testfile1.mat') os.remove('testfile2.mat') -def verify_random_samples(model, QoI_range, sampler, param_min, param_max, +def verify_samples(model, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type): # create indicator function Q_ref = QoI_range*0.5 bin_size = 0.15*QoI_range - maxiumum = 1/np.product(bin_size) + maximum = 1/np.product(bin_size) def ifun(outputs): left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) left = np.all(np.greater_equal(outputs, left), axis=1) right = np.all(np.less_equal(outputs, right), axis=1) inside = np.logial_and(left, right) - max_values = np.repeate(maxium, outputs.shape[0], 0) + max_values = np.repeate(maximum, outputs.shape[0], 0) return inside.astype('float64')*max_values # create rhoD_kernel - kernel_rD = asam.rhoD_kernel(maxium, ifun) + kernel_rD = asam.rhoD_kernel(maximum, ifun) # run generalized chains (samples, data, all_step_ratios) = sampler.generalized_chains(param_min, - param_max, t_set, kernel_rD, savefile, inital_sample_type) + param_max, t_set, kernel_rD, savefile, initial_sample_type) # check dimensions of samples assert samples.shape == (sampler.num_samples, len(param_min)) # are the samples in bounds? - param_left = np.repeat([param_min], num_samples, 0) - param_right = np.repeat([param_max], num_samples, 0) - assert np.all(my_samples <= param_right) - assert np.all(my_samples >= param_left) + param_left = np.repeat([param_min], sampler.num_samples, 0) + param_right = np.repeat([param_max], sampler.num_samples, 0) + assert np.all(samples <= param_right) + assert np.all(samples >= param_left) # check dimensions of data assert data.shape == (sampler.num_samples, len(QoI_range)) @@ -104,9 +106,8 @@ def ifun(outputs): # did the savefiles get created? (proper number, contain proper keys) mdat = {} if size > 1: - mdat = - sio.loadmat(os.path.join(os.path.dirname(savefile),"proc{}{}".format(rank, - os.path.basename(savefile)))) + mdat = sio.loadmat(os.path.join(os.path.dirname(savefile), + "proc{}{}".format(rank, os.path.basename(savefile)))) else: mdat = sio.loadmat(savefile) nptest.assert_array_equal(samples, mdat['samples']) @@ -149,7 +150,7 @@ def map_10t4(x): self.savefiles = ["11t11", "1t1", "3to1", "3to2", "10to4"] self.models = [map_1t1, map_1t1, map_3t1, map_3t2, map_10t4] self.QoI_range = [np.array([2.0]), np.array([2.0]), np.array([3.0]), - np.array([2.0, 1.0]), np.array([2.0, 2.0, 2.0, 4.0]) + np.array([2.0, 1.0]), np.array([2.0, 2.0, 2.0, 4.0])] # define parameters for the adaptive sampler @@ -173,7 +174,7 @@ def tearDown(self): for proc in range(size): proc_savefile = os.path.join(os.path.dirname(f), "proc{}{}".format(rank, - os.path.basename(savefile))) + os.path.basename(f))) def test_update(self): """ @@ -185,7 +186,8 @@ def test_update(self): assert self.samplers[0].chain_length == mdict["chain_length"] assert self.samplers[0].num_chains == mdict["num_chains"] nptest.assert_array_equal(self.samplers[0].sample_batch_no, - np.repeat(range(num_chains), chain_length, 0)) + np.repeat(range(self.smaplers[0].num_chains), + self.samplers[0].chain_length, 0)) @unittest.skip("Implement me") def test_run_gen(self): @@ -227,7 +229,7 @@ def test_generalized_chains(self): test_list = zip(self.models, self.QoI_range, self.samplers, param_min_list, param_max_list, self.savefiles) - for model, sampler, param_min, param_max, savefile, rho_D in test_list: + for model, QoI_range, sampler, param_min, param_max, savefile, rho_D in test_list: for initial_sample_type in ["random", "r", "lhs"]: yield verify_samples, model, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type @@ -239,18 +241,18 @@ def test_kernels(): @unittest.skip("Implement me") class test_transition_set(unittest): @unittest.skip("Implement me") - def test_init(): + def test_init(self): pass @unittest.skip("Implement me") - def test_step(): + def test_step(self): pass @unittest.skip("Implement me") class kernel(unittest): @unittest.skip("Implement me") - def test_init(): + def test_init(self): pass - def test_delta_step(): + def test_delta_step(self): pass @unittest.skip("Implement me") From 3ac817928c390880ab53d001f55cb4d98af9717f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 14:41:06 -0600 Subject: [PATCH 21/85] first half of adaptive sampling testing completed --- bet/sampling/adaptiveSampling.py | 4 ++-- test/test_sampling/test_adaptiveSampling.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 04901f10..8568c93a 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -45,8 +45,8 @@ def loadmat(save_file, lb_model=None): else: data = None # recreate the sampler - new_sampler = sampler(mdat['num_samples'], mdat['chain_length'], - lb_model) + new_sampler = sampler(mdat['num_samples'], + np.squeeze(mdat['chain_length']), lb_model) return (new_sampler, samples, data) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index a4145517..001f8eaa 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -29,7 +29,7 @@ def test_loadmat_init(): model = "this is not a model" num_samples = np.array([50, 60]) - num_chains_pproc1, num_chains_pproc2 = int(np.ceil(num_samples/float(chain_length*size))) + num_chains_pproc1, num_chains_pproc2 = np.ceil(num_samples/float(chain_length*size)).astype('int') num_chains1, num_chains2 = size * np.array([num_chains_pproc1, num_chains_pproc2]) num_samples1, num_samples2 = chain_length * np.array([num_chains1, @@ -119,7 +119,7 @@ def ifun(outputs): nptest.assert_array_equal(sampler.sample_batch_no, mdat['sampler_batch_no']) -class Test_basic_sampler(unittest.TestCase): +class Test_adaptive_sampler(unittest.TestCase): """ Test :class:`bet.sampling.adaptiveSampling.sampler`. """ @@ -186,7 +186,7 @@ def test_update(self): assert self.samplers[0].chain_length == mdict["chain_length"] assert self.samplers[0].num_chains == mdict["num_chains"] nptest.assert_array_equal(self.samplers[0].sample_batch_no, - np.repeat(range(self.smaplers[0].num_chains), + np.repeat(range(self.samplers[0].num_chains), self.samplers[0].chain_length, 0)) @unittest.skip("Implement me") @@ -239,7 +239,7 @@ def test_kernels(): pass @unittest.skip("Implement me") -class test_transition_set(unittest): +class test_transition_set(unittest.TestCase): @unittest.skip("Implement me") def test_init(self): pass @@ -248,7 +248,7 @@ def test_step(self): pass @unittest.skip("Implement me") -class kernel(unittest): +class kernel(unittest.TestCase): @unittest.skip("Implement me") def test_init(self): pass @@ -256,18 +256,18 @@ def test_delta_step(self): pass @unittest.skip("Implement me") -class test_rhoD_kernsl(kernel): +class test_rhoD_kernel(kernel): pass @unittest.skip("Implement me") -class test_maxima_kernsl(kernel): +class test_maxima_kernel(kernel): pass @unittest.skip("Implement me") -class test_maxima_mean_kernsl(kernel): +class test_maxima_mean_kernel(kernel): pass @unittest.skip("Implement me") -class test_multi_dist_kernsl(kernel): +class test_multi_dist_kernel(kernel): pass From 1e65923cab7c961b02e6968c747e8f6e7868edb4 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 15:14:58 -0600 Subject: [PATCH 22/85] added example input files to repo --- examples/fromFileMap/Q_2D.mat | Bin 0 -> 41481 bytes examples/fromFileMap/Q_3D.mat | Bin 0 -> 767744 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/fromFileMap/Q_2D.mat create mode 100644 examples/fromFileMap/Q_3D.mat diff --git a/examples/fromFileMap/Q_2D.mat b/examples/fromFileMap/Q_2D.mat new file mode 100644 index 0000000000000000000000000000000000000000..575f361579badfa60fea085bbcb12cfb269b7945 GIT binary patch literal 41481 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 UW3PS1=8tw9(unj60AsO%WN6(N00000 literal 0 HcmV?d00001 diff --git a/examples/fromFileMap/Q_3D.mat b/examples/fromFileMap/Q_3D.mat new file mode 100644 index 0000000000000000000000000000000000000000..6f091664313ec1e9b62ea4b769068a26dfa23b40 GIT binary patch literal 767744 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%0A>d|Yg{1@T$I8k7 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 z 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 z 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⁡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�lz=&!<)>*qFj!fXcr=@RR&@(W)BQpe#J)d>1KE#m)v5xqocBz4_@PyY32KP`MscG0e7@ckz|LLWAY?+^R#x~=eO?7iqWi=4JLrQAn< zbJTZP311pd^W0YWL<@EqohQz5dg`cR^msUPs?Py)c0A3T%|Yzb9}GS(A>$c)SC-MA zRTlNZ7|eG_GKu>Jd>tjf9)D9Zi8_YL@NME39^!#-CgAM)Rrthxx>_{GaURSSQ@G)x z1pHKI#`~eXQr|^TMa=i4U|{n+@=I)gYXE$=8(;IN!8hE|lUf2F ziyAWn75Xc@#{VY*{oUl-DI^D1)KfiSVPaqTDxji?+%LBGSUi!`c?+ZPv9%sER)_C0 zjVQk$e09TVRa)?kUEAz<9lo~{ttvad;lA-K(LESGwND3<1K>;F`O7*4J~vm=Ksovg z=oy;pgU`3cU5EtV-r&a`-0-PPFS;|q_s5jCRRq4(uw%Xtk%}rD!M}<7qH@}s^XToB zF{6MJTt9ZImCM1^&UiIm8tbn*Ci?gpL^7eFdyVtP}JXe_#{rg^BqQRf9a_x1)q=y zMPCoDC(BH{e~@II;DrYC_$4#WwGGZ-mzYi?_^8?+_GwSzKH48%yawNoi<(J?(c3+{ z|B_kZV^IeVU# zOD6Ug9ejHA&GS#-<8C;v&Oe3y zf~IC!558=x>{s^i3E7&)E5XNAA81e9w}kHg4z+^MbCa;2CVc0d-jZ_BqejAQQGeom zDo-g?A=<5E<2ENI2O?x7dgUn-1;qVo6 z`Bh9JweAT&Jcb@cT$_J{O%mU;8@mJG48MJfd}bQw=g1+8Kw`ch7_OSaSMvO%%Xi|w z-=Gj41|Oe1#LN!BrL^gu*%r9$ zH&TWpFxSgh(nuGOVslxPz3}a)xsh=iuE*B%nIF+#&!u-AImnN9z--_n9C>#P|cgHO?On?pZ*c5A!nSmImheq0 z-!P&K5Z{B;`*`8Ax3P0fhEMHoG9?T?Cx&Xy4{$MZO7JehrJ?zgo&gT78)uW-;bUUq zx%3&ovuSz?Vv+RA{tL|TIoQ=K?t)L|sMAy_=6oQ!TVNVKiLemn-7`3Eo>$fS;@phb zZec5n^XPKn!oL#i_ZL$gRq3%`<)3vVMH1&YJBQ$7yl1vir$wYXiF?`e-ywLOLo_8} zFVOpJPtxs3JcsvU@l8kg7bd>l^M_x9ve#=T{M`CisD-sM$MOQ2Vaoa;_NE+{mRMG zmUQe_`QQ0UiSO^R=yw~e@EyCZ$kl+}#VqXf55YIY5R=r6zJvM>?aabD<+$1yp@DUJ zke@nI7~aA{!`OpxE$Peti$$L|Pn=|zz&c!x486$+-%|0}W-IP6*0emq7d8dBE z_kiPg+UO7Lv*LzLEre4 zKRCbron6d>bHKD?rzd^#J!xhbvEl4-m{f5{+Gnxdur=<7?I(O6td*wAog|j zMyYPB*ZpS_dKJ(gt?YzF0_MzNo$Vb3pPR(#h6Cuc>)oC8UO1(ATlRlPkEuVs#j}w~ zewGjRp~q_?hm)h>8+&eGmj>Uuq1Jv&_#$iftF-^b@Aem_zUc8;UiF{H*zdVybpt)o zpNJuq-~sqF2L?ij`|h7JMuq*v_e_{_?JM+H?R<4P2+py5*G&}k=(g2-XDRyoPdf11 zA-I@>6j#~c8r3kka1j0Jt^AXyBi?I+>Ca*4@k@)^{?RGozf-;L;(#;rKNifnTTyb0gDx!Di7d90U#ZrXL?-kYhXxS9A~NV;0mjUMeJICCx%--lb}TLs`d zb@V%967k(I!Zmjh>oM#rLv$i~+m|eZP24~+* z&bnRjc^kV2mBE*PJ22Y@J?7icFLuEMj%vYIFeT6uO zoMj4X>fobJzkH1vzLQh&oyPEqJ^%PC9KNPr8|wnBOK+FXZ^XVM9`w^l5I#Ysc&-_w zw#Lq_^>9w9n#zvA*&m?dup50Urua9N!M9p_g6l2ve*gdg|Nj)&cU(_<9LMp7@%x2T zN>injq$SZH9gW)(6%B1IZ7HNFL?IG#)6f(R?UIy83AZWQd+(Hn(zx&Q*XMEXg-HKcLiL`d5bQ78H&W**gqHPeeQ6Vg5anaFdEY`Ib~fEeVr-)j za$I5gmF*N_!|SYw=N%N{N^cx-t&2h^u>2&>_D~3>iwC=Odnv??A5ZVT?xzrJEp>cu zLlh#SB=q&*Fop1pqJP*pN+Ckk`aO<}AM=71>5OD_*ya zq>WIB`QxGWN@EnFn)Ys5Iec#BKfm=)P>AKC%2+CV{7vd6s_+SpW=QA3XY!@@G;1jsm#j|maLc|znrv@!hh|0)RwH@#s-y?A=0UfpKju~0N$GS+BQ0zoE4y&Y7 z@KwEAZOKJPk=zHIoP87`nPCH)0DNQD3Zsv~7jRVg93y4hH z31{Z6U02=U(}^@3UPQ+rS@}YL_*8cc{GCI`sb5+=N8nQ^jek>*j;vl?^1SFczQy0~ z${_y!O~Kjaa4t|KXqe%fb;{E$z`m6&XR0rwr(9{3hZmfqr_I6=uv4 zErjn&-s8t{@P(DM4LyQyBz5BG1ZJ{x=7<`6AuLueuP@@yOEr4^hVLGIZ+aU#swRlP zjfZcK4o@Bhz5!{uplVFFhLXi9bo?Iifk_e_%|@Qqg~3@bceYU*E)LbOGt!vi>sd~2 z@FgzY)$c>k>XV9qZ%^-Gr<_x{0NhlVYS;j4CkdyO8x`aUNwOYC{8e~2_K`h98BU9*NSi|6F& zZgdP2qH3Ii@6fv1V-MUH7UK<4#pw9D!1<9MTpCJS3-vKK*-bPj!Z(&u^<^3ze~0N- zlFrB0!v}-l9BIuLxD98GY@WO;`knRh*;0&Iq;V@{KYVWb`P}N5a!=2eXu?^4GNV5R zdlnaEG|Golr_WDiBl<1LWH-CRSr{U=m;~Q~2@gXmd;-lsw%K6M6M?_~o`dhZ{Dk`# z%vcxA1a-I!f3#hoaQl1p2P5A>p@KA?aLEwaQ3C;MP0zYoz3farJ`R78(W_^ zd>Y|r`pJ&AGBa(K@X?0rga=~ZH^dE=l$YQY?4Tp>iPJ%D{VdE+Jz3Yu`^6!>8Z;p5Gq6wcD3l1>nozW$S)` zj?aRU7tbu??|YF}(+OYH&AW~-&~e+qznetiYj}64#sEHPEAeOd(b1mI^2s8cx><#% zywESq!+tsf`@QX6bZa+!F$J=m+UT|;%0XTa^S`f0JU7Di;5%`P+_TuHL|z%VHiyp- zT4Hvzn=2KeW1Wx?(-M65*nRey!#D7aIot+5@reSqjqthg&?_Wk#tT(7)1zM~mumG0 z`P{zmL92y5JJ7$Jv4$^wA}xUyJ}wRMNPGDH=0xwkgL{&}G)czh6?D3v-O&!8Mxv^UcZ-ZgVU6^*8L-VQE&83 z9m#&HPxsTocj5J;G(-5h^c(AC;EVf@GE45+)^eitE;=4R&z|7|-?r+OS)af7|6^Xg zci`NUBr?tjpFpaIjs|=WVj}JW=cj`AHG`~YJ+<*4Reh|bKx7RNgNY} zFEf|$KMvn2)g|E~I<61@6}$lFx5=dSC-B`aX`OMzbhy8BpbF1<7tI9$^7$myl1S%? zdmpJL?)whs)naYu@LuwH#F!b%K;9$S(BLNYO;FmR@(6uz`Lzc>g4>x{JzN`35A$f% z70k3~uIg{-xk>JGm@vG{XPX@@(6OH5m(w}8Lbq&I&c*yzLv6HypXYF}jZiK7YxPaanJq^80Ij7-k_Y3g~ zMaL&2+tm)j)iLa=q>FBSry>PH;Ioo`9?6GZW1~tpj4)-C_(R>{yrCn+x(26PRygx* zIB5?qG;f5@hL>552fh^L6u$>JuTBo^MjGgNNjY8dAkM)|dhi}4>_7Rh`vy-q1A=M- z-=QO$Zs1uu?ENDTCoMb9<;-`+Bd+ibFgpki!)Io@`<^!TE3r#XLj_KYq>>;-_y($k zcZH!}U%J>Yd-&>i(RDJzr}`phq#tv4OVlfR_>P2TD_*0c5)Qk@Uoc_M#(dm)m&x~d z*RPUFbi7;Gqw9{243YAo=h5-w?h|t1aH>9H-*SWV9DF+;6w9?>YIoIU1;BT2?MLhv%)1BaGp@ro zq@HKlgN~}9Uv90z$@p?mT#lYfTp75X5`d1sV!sP#pyQvH7Z%7pmw!|5yMvA%G|>xp zhROHDo`2NPQT>X@ZyR(pSF^wJ5*@iaTG~Xg@2#+nYkoX^vVhv0j|D&ahajt?aT$Ia2PB|?0AJUY@I z$ue>y-`B>$J&fdY^5{{sAJ})H;xp+0+?V40qBXB@uOI1I4f?@r;>(-t3g5108g2II zNnx*IY=CpQ_iS_)oE}U~ZwdH}Iio4U@VQn_7?ArGeDl8K`UWa7F`ulxf{v%ZDIR`> zj;#0Gob<8hE9*+#Q*ize$k|GT&xAwGTM$0~7$s8z9WSNx%eKQ=uOXP!4X1KcdO!y{ z4o@FFAPiseu1UI1_&&JO=7qthvE@uN0bf}?gVlEUc)3MZ3*fUCyRoqzuU)h&SJ|A7}KT$TpSK4fE zM?Mcvi?{CnftjKHAVYK&-@|WxJelA-apF~a zyH8liZo>W*4c4pC@#sO-HCJ@JAHw8ggFTP=i%&YCyOe~t z=s2;*Lv#=wOL}k5w!^7!V|+ zV)gX~@;$gnJ1GvQ+4g54bMQqPsKt`c$8Uxw$G4*6=hw!vGniKovTn{n$3Uva{04Ls zjd4C~317Wf+pID=c02aujl$_Tt)UvWnMxFUYDSsEcUDoVH3l84XFTta-x&dCLYLUk z@pp%i@Fbkc&tkni;PljLu+v1x+Y0rQg5-DE^PNiK@V#wJ(~HM>+&O)&O^kg1Sqd=p zz$tgQZTtkB`aZW#gu!=2s`lgzIvy*{Fnx%Qn`}Fi#^L;NC&=zOoC;Dsb6er_oBVOC z4joxFZ++IIP>J8Xd%uXl=gsPpQ;Uux5+9pCqGRTBhVxwToi5BU3B!2|*zEIen*2VS ziFM>f$1#gaM<(2x0maob4e%}7c3)^mM>$S=xjXQ+tg6W;;5lA?$Vejw&crUg%hvD- zWaLY7!I$V=axM_QcxGqWHthSou0^H-I@Vs|JhBXD5AV!f7j!J5|IIN5=kvd>PK3c% z!CE>iHcozbyJl~OkF7vcf%KW1MDJyV@9urwb8+bSTemXe13Lbl*plFheRHX{H~k^M z7oYF8FGk03!x4Wi_%aKX5{58Ye+o7pCEtVnPegk$S(WHzPQjV7$mYHXr?I8kOB;0L z*w4D>C!E9^u@@iFQKV#dbR(QUd31!*s8m9nMeWH9oQ#Wc?d@>Z#y9x>fiwO+!*)CD z`9Qvgk~VzuC0A2h&~ck)owE}2mc<)ZQESTkW0x*R$XvB77 z&+|t@Cbi)UYYYh52A{QsfrLDKX&dPM`O&f9qFsdnd=5Gr8dK5nOSppEcliEYJcY*u zm3W!AvMH2-O8ir%Xe0?=Px!IgY@ElLv=3u)=os5sXKRX%D(9KY8R0W4$Qe2gU;C@W zH{YP6Sj$i;d0*}j5oVMoVIc0E6DIO8iL z>>tV!DM&Vvlp=dpaP&tP35P&#V2L3}=(rneR{0 zkI#g)!k+ARf&MXh4*%q_KBvHS{hm(u0-V=Vc1~SIN4t?Yj|4bRv{iA1qobU{C*E`L zm0WBt;@?Uo9_1Bn9fq?f=A_ycbd(H!$^HjU+w+G#ec)7y(GRI`)vw@uuz&vV z5PDige7+fgdwpB2mE$vn_)ZB z_65!d*P=!>;CiZO_){DGXm%QyL}PLUu_l$Gqi^HSXaP92;s%Wrw^50(pa82(bkwVe z6*&VR%|3;cKiGG)ivIcwbhLllDXItG^&jg7FVS)NQhE9mIv%~avs4264yy5`D@I3s z7wc~teQv`2J zr3v?WbR1n#o#TKnaw+@vZgkw5?H%O;=P?z7e;MK1n<_Yc8NS9S-i;~bbI0|fW(qpa z#y+)Pg7bt@jXX1aBh03vo6yluIj&g_9h;OKijv`s>^?6f4rg&eXq-eXy6hk z6A3v(KEEILY~jP6vvcXBli|#iVrlk=Pdu!L;S_w|<^xv@(D92v=>}yusrsv0zv0Z! zq0hJ7bihtQJWjkmmf&Yi%13!hKe--K`AVPD&JxGJ_*bar4i{xcJt zj*ea&yQnsB8o9qs$%RvkrfB^&oL02`Iq{%Ff2FZup9X?7mOJz}aE&Sbd=pER!ZKR#3X8c1=(><%YG93 z{^b^JBM9f`c)p+@+?y6t7N17=E@>SOm&EytXs_+>M90C)3zJdk_|DvX{V1FQ#?Loi z!9MF>`3AGXDgVf6WC7ESMra>l(uhH?KT1_4Kd(sYJ&!HkXrRS2L*ka!&Q~&S=Tgx}$$Ph6TO%>uG19iE7{5}Cj;V_`tzCYTKi7=1#Nht8 zmS~t6W8YWixYZM}Z<>s6%%yPVHi+DRjeToWRZ1%2TprfCc3>-f@rO5ECf_Rz5`Grs z{m>IMi`@sGsmEa1UF_TOD}T@|oG-Whw{!;`1-#{D$KlK^@e8^J=dtE5Yr5#zsIHV^ zhmI=TvqJT7wylK!U4hd&BK|NB&Lb_2dZ-IJE+?*ky@!rA#~rWMq2qi`ky14F{alZ} z*$y4qS!;{Q?{J-oBExbx+XMo2vT?5oFSp=a+@IZ-_^d9H9ru5l+yuM7^P8bQUI=~n6^PgS^?0amz@s0sHa_=~0!l_V3-rn z-QyC?i*SCtCLKh+Z>}{{`-{-giM{&<-u1+7WvfeEIFCp4jAGN^91rCjzJYz~n#=!g z#{GFZ({z{oj*#8L@ALr9Q={#1P3X8)#V$9UbXqhNrlH^cr!=*;nEvfgOXuJ$WPT^w ziH_p?4`j^3Ioe^y@d?gB!@4~>=*YX%Ea)DbeNmo2yWu=$_*q3B9eIZ~by$$kA5KZ3 z7wCA)Y+{i7eSot0YS}UP2KKodx}al*ud|a0I(8kfTKW&?a>Hi^qpNTR-}@mniG6pN z^6yuKlQ-d|QaPN)Li|ApP2Do zho+gyj%~fiDex^kjpr@f!;Q}981nunmo|Jd zFATpvMaKxIuflQYsAlviv;-aXW~0rf;B;R*q+N@SO`|U=o{{gv${6RbaGsk?XPJfX zrcO?dGww~{_w#*zxHn9`L?;jSeN3&clNBAOdMfqy!Dsbhk9!5qBY!TxpEAy4XV?L6 zFZg!WJ#3ypNA{X<_fk0X|4RC0@Syt^_hozXIleHKeHiD_a>239935@Hc2AN&cV+6- z42HtD<#cRlF80lIHEwSMu1>CEpSLJINzK(oB=iExk+$-p6yzhN6&vXqXb#e z(I=-MA`;HTzO32%@adf7*{zC>F_YUx$Klkh_@Y0FeS15E>I}ha`cp`903GwM7qrTv zV|B?3&k{J*vvbom(NV)vZ*MZ36~{SS%;DVCU-cpe&i)a9p%Cm_Qtlmp9Gs^2=G&6s zQ#BspE`v{sy2LgOpPttdmX&~f(c9GqVR&t2RL z-xHCH*~i#-{h#ZarSOS96L_!>J$r{(V#xP)VBkc5IDC&!H$6Q8RbUDt}SIIH{mmt zV)|5%$r>9r&Vi0YRw`!Xz3y7d(4nGZ9{nqwU^v+Zz3Iu{Q*gbtxk8|0fkXBqBl7ns zHR%Z{a1I;$Pj|uT;rLGP77^O378>lI#tbjtKN zQnQO7SI^!xyUS0IT)RWQWeO0aVY`pn#s(wV`%#j;_b(&4dBmP!`xb&^lUY1mMoo}% ze_Y$uX$exZN4nu19YNAf=j_@?5aghomxwqM{%nin(XFE~D$7N(;`!DjW{OT>e7tRc;i(lWux4tSH{u()+$k~~A5;-cTj%w<| zr*2xW(vC^aOurU|FCwPkUNz^sm?Os@#I%(ma$HhUzAH{oko&q5!d^2Hq-mQ` zLN}b-M8l*1g;VifdSCwEg{MwlSIV`HDS!8v07 z^PdUin5UhinuQ!WPi|__Ajh`lo?GK^@*i+CZAafn_8D|2qwj^IZ|`15-%p*AHy*&* zn-y&F4Zbb*Jf3rysgJb7^WZa$61(gLpO~B4AQt1~w_ZK2a!H0Gnop3TP_HyYVN6~xSj}(yOHowTeY2+AmyQnk~ zzUlgZZ2Zu-;_}Cr#&Eh$jXF8NS?!&+oP&Lo2;FGYMUFFvPfVu6=Wb_Dy~v6D+8Q=< z;S-nG#?}mb!T@ix37eIY?4NiIo1^O4rv6APBS_pjp|J$Z<2(H#_THD8P*+~RY>%i5f#r01b zJ3;ckQ%%o<>)DdA#}r&b@>lNPg5z$M?5#XF(#7t@dE@i1sxz{h;&a!dM{djFbMvOU z;vOR(38BY6H+Q3VEj8^#F@m&i>FCwjLy#jTIlY(m5#-0NcX@1*`16S8oq0^P%A*Z~ z=zAneeKQX^y6P=P*do8N@h$I}u!k#8{JrL|hf0!OY;@>XR8djU2KlM$pNUk!{)P4n zlS$~8VQYVv1o|u~{l=k#oTQ#y-jKn*k);N@@8PUeQaH~8pXRK&nhx@rS!CrnBnt1A zWLgGsoKxeaib*&Fp9Qr2g;OHPyyYBxf2~h(1WOU*DV6o~M)ciG*WPpw`{>1)xvqip zqIz#d`3;12F_ypi3gwI%&O;dxQf2N{P>nqh`xj9#AIF3_e^d3i;HlY9Sb>J4W~gz zPKqD$Y?YqbaRq%#?zo|AhrW9mS(!|c<1vd9REEg$OxH@_44hA@g0GLm>E?QAtQXGV z1O4(X=-Xg3b?q?v_CDe>wvE#FhYML===(2&w@3?|!jI~bEz!5Fwt`|X`W6Xx(>Frj z#{`a7SHU@BA#7`nzDr8}-7g3yXaCy%67+ra09rt$zjN700CGIy`OTIEIoki;9ee^g zmNT)K3M0pzYuz3daF(}J{I?T6Uw`3-Ui8i0?__)tzEF?WxOf?Y?Ba0|e1N_!6Xj~v z(YIS7-J1qDT|=YJ>!R;YCX4BxIf*k#YF8$q&9BJz(yEu^JYng*7dyu1rOXdB?aB9Dipst5A@=x7_KKi!h z5Z;yvC)>b_nLy-7Z7MQ61!t6_x4fh*LCT+1O$|if!($13?C6_~Q!Due`p&=e#$pe0 z95(vKXN$h2WJ)fjQl5*SM*LKeBl9SsuY(+UAHTcmi@vjkJ7cTiTw4}AFa@W!m7%l) zoGcZy>Tlpwyj}KBGMugTi~s7OZxyN$79r$VsQJKX0nWYkR(BXE=ez8M);ydVE0)Tx z$Wg{w-{BOTBf-Su8|XVHXljHNIo7U5Hk?D>2|izkX5qZ?)GlrtavZRTy=a2Ib6yvY z{)F?*45LaNob}@FR%YmXs3-1;4f>J--Q}Wvi|6sy{!3qGWwp8<9M3_ zXIRo8p9gYOD<0%JiyUKAs8)24BMoz#oFsCbI&G-g4yTexk60x7ZhiVw)&n`p>HSU; zL*M-aMwUB~BfBW?a5J19!M#z*aF!2WzvBmI(E7cm2=v{U&0bJ|zLRzxl#@V?c?H3Z z?&$kk-fQM4^eyk%Snv_f;TwJo63CIZWuxyf`Zm2$tL}`x9|g>-Xd*`u|MfsMj@O<;NG{bPCMmY=ToPY}JVs zIX)ZW*qegBIXOxk>*37N+YwHO9CxP7xX!@IlWid9guY9SA`~~^3~keIkwM?~bSDdh zv6nXjw8JRRp+aZ3MQ8L)Bz31BK#qzDYaxH&baz?s%YoCS>3MTDod3jV+cm@K?8M_= zf*d`5)z}*%M}f?l4{Y#hr5eA?hwq+s-+09Vyyvaam~_JF;#{O`jK1k)2PDhU_x_}r zu`W0>BR*&IAjfg}J0Z1jT8oYr6=5&UNAiqH;N&xHtw@8@E-J+J3UZV&R5s&7j%^{X zhkD`s2PLR z5Rd8L3*U7xP*fg2-|&;`SH-$*;xx`UjlQ|Je*#&^MPr|QCZ08&{gDUw&wp# z965S09{!g=j(jiFRa@aq`yb7ZKX9I|*|qu*eNW2xymNumd&^|aPvp7Zzu|`|oH4H? zNh9>_*YDR@2WRw$+fkOt(N-_^RWi;^Jx#AeBXXP-C=K^Sjyc!O_Gux<>hmmvn{bv& z1aYszDH?s4`4IXpDtQ*$i5&fRp7XUqjvu6#LWRx0!bx@Nk<2CZ&E2OpQiHw^9;KR{gwx|xmsbJ$POE4g zm4}a+Q2uiRIj(Rp%lIS5@Wwtt2lV|{e9FuLzLf2)^X|xT;_`v`&v2IfNn*Qz9Jl5r zpE`;h!%ZBUm*8|V@^YX@j&k=WFGs+6i?_$m63$2-u7lF@l=njwwO07N%0AZyAH;Kk zPJG{1ynatxCm{K$hG zS|=)H$)yE24fVDwMj^+085=VPkYgO}yQ#l$ny0dTO+nws1QqCt zkmuX{z!VYm9qnjrsfrx;cQQ#=!AaH8QDXt0e9qo!Q_Q7+l22b_jhR%Qc+-gFMxKXGv^Fj#rO6c2M4bH9TCzhTu$j!8gcA$ zXA*K$^8eLigdBN&F5Az-8Tr4EeLcu=Nm8nqa(~YRs_3{;&NubcP0DkK^UjmGPn746 zfLVtYa+I!9G#kVe|E0-VqzLbL`CK4!T-kGdEdhPcImK~Pp68>--sV!C=Tj=@C1&9C z?v2VkiX0=Tb`9Tzv+|7VP!#S*Ij##~kFl4@(pg6x;nW(TO;tsXaTnJGy5KapDHL=v%WWjW-fGYO!?%1i_h6R=_EV92-6v z$5Za_YW@1je(dFrdx~7~=)K_g+#nx(r89NRl7uVrF3W@yxK~Nt z2dDM%y}N_aZpZ+8HK6b#)Q})M8GZUXjIamVehWM%1o?m_;5Fr*8cufp(X3E7i=-yDnqXhTUyUj5#=aOP zOm|&}^PKaN`5K(cCWD^3aN52TD)WQ0GU?%?mvA2VuV|$V&UN-*SKq*?Xx4Z?9nQM$ zy-lNVuJskE6Ufnfvt2v|&SZ;4S8F)ef~camBF7+`mgoL(W;V~nD8VN!88#t`7(M$2&W>bO5mtrIwpVh@u#-;n5AOm(hM5`7m{OZl=Q#~l&%Y3^_?Pq<4g z!uec*;b;Y%B{3|8{&3dkO3JUmY1prMIU3IImyde<2WRu2L%hLorf!|h&Vtk0eOdY} zoQ(AiyLqtJE}_<6=HT=inw`G_=W6F^k(Y2%NqKKjV=rx6Xqq*#mt~`CT0U@cd~%%d zgwx|D?X(DTbhP5_PK2}8W8tnloXq^6RMOz|Uv4;OhP@)F zkG^|DbtG2d^!;w1FMz&Ff~TbB;5;79T*`~{6H%OFxCG~PKmVl&IBCnd8jW#&T!VGL zzlAfyz)FL}`H84uJnRFfwDRlKFgU}*KNw`gc`G;NY&V?Smcv#TkSC*G3tusu1#~|d zD&c%y*=;fnXVVQy*&I0cEJdq?z^P%VbAuZ>1|5IYGXdxHhQ*Ktax}@d-hBnmYc!jz06SCQ6+}GtfTj^)<>Qb+iw<&VlO3ji+9YxdD`!lzd!np@$rAokG==X ztjA{I+?}rN6#ysyN8cP(l;=^N zWcfm3b;a4Mu+*^ve(x!BZhhrS21t)xG}*{H~OHV{rl z@uI{0$Wgv9)glK@z1UBo0_J$XNOK!;z&R&0{O-x&{0O|SNtlPzP`CH0ADlLkkBbZP536(4c%D`Zi3q(wl>mVSE0G zQaGo(Vq0v`_i5*;eShFo@hc+6;2hXo9*aTW+~u5AesIo+2sydKsgT2So)I~QC?^fS zf-_7eBIq5Q2?s3i6~ig5{a?Ko&X0>~XX$S^kNCb-iiK0))u3V*oXXxQsbAo%dcNba z4ffKTMwI3j_EMo|$7lweiOB~pT!Ay2FTN)jeJ^VEypqRW#+(;=+6||9FSFeZ^lk1! z|MM@Lb5FwfO5hX7RWog}q$5 zPrjR=JU10zEn4IJRQj=+)1dFcUTNYe`u_TSng2faGDPJH`3g=KvlIzS^j&{(jiB`H z)mK8h3Fl>Bk-86XhG+fHIR#G9z<+%ABgbwwsf1NHrJD8;SJ3xO&t$PP$nlYimQ)p- zK~uYax}onCe!5fN;0$o~B?jR<<8g+A^1WnxnvZoIocikfE%kAJLNt0y#^Ib@j-#TS zpQUS}&&T1^p!b>ON8h(;{~7i`-zzT}drRSbc!7Sl8qN#`b6Pj_oyDN{^ep=RtQ7oS z5PNCRXZSt)B<1&R{nd%cQOU_HnFBe-IrHW&!#PoUKiU~N`igire1dcO_DkKH=v#o< zV$VKH+@m4o3ukbC;^*v3q_CG_P2p7aaGrnN;pK+&V<61^lo@?jC%gPOiN1Aq9e&{q zr@3gr{U$gIMn0aFL*MfsBHfgcW1C1BGaGWemKeF88abNTl|GGu^MY^q8%g9y6FEXX z52yb`q)I%Te&gC+9~y`#Ct1+dGB| z;UxDbo;i=bT$s5(`U6h$?-yFa;q;FkOzwvBSdcEy4>&brwqIw&UTUB9$&H2ch{Cn9 zLdy9uPCu9eXY$(`;wqf~HZB?|VK1K@U{uM3(?^eq-xz(XnravbBF8n^rw4}NjQ+kv zS|i8S^dF72a7vphg^}ocd8%gX0-Tm#yahcezjtsyB%+AD^o**NqG)!*11ydM=67_o;PqBZhlSMg!9;PYk3u% zzU2|a@m6@>KK$X#ZtUf$oGUUbaM}#^3&&92pZRkub|0eL7w<*F;Y=B1=y41-fZ zMy!(sIZ80mavnyG?pF_A%78QLu$yD-Y2?Ro@0dFFa`aMX)-O0!lQIi(;QU%$VY~-> zd1thW-5Gmnnbp6K^8Tjx!IYgFeUJGZ3JpWw?pv9*pTl0BDEAAaJTHGSwC%LTUT$SC z->Z$j4F;M|uOm;<1*xHP=-V-R;{+#i{MP=Az6nm7(I@}jLXN-ZB$C469QE58TnA^G zpw(45B zy{}<6OW@oLw75M9CvlqfZ5^DEXR@;Y!ucwWYb6*tO7Z18UxQPMs-@Y$fbx6ZCG##g zjon9gSHPK2TFfMY9GhS7C8prq8++@7ANoFa|55s0ArH=<->YkwjF)%Uzd!nr=0Wt z#MV+cuX<#^<)=J{b~JCBf-`@hW9&JcLbFDPsE}g#Bf6I}9dzcyyfk{=E{|5j7|Nk7WhIi4nX)rdiL!~3Q4(b(l|6p%>-X35 zaopUWSJye`I;X%O_3FV_TT~KHEIwO?b(Fz1EU&ky3?F~Ps{s2NbF-}Ak^5$0QBZG( z>VYaaNa6o`3Yyq&YuNi{iwgJ96153b8XutxhwleV3ZFrqp8JE};0vWkom}{SCAqDx zB9P*2-CZSk%p3nnG~nOudFuv0=B#wd@F~C}SJ`93`V`G0 zc(22ELoz2Hk*??*syAdES#;*V!tkM!XI9{V*v=ojG2f|1s9pnx$}n*I!9zd2?K7a7 z+M%Eia9n@=#YW8SZaLTgAKb6`X2b!i@*EYv3oDQK@YX@9u9KHHp^N)_$~y&U%(~%= z8w}pTTA+b>V@peZ4v4+LqX;{xtq(vcV)x+R`7W~^DA;4wuTriSHbIt z-WL9aeOo>$NTJK;uz`*vJdt3amjJ7Dzg8-Py7cH3xJ2ON*N}+93!{ZN- zZY}%7EL7WJmd=X#S3fN>DMCyCjS_ZH{_(8jJ?MJE+v*JrTbI#XfW99(DFrcKrE8Ff z+$YD1Sf;PSx?87MN}#{P;-hhRa8CH90D5$|Oy^CY%A)bvSa@-GGV2304~-o5C+j5F zoOut195|;=?h_H?x$hm2HbgCo^eJ6B`kn!EXssA?hQ52 z{PVWWf8ZvK2SVgN?y2um*M_IJ8aw$yC;lM6ESUJ(sB08@wzm!PpyO<(?4Tj6<+^Sj z0vVE@9eoY|E=lC9z-|hruvl{ca5C>Mf*uT4qgtTJww=x7K7RK;*>o%BO5P~2kb=5t z7VD>BZ3weTILy;lKTrWRmW^Ld!t8KgM{dmjAm$aO4s-RjS>55Tz2WgsAXD+q)?w01 z>2{hG^J7<6YINairAKFj;P_>(zH%7y!@*(({+azKF7g)FDT8KBK6-+A{qjj4=dG!& z=RLY&e)v|7!j9HUMbu=y=obG7!}Ehpr}fBw=(l2Xne596$%FYYATMa< z6I=>ExPhLW-`#!rie!JT)oUjEjI?eNUj}r^9V~AkpGR)hBKwT|Jiq2abab*#346lc zqY3;^U>&W7&^V;rSE{=Lh=OcSN4rfVqi7e@e+d*q!oY z<|KUXO405Qce$L@$|cudqQ%}`=)-csa|7lc?O9fofDOxy7Ix6tck*`xInRcb|LP&{ z#5+AI%r8AFXh`;%%YxULNuOxk<&t8kT+}&78mxzN~#T`?$AgvU?v`NtS*SY zg+&@B6jYe|u}3sZ0E%bC8R$R{*+=u<FLC+W;%O(K1gmmcSkzEkC0 zCgl9KD7$+^L&nJnmlyDFiFg$yI%*VJS0!OYU}i%UjKA=juK|_`F#IEZ>Wo$&_d$gp z=FuilN5U>F3dROA29dteBy*8Dn6y!Mi4XH9rkB>Wpmgi;RUc@ZA3XE`(r@p2*a185 z3UHHsnpWYL59xd6bZW&CM%;Gw4}%qNqT;GyPI=qP64}4iO?OG4=jxlovHsAH_SgCU z-@o-!VyonQhlVLjV1B6?ZJ;@{KEETy56Xp88Wcktxn?cWcj9@H?4Cx*L+*#}vkWTI%%QYw_S$vqR-}lmInZL;A zHiDkw=%DF}+e7y0_~)*J$>hAN9xeR=Jxdx^*)TuqfzGrNyl_aNz!!>dy=!?ehCc#T)~*i*=)RbAQ#RhHk!>_pc-hYPc$kB-5Z*$3V#bM3y59`8+zYcC;t z>FW2tx1)2Aoxf5=2pz@SUs{|d_s7iN z*4t!1%nDX(g1f~PEvPa7?6&-MvVQLt6PeG#&#Zww*|6(BO8;)Mj)pJUH=<|M&Svv* zICO7d>lGL*Zq1wtr_ayz)R9gW=jq?DzRY=s5A&xBblphb=|20C5I8r|`sy{5VfV|L zh8bLMzLDpg^gsWr#&B%XttJL49plfcC-?Osxk|Fn+!1BB*nxTYXZxnx_@3Cy_Px2gQ8(vz{ zhZFnU6-(t}7>z{)mqe`o}X1&xvSn~iN1d}O`8GSD6- z=e2e^oa{3Vo<}0{q5QAiv_HvlTJZ%Q%%8Jh?A3zhvSyt@uz1?^VkLZ}`F45;rn`PC zA@_;PdT?YgG(EQ6EsU(+0x#_w$X&H2{~NabXDiItME1Sp67rsqez!OM5-fQ6{_I=dzq4qcq@(OZyH#^4{frlsOAhpB^yy3ZH~g8FG=HZ;k58&_3wP zZ%-(iF>Uw^Dztq#I#l9({ly z2aSqiVdaTyP{}zp{u?y64cUHR2aU?7AvT&gXmNMXttEI?-^SmLlSYMQd?2F}Qfz#B zTX`pq%Hy8@*q%e(uCSTiyJ%FhPGzLtf-_16FV|qK?&h!FT=@Po+94BAwwcb~8(p2M zk=}LipI=oo6M9BGDqS5QlX-_x4bdZJkOMvcwMTmS!15g0j~#GuE^MzTdTxrC2i}Bf zj6B-EU}r?FmJzzVcsFamhGA)Eyrj^THgnx714ds+o7sjQni0BhSK;&d#sjm^!7f10 z7G1qFr5c}M-{2P;BW@a%Z(R=ZmFV;1W$C3sk969tNh@};UISUBus!nFPkQtW2km&~ z2#0!Yzcj*QJgFL7=rOe0efA36SFk7jEA;cebx0Ro9*aVn&b!*;>gZE^;V@JW?V1nSQlrObdzhdJ z)LAsE&W8idS2(HBGk3Pr-Uez6dk@yYaQXcwSs=atYkBFgWR z3tcyVKF^6Rj$;)y;ZVPZvvLkvcB;)-q3e~l{cJnzUiz?j7+v%~8%rx7myc(qG`d_F zoGFT+()+$8@!d2knuZUnPonFEpU0;Rs66%W*g9kvEi5-hm!@LD;ivGz_lmn)(4%BL zI_Ur#Uu?>G4{cs2y_H0ljO5_}3RL)YlIgJV7%yBCB%8*ZMnY^6ZYUDMfF3#hu-e&8j%Wv@jeh^{8e;)p0%-;qa>o=*mvvh>e9N3ab~`(G_s< ze$hQRyiv)Mk%va*`!;swKj^DhOPo21uH&561u2li=x+QHG)qpY)<;(>TT)yZEa_hS z$%P*Nxb6I*up|FS>0hY3Gez45T>{xb0?lw((q!>JbggL4@}$A~uwZ$1bUC(qsl`K@ z9iOkzq02)+C;K{dn=+=MMb}`ev_=RNKKE-U1^W0)mgz&`;9qqP74$reyrY{4wVtS5 zn1w7eKRr&M%Tg+)GY@Vk)b3NU~D(7qO)1#MqmGNeb3JC$ymC#+=8KHCqc z9RE_K}ZK?6; zkR#5*dlPyhE)_XB!^0!$d_9o1_OGi7x@x|B6E1{wTb#X_&_$*3Ix-jznXcCTgB|;e z@-Cojy0zVV1d7FQ*4m+1?0UCZD%weulC!YO%)X z8=OAW&<|ZrLk}K7mxz~a@I$h{%$KWCqepq`$wdbkZFR?{4gS4b)U+R6qA7INk6>#T zt2{k=&NWh(`@+Nn?fa+TgV~z1Ht4b~3;XjGUhp1D)6- z$mBPXqlK<(H@|z=!@cZ=llth&t&yVXfOefH7_9f=dC1cjPx@wxq?6WR9p&M-q;JXJ z*s+O|Ja>YeWYDGZ!ahBf?0=&n8r0}1^ei6qfRl^$ZeQR{{g0|f=n^z~p43J5nV@x6 z4Rjrfm5*tGO`aBVTIkZxG1O~>_P=`6j-YGihyULJ()TL;-U)P>vV>55h1p$Urf1P- z!tXmd0c{Vt8f`$2TO*wuc@A3(Hu*Nfg_;A~CCU1=oTN{H&Hv5>Q=(^@{|BQp?C)P- z93bmi)vafWE-B}+Q*AJpf_vv-bd3bQ`1TrFs!Qamq06XV_N@-@+M?%*E~B4fxuowwCVzt-x*m=ThBcD+g?75TYUr}&+)-Kqr8_s9 zDxgbM_~Ex2C=l4>D331s^r;)oa4AME^%%M;AJG@q!>-xY5(RY4ai(dc^hqmOxK>i;Pno)MMp8umWpK zvfRl1aiPAhq8~P^J>$_vmwXQ2>Py(xBNr-%uHg%k5rt&`yF{-ij4rJgG?eLZd`)}{ z7rF}C&D67?ez~N%5W0Q@r^aT%HEPN2BIr6JsPHKdDoOTa9Yj}exXbrf{gep!ioX{fdkR>07Xk z?=K+xOMHtlKe{^ZMM^z@fwiX}??hMHeLlxTn4pe`R4REx34&td2GYQ4q3wa-W;BET} zdc>(;A?x=&uKF-}&*Cr=)A$cvlcfbsM7zyj- z+FIz)HM9KDEDZkX)Ky|bmtAlCLMj}0vOl^DUB0Q?=(6C?@Qs(H&?TUAoTd^U5gBum zL*Ja&T6rCOH>Z?G*3am%%|CK}H_1AQoiB+!+Sms5BTMp4DjFrtekFgTyQ$87p{MRo}m zeeCh`K$l0jP1HOzQ~TI)5nUqh_>Zr^h~07X{^!>5g|2IttaFPXON7`n1$5>1PbYqW1>8oPEd;T@Q=V65M$bbg#@DyW`*SWO zy**^jEbAuww0T+Fy)1N%JY))TfhzR9iMP?!zS1D90cV-)d&z!S#J$(C3tfDc6Y5{k z$By5<_wVc-agRJA)t`3b_ z_|?~9GdH>}88g1UPp-#-y*m4_ew63@M}6U|cZaV`plf88gpwS(_j2Vt4}wQBrt&z@ zH9)=ZRXuvv-pTJotH!kxiKg zx;~m*EPMs)UK9i$L5~PkcH%YiJYjj7kbs_>siT?In5U3CTf~le1vCaqThY~-q;stb zU0+0IbolYPx^=DZVH}rLeb}iC8`CQ;NZ|J=xLqr~;I2A1`zg$?Eb3_|*In$haOzof ziXN>plG=y+QO`p~0?synvyv9Y`%-*GYb6xd&Ix!z)-PahG7Y-QKD=qSB+rvnCUti7 zU1=0FW5M|g<1%aBiLQ_L9|Z+q-t}Jgj(W2H_Kl~n!U?a?gC%7B${2($kzT1o;qv6Z z4rQr)i{6;qFGHfx#ahF{a|P=YyF()&4t%36!TmvdWQZEa8p1l!chD(WWW`Y`Mx$aC?1^%7qs*igrV7*$eiCCOKpVhL4 z*?Amu4UH?jL1&`RpLcWkJrz|-)>8EG$!?l2BIj*_Q9B%cTOzI${Ugt1N&j9abZNfY za+nd{&zaWr)&(7kjVS|hQ22wa?F!tX^vic0DlB~d_a5uQv^%|Z0)5?^KKES2-z7^1 zebGfnz08F$avt>D+7_(QVS9U|r2s$wS90fAFpht+Ckiy;?;9tKSiR88@&3($E*vju zk0tFw&t)q88>e8Rz+78De9gPdvjgXo+vQfkZhUY47tg93bdZ&4oj>^b4#bR#s9c%Z^Fk|=> z&n$XARqUC$3>8Z_7)S8?ZdZaCGhWdEWPZjZ^HUC%K%(DKrV%&}fP4aGk`&qni(~5l zz!xg>TZ+J5&zlOrwo_=v-hq=c;DaESYC4QJFslvfYcRT1^e#E|cD~0Ae692P$3x&37?tW?+ zvgeq8d_FvzUcAY+frsBk&ZzzH`g8MW7U}DVp^-%a>JLi^>{yHX-BNy+?;!X7F)kcI z-PNkzZ%*NRH~%=<8HKvZ16vIy!FO8|dAEX;u^qy3xZkYLK+y;u#hu?pvT(o6So~@x zWRrz>UvV(!ye7+G8T9?aW(_^~yfk_`_y@fHpWBu~&~B(JhYCMuO6$lVyxJP#9#?>> z-1;~CF@DS@@dOY0#$&WOln0)|OG6o4pfc;ufeF;FnCsJZhL74C-uf7@;UbfZ75q!j zU)}rw_hr5qWk^O2u#5Zp6dZLuGo=q&tQeRGz|Vd^?{$9oHSDmd+l)TXW}ZqMfS0w% zgvniabPR9PJOKLn-}|@?K2x_<)ZD?*7n^+8;5BG^qJ*kgNIpR za%n#DQs9S6*~shxp^`VqbAI@ncNel~Z(eO4JSrK-bV|T`W+%_z1a+77o^;=jdT4?dy-csKgKzGRLW3rFhL#KWQsE~x#3M-h=N&5aiwS-Yj&FKi z1>P}g&J{$TZjHXY5|8>C&oXjug10)F6}N$$hw>C7P-i*P_sbyaE3Mh`c`cZkswm?H z4*y6Sn8V+vv}z8M{%mEQtgnWLK<1q7d3bpFDPQiweT&yWJa@x**)G}03XF?h^gZ(g z6wZjQ)`1t3&u-Ox(7-n9?<^P}mBr)>zxCYv?8);?j@Yab2flXg>P-gwr>TGX;AP96 zHblYaGpd$_wIiEKbhvmR3yiey=mB|OBkIyWHSs&Ix!$Pno=J1|5G<^_KBmqc`0? zc^*D>$-Kc<_6+v)_UyDf<) z8NAmM?{ydT1^H>!hf(*Ihv%zl$!aa=$9>;qLr zmO?wO_kiU*=s6cy!GgX8q~@#&gr843O{p3A#NTL(_3#)xa`AZ(>S^2yu={~br7vf1 z$9?f?6E*@E|9*5n*%h8mT<)=I$Y+9P%1m%ypV^+dzo?hP_x^wg7;@+J0a^Iyv3J#I zqF*NSI17;d%@H4lW+86)JaOXw%Qgxk+adl+@M+}m)up1JO2yq zW5?%uwRb+uBKt;8LT3qi4<{*qyl{PvBC*d9<0&B&iA>O~#q&NrycPoFJUKxP4&@R~ z_$~i!W$ee_{T2*lti*jLp_`dTLA}(i%&xdEZ`N6NEqny>4%79)PxhWu$~JkdhrD8v zx?n?kP4RJf?VIssO#wF(|PZZFKc$Wu0uZEdNQpa+&=axJp%lCa_87-)VWN(=va&XWIXs&Pt}D3@H1>4=OODBw^z*k2ang2V%lUqd0wlT(@y%`y6J@m z`oo-X)%`K?lJRM#f)5&QGSq)iFO-t^umK(oaiz`W=$}{(^M+#7=hsha3?TF1 zO+oxCc$o9e-=+tT^4%-)Lfy^X3?|*kP2Fn@+(3`O9PtkDbPfBuHTXUk)i+S&;Um3! zDZmbl6HH8u1g&y5J}C#6Y^YKzI$l>xGzm~aZ3!vFiQIG+*f*DZe%Yz9*UM_c}2T;H;ANFE+FY;huWVB@`WPx#1l z9(0eihmSzQ!!J>w>m9~W8F2ol^4B!@nwC`TjKgzfUJkIo3oq`r0=rUjt~z=~i+B}u zy638cv-;uh$a54H4prR?A0?#(a}KciUus@9_$j(9)E(E~vN10>pswGeR{7)b+aTj- zTnD~kw`wT>1$kWGz5-`k?Iy0_z7FkI8ec(1^AHXXcwH;iQ>Xx^m#wuK;5T3`=w<@S z$M#=KfX7xog^9}`HM=*05u8*V6e06dz|mcPCpjl5Cs~nwW8CYT<$mORwoUH4;Whv9 zU`G#m|ExHoy1?Hmb#q(5A@Mw`UQj2YGFA~DXHR!(Q^EOs22mbxI{lgY6R?@ziJAzn z{5Ahle5rkR|#9%+AIK!1*v-(52buUQAy!{j|&|LV~cp>eZT z>LqaE_}`mH!GhIdW{#+Dn-t{B1?E&z>q9_&1}7zHFoI&qEdsA#w(l`gV8>wp2#+H6 zH_zYnPVhK8^YDu!c*mmZ+%$Y&$ta3@A$Kg^pIZjG&Tn;Z1rHhpTpWhqhKQ8$Lo#H( z+jkG3{*_ZMl=WcK$cp(^&~>PVpGN#7heq81YWKoMz|55b)Lm{9m4{d~;7dkA=sAQfy z3v6R1=Yz1!rZ6&J7=!~}#G!AZ3o6BeVB@yYRow9TWZPw&jLaWAk#vysjoms_kNDIo z=IsFwn}=Vgz)Swm8eKimzji2pkjxjoA1#I8lCi{T53-(*FG+p^6)s0)UV-0+o?X@> zAXEL2)h~GT>AbsY3ho?}cishBYF4z7e%(7rA0Gtnee2+E1HRh1b9Mq;IW$#b48!!qgEM0WI4)HB9;8U`%~l;gnGyH z8|I(F=Tc$Q?aRpHLG0Vfd=76~QsN}*W*lXBH9QuBeR$c({(Ce=i>%xGWdoCQz_Vr( z7o_18nkIL_AAD?T$zuvHo~MEezv0C$!nyR7c= zR}ESDXRuW&7_WR_R04jqVO=@W=kbOPUsd=V42z+UhDW)=)T_q zA-fvhSkTD9S*ZbJ@rWDshfgZon`y!_Ug@iw;6u4JLCpYDBsQsDBF~%Efsq+LA;LZF zE+8e;P~Z(&kMhbXhGbp`26M~8`z|yaw6zgEGPHp9hXSQo(!87PZ3%e#@?wVYT3t z%gHqIp5@tZZb>433fnK(AaC8%*HH+*=k!%3^WjKg^mk|Q(d0bS7joXQ6>nb#IW?VI zc;Lf$cTv3zj7?;z5CR$Ew%04eht=l1WhA(2VaLY>co`)YiRlu*^kL&skePYy>bvlI zSAD$G2ei62lX+4V=ibhTo+sh6vCrE$pFD4`CS9^#mloJ18iA|KOSlKXbC*^ebjUt< z`iT%ZXM0x49Qg@`i%V5!f!FvLKd8g!Mzo5?G}-_5WrjTiN0cwpy~23>W0PwK;diu0 zW6LY}Oc`?OTcBSVm0zvJ!N@LT&~G@XW;6Wuf4JKr3?}oeUlM}HdbX&u z=RjA=KCg}N8TO(uyahR!CGGM+KWXXE4EV?z2xc{c@9XUu1=92_>a(>l1TGB=jAFG!fDYKw)N}#9~ zcqMA?vogHIxw~0{HKofb<#I>LJjln@TzwHIem&jU^;$kbcE*d6a;GYjiY(;Zxiby{{1YKWb?~EWGlW+Bs%1 zK3F@GrUkF_ufD9-2W#x)xaHt`d1ZOuU3j_d>9_EM&yMT8=eodn*3=J7@Ori*WQCEO z3kqjOZzBiE`3;fti@4D3Zdv#!IeanwiL6l~HcjS3&)|MxM$|t+HKdP4UH+XDJVnT< zPud;gkqgdtQ`_Oy)3;h=Cm6Z=pl}!1wGwuJ0kpOgxP1&>EPrUr=7`0)-Gaqjt9@SsT^JdPkAvq z$ry0E0>xSYJ^@-W%i-{SCzbg41L#!|V?@>&Q|6fZ<6xm+PM<$~JxbX4xzVqLmVR${ z@aL6ffgJcv`xSlv4}OvjaYZG_M_KsO2Q|^Rw}HDpz+=|*zgj2wmO5-4oPx*E*E(qw za98VjMqaS=f^Qc)n6f2nlRdn=D+T8OZa|U0Q^CI-46TtE@3WB&?U|MDC#h71oxaf`YcTo-rJx1gEu}&O zRq#C2lTtAY?#eSOUn28`&-Ue7)U(UF{7wblPBMG@uOX*vYr7|r=N?>sl^M)Q%82TN zN7n8D<6d|&_j+!kM^>Bm(qMy!f8TxiW#r9%$H!MA?=3ZcA>hiLCp#=yc&z z@N?twEU>(x_2yo9X!E{1Jq~uNUc1BypTu|P1bji=Q(KbUz;|wqVk+oc<9}b+Rl$yk zs6ygb9FhOk3)HcC@LLf5%&p&0RRz!Oe5Lx{Wc_2AJ{$)6pHEqqA?N5vzk+heIcv^> zTOaflJ+Ag1EOMs0pC|R-nDxZNYl(gPa0(b)yf2{(eCEm_T!rg=caypJ;UnF}^VbPk zw|d>wTjZ;c?bvd`FV-siIpFt8GNj}dcy8sVWGDQlOpllU1IrvdOlX+@TSVk+$bQ!l zebzV>w3=~y@`60if!{VaK(6W2!y)iGE0gEig`Df*zfl+Uw5;E$b7TBlg>8o;y!1uY zFKJ->2vydRAK9i)ubAvNvl%|-)!>{g{WcwVRb4xfMfSr*-Ps8icr^A)XSu+y?F_?} z05$Ue9eRcvG0sul>9Gv9-H+KRf__>~{N0g9)}4sKr~L2;*QBmGP2NZUVMp>@U0PiZ zG=Ox*lR+x*l35Tv(g8_TMe{hi8mb%wQZm8CV{tX2Iv;b6>CLAO};;|MuzZ!oRnE zA?Kg{k$46$A1GGEaoyT;U#>MWo8L9&NjXy1-}s%mpA{wAa9%f zUhph!lyVk;Pnu@iQUmC>tSo*WKF$g|yiS9iZX!N4WSwd5*WL%eI}V+3Oz_DV)mq9z zu8e!$e+qfKi`S!Sc;vFziM>?&|Ni?Y<%<6YpD*e>Yc7E^Jkj1&puXSWC3$$wmWR=Q z1;5KV2yTEEYaioyD)_a9=`bh!I4`P2rhxRT#6Mmozf;N%jY^T!eCG46R*`vIy)<;$96l-6`=(q#&2qcW zzo5)zyAgHx2oDRd7lp?J1Dok0@}4*Rvcm9?-`8b%60B@_=Jp0GRR6}g42q6^9m;~= z$E10)Rq%1WVsND!6#Nr5R0RGX00030{~XzOJeJ)9$8nW(OSJ4{6^U#i#2t~5kt8!C zNg|3+cA42CBUw>BijXowkw_?Ig_4m?RHS75zUTMX`*m);T%YG$=Q`K9J+YGPW@c0h z^%8rN!V)ZRD`KOSr%=lr8q%Vn>x+u>HIU+C(7*oxh1yy8vM~~B{|?*eu0WycG4mfg zq)4HT0i`c3mw0d$@*v_?yu|3Uz%U{p=*XW__a3 zTN(e3e>U+ud|9lv%}a$s9lW*4C>Y8l42uPzYlNxj_cAQ_=%ns;h(Zn8pk{7@E+y$c zJ2mw5MLAa9gWb#Vdmq8pAogWT^o30Oez^>DYcJOH!=tG>+HGbv?Ha zU8+t)Hgf2xThG+#40UL^wxz&tX|g}l(Df!{9k(5nFZERJgM##ovd7S+q}G=(37>`y zrHZ1baF%P51@rXND6l39{<|w$I{ttr*mISB+pp*UaXgNY$YCkh=z*?7(;6CIp-;Gii!!rj9-o`i@Rt3irqW6zqE5cO6{^X_8NUgA4N;6qNAqMpDLt#Guj@ zrhHTM2?yMnG(qVB})!l_+s4rAzB(dAMZf_^uzvc|&RS>1xQ z=oMb%xnc|-DE+-`3X|7u?mmyswHf;U-01TVxAAR-BCeCI{qR!!hf+WE)tnOP-AmSC z;$qHM$ZSz^QyX3CZaNGnA&Uun^Z-8R{?D{h5S_v5{}O)TbN$xN9meRQv-51>g+40Z zb)sRp)Y-L@@c6{~sTB0}cU!3Qpod=NyL~m>WV3on30=uYm4ho`k$$AWEvPp@eK86v zo-H}uL|^9bdV@stnSP%t9D(BjcJeu7J*FLV*$Fc|z6SqIr5BjXCl%M_w z8#SjI24T>HynF$4`81|oWI@+H-G#kmJ*tm7-6PM7l+z83Fj(QT&vFHByfCMJlPfz;f}U*d zo;6BPp^c95E==>t|KN(A-}Az~(NHbaYVkYt_;6uH5q*Uk%hW}3pJV(-)6fyiI$3=Z zo>vR6nuLs;HrATxI4b?u*Bu_|Qd`i*{0L@L1q8y5(;v=}br{J(uk;?$P_3m}prhMI zaZdELa!l))?@1CgZ95Mf6b9|QwwAstt{Vt zMDHgL8NY+*aW$Kkrow7Ij&5PhU$=*ETmlTUwd3iBf*U8S$DqfHh0!JS-43|LdKi6< z&x}P@VeNm-gA4F#U(;J#^r` zJc1s#yIc`u-LZBZ*AGM2Amx()xz9It$H$SbxJxC6?4diKK~^qwqTaZ53_bSAY6I4A zMlo`587hPr{FcUiN}9?T{D0jQw;E={Bg_Z3%Al*iwR6ulbgX5t8dQY7C66yEprc?r z-3D>^a>-211O{&&uG@$nv5z(p>X7S4!oVLymI%AR+JeBn=u$*ecJW;f^#Cc!PW zbNyuBW>%MeqlUgMdUZ@f@YALTlg#J}8JwTjB=6&Q7T5lf{ZPni?gjdmioFbZ(Ia$9 z^VunQIroC+6f6un;K+%d;s&1#Hz+n_HRlYQ|J}MmI<@8_ROHdcVQ6)r5V|orJ{yE$ zb+ZyK=sVA*xO*BhFkX38jxM`D>At(svomE``W~E%{<<|Da!oX`^+3B@W8cX8#57BY zsSy6$e|W=VI1-m6(2GvfVfS2XbcH2xH_^drYM@0hjL4G}eF#@n_3rDVOX~Q5pcQnU ztP<^mMtY7N#^}mY6?ys;`Whv5x4=}b;i?nps}#R=*b?68w2mk5mD#+P`N=TzP>Rwi zbmg>Hq&>Vc?dd`ZNI2l3*z3ciJ0 zS-7!oBC-bVq1UK+82fuiu{;`y@9!lr1K5$@7P%QT04Q|2{iml zS$7$ICZ*O@9dOs{ga}LY=xiwrbcRkJAHKN?U=PR;A@P!{yKXYiePLR9WgAx~}m%^x(`w zE$t9iC-e91Sf7SE97~J5Qwrs$?r$OI4Kx4c338uDG&n!4M^EwJ?rQSf3{9n#6+*w4 z)yu)^qmIq!ST8efGehQeU)5{UDJHFC{*}yUS%c<9bnUj;V7(a~ zVNZDPvB4tkPB!v<$7<4w3!-cJr&qu=s1W{>F&-w|Z+m|neOlAqt8P$!g}#12y4)2n zM3d*mKrpqS9zL^pC3+j3{ye7hYjJ%}A7P(GjAzq3det#b@jY9+joe4K+F(~`5k%eV z4c!(FcrU`Wo$cOv=u5afy@3Hew2ja9o`VaT-rqjL94m=gvJN%(swP>XYwYK(2shZe zR?IyK%1Ye+M~@CpwuMo0?owS`K0=<8QS}BIay}GneD#@}vp4m$jo*Zpy@zE_qwDH7 zS#dgYF5ECxO7?I2NT*-qexGaS6}X4b7p2a5#FBG_j7|y#ee?lQbf$1YMLyaGDvyTB z9Yq&swqhn9yyg7U>KJ^(Q>6Y4K2A30=S1H&mCRF8@bB!$@nrHmYr34e40RS#C&>D9 zU~ezgfC=@Rv-9C`ZIhof(87HC#BOq*H|8t2LW`IQI#%>B&lcK?K#l$t{UdN)3-x0M zIp=gS1aCptO9!SmU&#Kwi-V&?jhug(_o|~O+q!r(7jECr9TNlD=SCJ7&?O_{9n*?& z`qG-$hcM>Q&x*N*KHK?)c@cCNXnW<6d2E(on|lT26O*m^(bF<-$9I-Iw?m=|I%NN; zrOc9jD4&UO4SAjmSWl)-L#cV0O>yXRsVem$^VawFT&)_k+jZSOg`Cq*g+`EdnZlj$ zZ!3Aks?O& zJ>d1_r|IN-3eEM-z8ko{qw08BGkGq&m1oI0(RPI;j}|?Ox$Yat{^I(%x>ExkPR{Xb z$$TYL#EFlS_j5&0ni<(w>Q!AAp&eypDH-Z%jc4Yei}qwh+A{o}EZA=cJI^!B-a=RA z=g5;+A!lT((LA*0jD&AU2_Gv-=Cpkf|P@JEe%p-sX`bP%4S6Fu<=gPNw!gYZGR9tJOvzK^Ie$r~eHWdF z-*p|RLEo{EtqBUyRyw!i9r^w@8&bO!*DZO*m;Vl3ZQMH3&v?kgoT9W=N;S9>}`Gk(tW z{*PTc#>#>QQM=Gnz;E~YJH{RQy#f^&*T_FeC$jJ8>Xt^I{mn|}GBTgtEb80w`_ee> zOhm%Lu$wydaFzMjmvZR!+0>i7zciJ{?~rw;M-DRhy=!_OoY_g%&2P#0L(nJfiCR2< zpGk5|X(kN$9K-lR6VL6@_JQqM*x!X|uJSr$L+O8kOy=-s!EK{qSi1kX<15ThosZtXZgO62|Mli2dQKe|HzE7l-3%kq=TKIQ znWqYUp^2j ziLS0y<{UG4?V?xfKA$X+ze9(P0avDCe|)~a zJDbKV6KKE5>dO zVeG9(=WCB1X;IOD{qTEegQ*BS>6P(>51K8k>1`$bCb<`)G|By6*F@G$-Q=guy6E&+ zbxE%y=h7GKs$~CAdM{{4&MO}0u74uyf5XhykWDZmlOg5|c~8jrE|UEtkbckZN?hMn zk1OvIJX4x%(F31di+X(m*UJoP^d{>;!Ko!P8)LhOPtUeNRp&c0w;}&*Z+aBGFh7_h zfF9#xHtWYR?&0+I$;Q}rommD8`d$g!7%yRLzcX`HA6Xo@;^D@`nD787_T%(E zV_e@@=Q*PsR8ZW-Y(jdpr0K26dcACVJ`d_SI_Z&K&WdvX>o8H?cWpD&ZWP>D2QOYb z!$r;mQ3=$p1+vdkA`O$^=?zlMH__MCF&2;kCz|O$Y=wRX%nNl;HFfSzF??|CMtVOq za58Uu1^X&|4-BF&qryfe8Ez9vzkL}}+j!X5qv!Ol#%`-4`sE+l2QBUUJK+C*arH<0rRb9pY=uSMP!o0#JIqRVSelKrS;;8}+lu5*(oFqJ$<&jd5eUC4T+k#9@D z=OXuN;<8}fV?AamNVk04un2O8G~Xicm#I6VexD(aTI&G0|7lM{{y(o?-}&B>^}Dsc zy@bpr?$Rlp@p@lVq{pFIreR6)rJssy>Z|grC@*mz{^qI01ddO!i;f!u9Z7k0WdU5-rE)qeqViPP2Sh)dp&-W za~bvRvm)~SMNwx+hG;EmM+58wiTe`LHMPj}TJGaF8L)V9+{wL5? z=gLFFfSx=>-H|)+Lfq?(`;X$^%{>466DIVX&SWRg`O>{A^7kgg>YUaq(Dqx|M>3Cd zQIQJV=&{&UD|ZFfFlJe9L)ZH+j*>Uvt!UBCtLS*SMuqAN&4$dF_P{{_+qZvVg>B_% zDf*&5QDkY+6>xu3tvI@9BmySK;ISc7juq(rs#nVteJxZas_;?r-`W1o3+CC3t2^uB zoDs2kFL}-nFGly0{V5@|ri1*wF@jSTqmf-eU-3>}_Ek9Nvq6~bj|Vx=_(_m+ zY_$fp1U^`+a4iV7hChC3g02<)>+8t#K=aW?IUarURD;Ar=&3M0zdn`BA7xX_E4WKg z_1!G`V(hoE{0G;q{k>)gmYOO&`GQWbZPnJkdbp1qf(OYt_JrW2;9h9F_2JRGAR4>xTmQX z^SFI%%x@l@SCSM&V$oHxB}b{6oTs(F9?pj2%q7FqQ0QygIN4{o^%4I!X~; z%U-%R*WmYz0>1|I<-HiXd>%blXCEo8fe+touj?mjIy;J>@2xMRV2=(t|F|-I!`S_K za;i3Zted7Il%e_2(+{ZVX{vJPX3)p}p5j+q1E+Z0Ua~*|31jUwxc=Gk)+6LO9z1_n zdlcipyVrIdCFhFwNhfZS=S1(fl`6WPo?#beL>I$C&FL_*zZDFpPD7@sQTsS_HDzU& z7sCA)Ty)9&z1$#G@E5+}({SrRC%uDR80p&-%Er4#kNn;Cp(hPI-eP*J3py#4Jg7!j zHjAaCuL0JVNNC>=j1TWZ48G*d(!GkF!}?vCjZoy#K;&-p-1}Kt#)}@V(4>4zIQwRQ3=Fs+wH;<72|Il-67;00}-}|7eH~h8yJ4lh5Wl=#_|Mj5>VRV@&&V7+4_G}R8 zgJvT`uY=H6=_e8Y1KQcC&Mctsl-QH30Cd@kUNIL#Pqeq#V;T67rl86VT>;0xxQk%^ zZnirFQP5Q;I>l&hh;?^c=#Y;Q?#E2dUs3clS?AC{hU0IeCv(aD3}c%o=NGlVm+HxR zIyHGzWEFPIYz$k0!xM_(5$H0Pob0cHOv0y)ywUY&u^>$gT@i9uvV_p(S60a)gr1YE z&mOnJ(>~7)spv9RN^p-u*X}2?zuBPtNfY}PXzx+>Iv#x&XWFa$A#M8rWA|}9S2Ka3 zm+^ZCSMSPk;W}4Ol=BUf_tjk)YZ;7l?mc*Voa|@E;uiK|e1z@v{9F9oqoGD%3G#F) zU1!D5r`TD1C-C$0n-%if(0480ufG%)aJRNZL7~yVv?A#I9{>OV|Nk7>cRZE-AIEVt z974$`nORvOE4w3+$8z z^*o>Jy1v&r=k`ctaLm#tkr(?u{@c(aku4;%;^nap%=*>(6jf>}DsVF(k(o4jyC~5u zyKVPwJwYP7N|dPB>yXHuI}$$^qvvXi?C5k!CSxwskY0yDa% z8T7Rdy>kYBuC?@A+8YgfDSXEl$CZ`-;IkWlmvVJ4X%CM3jq~B-d{pjcp8H$0;wiJx z9R9nFXP)Nks7|tzh!lRld0O6K041%lMMc0j*F5KY1YM+IarueAci6b*T|SO0-W6fC zp^bmf87k0<-lE`WB;okfr^iDs;rAhv$5<@T|JpsO1JHh9k3uE<-ktOM`QNC1$na

B+Ao_r0JkEl1>g)a5_u<@Z~7pR^wqBXvrn%rmz!?VBsD7$a@1Rp%1j$VT&P^af_ zBj2E!(MH*Q=0|K#B52HB)Dy z*3BF0yWtX1n^VogJf>)li?^e@w*ETFfWEN(?|?Cys^>xL4u_hnNNXY1!7V8k5m@i~ zy-WKDYQ+E6UJ9Ov3ha4=>r;sK6Fba}Lohww7LD3Ay^$mCmO6(_|qo_QNKvL6?61PS;qb;;=D_Lu`Yu5+P#B*P3U6#f@lmp z{g(N6htMs8gJEfCmb61hIqLDD-M9h1qqD1V9>m;y%s96Yt_*UR1xnGuQ#p^HkE^G5 zIl#5OM-hSOHgqN}E*;>O87s*Nlq0-;BCqL?TQ6`0s@hJnFsl z-(}F!x^0`vXwoEI!wb}EttdhRzAUp9)jw!b+SyAF;M=7eyIh0rKT!VhI9%dCS=~+1 z>V^GRiFuwkKXiB*70@x{@P%vl;RlVsQ7+zltiRBnq=gs4aO8gaD)9qOxeM>5oUlIp zebqM)O`py^Dug*+4wNz0Ae`>@3%u~0nIq3KmQkzTT>4m7qP!^9AVQ5f=47#`*1ZXr@Eh4 z4<13@e zeBCsSl|)~hGiHiF#lCWHVD;Iq-BtWXL5nUKMa-m@M_-}DtRSuWCXsM0})Z?#Pvt(*#8iocd0qs z8`0{`C7noAcJa&-EnM~I`Mj*)YK&JL;D<-)Qb3#;N?$)yYki7DK9zOxVwMS>2Z{RH z#C@a~tnhgXoi^HXM*=R%a2GE=bYbfN#|kRzmn%gF-*$K90%D&FRb^0cf=lYpAGUME ze#}No+C=;Ht!(Fs^BV8f{SsAsyW7l{xNk}SSk&Np$a*6!9Iix_xQ|X)Z2v6I-ih8C_!e8Z3cO5l|37<7?t-tW%{)sN^AkvM2-HGHJ2=$u!?!+s zUp*hb@i*}+=g2wE6;VQ3PI68~&trK+K z4o|CwToV&~da7y}NvN96H!m`LFIUZ655YxuiYqn_om<$j{Q{p^> zbfGd_D|U6$y=X0|XxJCN5o4eBBKYz=@2z{B!F^=m(K-#E*RuAFB)E3+cbyT%nqMON z>RnXq!pRTB^V#He&QdGNJH;G-4xS6KDzAy_tVE0=!v`LvzVa4z9Dh3T-{23dU3s#H z)39DQ60_5WC*Mqdtq`rOs{68vx#f|SJBb?1e2(aXk5gsiK{|ZBnYCxx;94_m5ga6Z zKJ@~LW+ZaAO#3|@cvhs1?~{mq&v=4K5T47<-s$n^eAZch8O&?1Ja0k>nwjG#cox2I zmVJ#bgeTaN+8Q2_97_K0gfo91pEx|jcUOc6-xzP5#%XvWBaU#Uqwi*^*ZNF|eT{DC zBe>3Sq*NTh+_d)W$k2l8kD}j9G+YIIe;?PNwm( z+>a$@BrW)ME$dqNSYRK#8)f?(PEsWE?g03vN2*PO(c&H4Cy49r9OLK4KFlwC+YzT& z!qu<)@fW&8`G;*1t|4)MnH}&5-r*%N!*fPzZOj;Jp5BAnZCHl|+-E%r*U{+1evxod z+^rg$v--{x}Mrxyp5Jtn;Tw*&pxR#Sphz0JN|Eh@QFF^UV3&8`@?{5wJcoD zlr`7Y;QBV~TT~7g<1JxP0nBYz5KB4nTv&^oX+I5Dd8$t^I~;PpKk4Mrp^Ixi#C67H zJg)i;_5F10z$>_x|8&u*!R40XY#W5OU3jK)3BH zQ;pJCjZ#~{Rr^>qo(avE%oLEZ#QA?wTQ~q;kJV+%4)`d#6)wDlk6dRd^cUs0`)cSp zeCzS58isHfAj;=JHso!sf z>&hdm^$L6jm6TSpaILSJZ2v>tr)~G1^}#1_cugf9?f)3;u>@c6Ow*@%_-xLQsehtD z_BN9r;W9WR!t@fZp~1g5PQx{C{YbM24fdOi+e)0*us5gN;JTZ@=k*$G^cb@YfUk^v zf@c4D64^(aIkXb4Pd<$2>M_5PDzVfDXi&#H>rpsmJmoBi=V^8I!`@+d7SFpr%s>}R zTnb*o)x$i}39t4eR?a}I(-giN+2DF`;ahmpjed0(qT$E9nI9O? z)#LXWa{`@q|9^j@G&n(&b@uu&{ynQuU#=HkA9IRP&}F3Y6W@ME)0EZ>{>uBW1j<%13{mdt&a2(pM9I!6B3x zqnSm#KYh?~C>Ax;avG?|&zFC;Iuq}!EBacm+(dO4#9Du$L)?S1o$v+T&p9!RHqUR% z3&(j#QD;5wMqIb9{@+QcIK#00AUr%8rYVg>1fB0_6%D$At{KGq%9K~>4v#OPyGjRDG4jB!=dUsrq*eKTWDu={8 zh|f{Xeh1&8YP;n9vf&EfS=Ba;`mEBcp2Qr(Y3@8!h3h|+wp>26K=sZEbGRzL{0#L# zt*lDg+(Y}LN*R6-&!PO7B}~m!#P`PKI(^xEe>m*#m{%__-+t{`MqCG z9iKvbZ{AepfKR9-tZN!w)K02CLHOue@rf3n+hgwTGJ=bZDLZr?j#j3_NguF2op*F0 zAL|YsqZ7I4N=~!%4$SQbwazv>xS~$JYK=w3a@zLJqj}@+d5H6C82Lr(GqJA^CTYHe z=WBNzgB_~OO(hnAIficY=5@x}vw*%(0zMv*ISEnBQ6o}u=nH(k&61hN;7ix5ijalx z$8_BL9k{>J8@m2f!9_2nyJQSc@`&Ko2I9WzRGsoRBtDPsZHhuGDeAAhg0nxhz?gX7 z^P*^zJdXS2WU9#~CtMto3oWNn-i(f^ZXBN+XFg{~I8u8LnZOllRJ4zH?l{Yo9oI$m z$9eLz;S&?KFEPdWolT9jN`SAlJM+I@^q+7aFBN>Ly|xpnxbNv!_MCkV*G*b|3VXEA z$MNAYxT@2cKbN9Y`Hw@0_hrG2xAZ_0xbD^crgFqunQd?( z3Y|FMdfOYmC_B%0MQ|n5vWO<({F0>QbyDCny(QqJ4_Bv^l%){%O@2P@5Ls)?o!w7K z1};%fQTJiuJeNM9I{{zxH|2wk@Rj-Y4-os|-@$jrgT(u?+hJ-Za5-Fhrn87r$;(Ek z!54Qk*lHZLNZq0U52l$%U9FJ27hPtUW*8P@y7j0Z172y9{T(hJtga+O#_!u zmG|z0`1>bl7>-R6?|&{ZQ~ZU`HPa$z6`tQs({8?~fvH6!1?FXY{a3*IWtS{T@MYcnz}kk6jq`=MlTh4sWft#vZ%6FhH^l(hB1qb#Ue@eS)&bfp1bu^vD6 z-wYQ#SIc(hWuXo`cJ~pk*wpWbC2(Hjm}5es&;ZrbE1Phgvk-r`5A%z7x>30eu8M4( zlo-^5r8KApKBg!q;kZlKXSGK*&cJoOAis|e^V7SM+eSq^e@BWFdr?L!EtzTfnkRD% zi05wGHldmin4jcBHTGJ#d^5T4<)U{!o+>8eyjBlIutdSvmVWwHEPMrw;k7+Dugt3w ze?8#aLz#5I625=pHHItjDamt1aASU#=IzWs!WS&Mw7nL-{@#mJ-SFx4_7*bRlgKk( z9mZbpDKqXT6ZeNkwzDhoc{HChJ-Z$*v&u7_r{Q9uqdB^aa#r^hyn|=lV0?ctnmav| z#01a4{>ss9s0%rBIR~x=*PZ@}=)QJ_@HY55dR(9P!k6i4d~!Q{a{_WUD)8-;?)*9i zAETH^brF0D*6+ss;Nvgs{v2b6{g`*{mZt-r7bpAcSK(|tpKfv(bMp+#yY&+_cwOCa z2`-ZzhXSN>o9aX`mLYY|8J@(cRMZR`7jY=xd;dPc`qz_G0*c+}2V{hmU6XtB?-n z$I@E*G6lZ4x~peDq2?~VRZNE zf#Ejz4CL4x`%!<*t?HKWvC6z~Z^j&z{vGLl3{SrMF3}!%3VKv1F2EzH>vAIq>mF76 zTRvF-$rYs@f$z{WzxSTR{!-h^u^aOnrM)Sfk4}jPK!M!bm2OE;A_n_%#R$loWcN~@^!jA4a{$e zF-C0}{pMb0{T5E&{vv@#@JJu+w^2p)B9|}Mz_a(;Uv7T%nZuya6mk8nSKgL{i*slH z<_(mmBlV*hF-MWCf?`LUXZJtHx5D)#)UT}*>ml3qpeOLPT+UuJy@KaKl$rb+G)S(o zpbNew3Kh$LsH@~w7Gj^9(PnibK94#bmc2hrJa3)O|Iop_p6WWQ7~%NQ!WCLSF)zjZ z(l10a-#wkQ#LuN`oEUO&UX^&mOZLDsekJC!DSRT6&j*O}>wHaHjT#;fvW#~kd_h}c z1miKUUa9YC^QhbA9=^=W#J*Kky9{5r`YDNgXIvNlg8lWF-&(omiW%njF|K{PBYehv zH}mE&zna|aHwEzBzZoIbfVmaEZJX_d<1N+R{#;a`_{#@t9RFX8S>Gbo-dQG_N3oWE zy|Fok^GMaam}`i2fa`ba&p6M8Y=yK|@U`d;P!Q+$h<^8xXK=mjvT$5LE0}`#4d9|n zzRn%uit}a`8WQ13{Qo8g3R?KKNY9uN`-^$TBVA(Oqqy<3?jPouEEp{t2A@QBa7R7n z_F5tJmIID!>XCQlEatcPU&V$f){IKkj)`z=yRZ_v15Ge=wrz%U;AMe{6mi{M&sly> z+_#@nEZi`+ZEMv3F2hB!TdFDzJxx7kWafhV`SWt$0$g>W4{fwPu+OkRj&F3w`~8hZ zk5Sw|Jdc!DOL5;bTz%4-hw|>wi2aAIU;A5Qgx|l?nWas^bv$uIk{pHR_dE@qJxlD* z6qb{Cok?$~c^B~d&Z)ODGvIZVHB>z;!g*-ts|!DjwIVxJ9v6D+t}4fGyuP;I`^0!K zf6{RAZD+hrH({PuD!iVn4#Is4c%A#`&Ro>P>sq%Nd76Uj4rv@manFkkb>e%A zpodvDa2dRDjG0AKv;`&9;R;q@|M~~jW;rjif$Lbn(!NX-E>@bHSwIJVlx zwKBu!Z7LZg3C~uGbuJe4;wy^DMB=_G7A<;Dtm!we>f^el8VSpbhjWxWqemLff9@0Z zW^iQ(^0bzrys9GUS21sm6XwZN#P=)d(+$Nk$cIN8!^MTKp*oADN_S{1n%TlKvo* z3-NuAm@0QW@%;ePeqmQM;0b+|AKKu3@n;!)=^pp55uaZQO-5#q!F5!5zBZHC-y>f% ze1I!E_d$d+uHXA6MQgpNb0j1Eb@(hR5{>e4e&tIie;MG2tk z%)u8%=@$JMZCsES^oDQccoP2&%x}+~W1lAAr2auoa)E17;oeIhH0(=x`$zcVGG{f5 zQ8N3Z-M*OL>vDsHQaA^F!Y#+H5YKz=lcsPj%_dF=;r>59tgNl%N<5cKU#G#PXC>w+ zjS3xoN}`9Wc8xjt3p)2bIT-J}$#MJ_-H7KQ?SCXGVqbqiReJmuT>A{(+)_gIUiB;o z!Y531C~AawF7n?fGlehrY1KP-xVj|Y%hSNMSd!R8?3*j4d)=fkKT@x;ZWH>?x}Px@ zb7bYH=+QWh=li?w z`?(*BInHHF_9Uw93B@nJkWX%%F>P=lQ4bwTJ}c}*qAFGCIgKI<_2=e`oJmwk5jOjW zE+lGoa_ZxJQ=Qj5PTZ{zVFiLx($gM)VqDm)Rsi$mTFJ=iq!ea zJDq1oqE;-tYYB!gpsGu38ENUvs47FaZf!b9hU?ajGG_gABx;nc2j4$rA9tNVHe6NP zKaKPv8BL7@H^Xs=15?7v;_Cc){~C2%tvKFXTQ>L2*>W!rg9!8fMRQygy@ z0{Z(LJKZgad4?;;U(|yy-gtwWB7BraIZ7yc+(#1`)dOFIDJ_))t}A;PZFJ#j^?s~! z7-`(HqOXqm=B^J4#iK|1;STaX_~^;0dO?>+RKu#XeSz>$zHfK&MSoMH>UYngH(F-p zs0T>-V6TNT!uQtgOekEc5vgVgaJiVNE0?1;<=;JFd~jWnsh=2wbL>@7+aU5wN1Ed= zWE@%anm2m1;T3u}0iW`6oguOAJa*_Eya1O?!{;y3$Oi!rx`WW4-+QBQ0pzd4*(Yb< zyq@_pvIfqB(_Z#3;q&_ZTehF@W>=+k!M9w!$nT7KiX|w{7{RrFkF%KpT$TC9b%c=p z-is$|;iK0N{_iC+F^J|n4SJJhv`{$!m!YrpJ2zytf?)GA^jJ7f4ch>p_CHdT99%+K zdtdbseUig{o6+Ag%^$;`@U1#$x@W-GSzuVA3|~;HN$}mv*srwRW7BX(I8-*#qBnI` z-ADoC#m}8NqUdkEK2gXBu91}1Q}f7^4gUg$;98{I>=B1cdQ9th0OnhrRb=Z4S72M# z+yt^-^3Bo>_`ayCF_W?Gt}JUfcOsuz8|&1==|vH*+YJ{hJ?)wjQfM(p=n#AjCgmFx ze6X&Hjy{}2`mD(RcgB}Qox9Z(5(&?}#dSJe^q0KAu%!e!Fcn)Eh}>Q{Tl^J1dEKG` zRrr4P#oeWcYcTJ{(?&Rz>XcMu@w^am`JEGdELn68@8H`#bkaHub3TzcXtw~LmeA3s zQ|NEkvEY}o=+AxFx|?mP2dyH-n;(7L zK%B>>Wn#v}KJNUu%O7*@QI5{J2p8?fLAfVbXWNA}&%efVJ=c#1JdA{C9f=>6b(ceduC3Vb4!^+AI0Y;Z9D6pS9bc3&EP zkLMe1Gt*A+iEr!7IDQ4^N5Heb3iw{cFtm(Z#rbsY#?{MkW{jj|$HT`&ni~2|I6Yej zTG8W=&~R4beD2-X&)Nc?Shc!9H~Q;~+#0n2Uvq-}fjOkDP-P^Y_dA<^8-~B7s9n3Z z+M_61dsJ)B)~F(+YSrF5M(sU|+C^Jct0-c{uDwg_Bt~qB9U}2Mj`u%!etYiEeV^BP z@p?^QAl6-v2+Sr?)t`koJMniK)h|+gzGWlI>xBsi=~J559x3C?lqKu>1v1{~CJ`2v zoo+Kj$Np(}+~rXBAwQ*J_>AJe=WxR^Yx@B2JHv`bcq5hQ$)|MWDQ<`knxlLhwpu?MZi~ZX`o9gv z#B=CpQknEP3iS3&C;1I7*tzvapJh``*bXWWi+gR`MCkU#!HS7%OLPWe`OFed1xBa1 z)74T|+O^Bral4hiSUQ{=_;_%hnFPKHvyC?g zM{zJkzmq&icvFVrcu1MOG3T@hd7)7I?T6kLFJ;Z>AW~-E164{@x|W}5Tcbr=N{oNU zh{uY~Ukf3ZrIf!7l(ZbP`L+bXf~6&0OU6mAe@|ZfJ%wtvD)Xfb9i5KL zXM29egss|9LTw>#IkFv_fr@AK|xkw4jpVc4Pk-rUsJoH6EqYQIb%zvhZWyuqq$HJfFO6ilv)>#0! z`5r<*VlJY(nC463f$7q&Ue?+Z4)pVXrn3i8hVrQS)ZjCwM@-dkh)W9)S^isy1Fjhi#x}S83v>(pzY?G+%G&TVugjSk(0-1VzV#)L*{VUfSDkl zXP;5eO#w4B{WAW$Hs%Nz9f>jAJ27zK1Q&ZSSlLC7woE4q6a{i7GD}SN<>LE;yYKHC z)^rcqOMwK|*tahEj#6l+6+wg z7HWDLzks4hFdIV{>$x)9fn#si_?2224UWZULQ5_FD(hZYK^t`+bE) z>VJ`(eRA^Gj#c7?6D}T&@(4vRc7as5UWE#Eh>Y@>PkU1L06N7#mmj!EO5G{wvmVCU zo&NK`5@S-A-=v^W>9-X!rCoW2oVzLLgf0dfgBVmGe~XPo@H3?Dle{=_Ii=x`#8+5YH8ZUwQPipbo}7L z1Gm`CZ4N}hgqfR`!0O%M>r z^sV@q`;KdM6@Q3g->@Lp#L)je$>f8xc5vfxk3nxG(&7f-3M-jrt1)(-)7cl1Rf7DV zo>7Xw(r%iO>Inx<7-_RZC^UM~{@IU_2yl1>!0zI&yz9Xh zc9f#T7LY|m>La~auQ_+`bo_QSu!~ZgA4Sa(U3GrpDO{g+^;U^H1um6l9b!eC`@;_U zoAhLXejjL#@vq^Fb}Un=Pt*+2m@?Y`^ZAwGErhrV%}SuLsHlf3tcN# z#t!|LP8tg(QD0ERO*v28Fn|r2ncG+txlH933RtheiQZFC+!4oZ&pjsH6QphH&iG0U z?(*)tE6lgiA8`7_Sq7`BMhB@$_diT5`aMTPqWuy8G=Jji_D6T-mCyL!v$CM6AW)}$ z8ymD+ILG^LG9Zp1OOM+-Pj}XaQK>lj-$fwjC!Z(k!WPVs2Zy5-t?&(B;j0G9Q_*?+ zzzus4E>=J&5**I?TP8$xrDf~w)n@u_%t9A3w(d%O>^;}@MwwXSVbuOY4Ea9$WwG^d$45|L9We7(T1BA zc3-ti7``F-$nj0I_|k2bF4f74>C=85bfs9TY)sFkn1bH`iIQ-|-`V2W)4rOfBp7^# zQ9zRxHYp%0_4yq<=-m%oz*np&U8OF|GV3D0ZKZHbp~EGRuFq66LX_Q z$HfrCffDl`iSOpS9r^Qt!3Xjb8z;o71Thw~KT%D~R^f9UMVuL33RFJ4bloz~4f+Pw zjX|kmE+|4~^}1ykODBuTVfrP@$_TXi?Pe45*oJ>X2W*X?LIeV~Pd)7)7dMqSu+K$La%rMuwjT#u|t?otvsx&T< zlZ5M16xsX44|IjU34S8Ov41f~*lc?CF*v@Ck9}J&yg6ozcOGa80_>=+@Bwv}<96v$*anSq73!o&ZT``WiquWgGQX0g%zjuIIfQp%f7 z4e7C+U*V)$Ih3t!9TfqD`1h&q#9HXn${V? zY$1mMLp`?8;yj&i{_kZf6i!Y<55uuH<9J_J0jhieF0%$*KEGlF|=#w zcV8Xm;=fD9LL%Ri;sO{&kRkt`f;>5tbUsdh1oz|yx8r*V&t$p7ck!R@gJe!N7hAbX zT!Md{^4WAbmRxM9c~EyWXRRalAFJ;Nm395bDd$n{jKhK*p`u`ar80(~|8l1V#{Y%! z#_b$bildvt?Ny8-@x4FG!qU=*ZLW&UJ@Jf7fKgJYwq=Y=%#hMz`LDbobEUzfF7)9C znY!x~-1Nc23KtR>toK^nqn7US@kLJB(2O>dE+NLKSu>=SyR{+)QW)himY{0LfIIHG z5>Fwz^5WAdC7$Ru{84G;naA;jiHc{UC+$^!FnWg(6>bufEEITCKqSUm#|b5nfaYBk zVF%MClN@jW&o?4&VpQcStl5sGh#?t^&uZebo%!2REcJN7f}q(#gbtfihkQJqqSmTx z+pzyuQ+#5ANxAkQJN?Lx*7Wz7p|i-Erubb)Ljo%QlR}zX%lggcSvtu26OQ4n-rC_O zzmR49hyeEO7az_Sn@A5Dd35$!Y<7xNfq#AkFb#*K z5Vczfou(T+1pfuv`LI*Kr)xtj;?(}V;_|~_ewhO6RRX3($5d}(+ze@o)+Ntw-fcYH zHl}(x2*o8!IU#Ib7;6j{cEkFCkCu|W&ungQLYuFQDLZ)H8g=%!s%=4pib-Hx>f5@Ry1MdY7rx_M9p_N1UW=gwm^3FAGXJKfm_5yc<%# zs&t004Tns@{@uIa(v|%_Opt1^lct(<{fbdprd};Z3%oa}l>p``5F28Yq=k6sZ_6PP zMnI->RIuM}gPW>nABUPm-?6r0{DbaXTcTAax$>Bty#;_NeBtb3rMP?tbv%%=myBkA z9dB;Tg)eU468OUo0U4tz8_`N>+7_IuhWHZ!T?#mzK`OHO>3*O-uc*j(_&P1fggwpg`mNGiZif9o z+ZUtYs(x5`zQYM-s^DSVo{AI3oAUmV)Q8%AV+GTL403nfSqt=c4jQ>E0;X2er!DDV zGqwioKXRCVn8*?_#yfgsR@>9hOd$R?&Zl8;=(#WP>FS2f+ipT?b!)p{^vrY5YXCH_ zZrBaQjOcI)u0uf=M4|J+*XkaXPe^UUs@0 zQa-$FWG6aV-$Ci`X1}1ptW~ytD~yQxZgf>ZH4jYhyit1$%DZ6cB}PW2!B9XKE%M0UUAkRbu) zQiW7FzYqb()d-)DHONvSkkpZM`5-*WNdcCVgy%)xzCrc0^av^?Q!2&o=!Rv*j4r2@ zo+{0(uQV#bHsZT%D+kyjPy&a+FG!1*#mLz4q>fcRs#^q@OycJHmcHDt^~F^siD866 ziTh8X`3tX>oiq5V|1e&m&)wNRfBrNX80T&x4QiEZmpRY~|DF%bVvXmJV+&?PfM!D6 z=9un77d&sht>r z>={MScqWEDT{z5-4gFEYV4`t@b1(xBJp&mC(ejkUhYai|yz|FgkS(e&^i_uA z79o$tGh-(a#?CQYf*VuXBJ;i8QQJMP&z##t#Iv%msuG|+N45&)}PWYVUJA9 zFg=c>07dx|iZJwJ9StuFSwPs1zUAPIQ!yN{39+|5CGsS47O6vbt}VZo#OQ}YN9F9-fk+Tp0do?!)XLKu zd3Ti?sg>qOZT|t?6Emn}kRVj-`}^!jY?`C83*{A{7OO3f1gM-Q@!$7x@0jHeCo5KL z&<>CZ{uU;*twK?ex_Bs9M^TtW(KoN+4ri0MITj$F_V5(LyPU<+#Lm&J83Z-~eT+axiCkIZ0@xTA`5-%8%w@!B5fTrS|0;Y&wQaL~2W6R{F6K2U=la=68^jcy{6xaB zN2cD`6eDT0`MT7W3?!o?^|Rh{`t1-y=JaymUYQ^za_PYM3QAR}s-G+JY4T&u8_x%) zb793;z5B{y9L3>X@ckd{hOG~BW0#JtE{&A(AUCj4Qea z9|qT3Q$hAdlD3eZHDRk&y>VCWzE@9H?+}@=N<0f>c=6Cf`^&yvqRvOkOv{PJJ9^Z{ z5H*5}!&61)Jz45ydb96vmJhxi3wucaBD{Lp-z_D=a8c1chYlh{B;(E0aE>64Q5}=% zN_}I`)|$i5$M;`J%I}kZX^JZ<8{Dz2h(-ucW*9r<@-mF=Div={^3O%O`%2~i;bzlrLE#5W7RvEWu$_|ue|nfXoWwT_c> zWf=4d=hvC4a-s~~hM;^VHn=(}{R5ufvC4(Rf;~TOo#Bn50@QWg}0ktB4}uTaly<&$vbWc)SBpOX!E7EfhC z#uRWraUoIQnhu8^Xdr?Rw)8T$!daJnGDDeym+QBYuOtBh#kGGk(-$LyvzB0ri6Bw~#v|?HQqS$A&F#*GeYM%1=yL*;F2(Vh$SR`LK zoOi?X0QBGdteSY;2>U_q7YeBJfz)-SrfJD zstYCt`wL|3`HQ48gw4TyB^E1uK`SiYkNc+LP?OV*^POmD@w5%aH<1C5gE+9K@BGn= zNd?T-6aI{Km3gF_S9pU?S4k=Y@?}HqOYd}x!@U#`Dd>Bb*i(iLkTa+5awRozwfWP3 z+6UrE=dDi6;ESD)UKOzqx0%bmo`d%Ek83UOpbv&h`2@YRnn{KT)TMDAbs75HPFomb z)5&iQZln3HBn>TwBH2;EpYHeZd;a)&@*5UY<(gu*l>q6yF&ALWAgN@Qsh+xgtbqS< zIpicMvPyb3_T&SPOf()4yUEN7&q6NW4znqrl+qIlU?3j8<}tm`1;$<^o4mVok@Jn`J~czNBpl+< zZ%PE)cF0Q5TR&xez-O%NaRu=>U)OjK0RX*C$@+&vO%ADf77|3&xi@7>oX8etJ@xh3 z;01(zOcPp z7}Fd71Y$99dy-!y{a1e)-&8O`6hkJ{-7z!9Cj$O`=hN+G{`VHOAjhT*kgE$%N}@tS zXEEoX`UMnJdc1|DTa&L%L61C?3 zQ@N00y4r6DGZ=ZszuedWr=D%gx6t+fU}vJ^qB^oA^O%hl&a#%_8sN`p`0`TF1vPW0 z+#7|V!#I@lmrqxGo34&`ze&u`%|353xUs?0HZLmWrTbIoR(}F7~WtP^%%ssd6X21zA4^%C?C;Eb}Ls_l zoTW*k#n3+i{%Yvun+g80@f6UQx<)BBRE9eGRkjcIDZWst*FxqQ}=u*7c1T`CO!M10^cA9#%e$g4KchPt&1(a+rLNEh8b|vt9f1!QqB;=Tsxs_ zW3EYWXF6=akpJ4F+Oni4$G)C^I?+CgYVKQA3oom?@P?+okI~H9@1&^SL&_wJ5`xgC z+cV5vF^2YMpU;dj5P=zg-i<>7CbAI z{a%Tpq*}G7R~_@$TevR?Ud}0sYKltJlw9Ixf$UaJe{w;0&Or?tBU}_E4&2303h)9B z-zhpAW%*p6^$cps;eXx3d2O$GI!905RK|bi3J&p}dwwYoC_8e@BP)Km9opBx2ufi@ zVHz`9MuH5S`}qEdbNaB@zI9iYoU;cT&6@ zY8D?TPv_#NW3*DINMtq=E)(nLf83&Aqt0$-Q!q=vxu3z9k!YylLm&3()9SIPv{@N} zYHDSE@r}+|v`|XrStg>sZREEMJA_aQ$N9>u^EfR#fF45F*KUA{LQ!igwz3TWxmnI-UlZx);gbE}b`~ z_BnDciwBTGmdCT6u@3wv3bip^E?w_S%#kZ!h+JE&5OU%|n>BoD+NFN~- zsi5vxc^2elGSIO0M`J!XCc`Ti@H!dOBz4~`^FvEE(n%!kXg}N8k9@N*C63zu#%mdh z^mgfQf&B;`OJ)c1vX;~NlnoL%b|C~7_<6`o*f*qJ{NQAfTn-_B_DW@etyb4W-X01M zwvk@?L)sa7GO8!WU#@O`=w2du05W!4}ZqHv}W*l~@8v2;N=#XW_?Q6Y$C$0eC47qR7nNGB_ z2vob{d{5T0t)eEME~#ILbTE!rpY=nE!ssMA*^BF;+{FFZh??>wJIZ4Sjw{DCcIBxT zbU*Txu}fo6`Yd36moG^+*w}h0be00*LhNCrkY0|ze*6bbM1Pxo*9&<|)Ef0JASdtK zY8WllyioC_7h3b^%AFdiyRpG!LItG}wr8OGw)TLIJe*@<7RD_y+7GJ0x<(;pl{-X_ zi6nhBOVcGmrp~%$w*5Zk+?&TzU<&7alhJ7)aAX|8*{|q?bj7AC4Z4phM^_D0)W+;c z6pOZLvDGFW`TmHWoH=Y?Ap|Rjn68A9F}>39ekVH9;ApsLiHT;H$-+#Plp{6Tw8gGr zOEebboM}8*4j`ZcD9n}^=b|ivSY-;lzYB{Gc&xIPojM!kqTRFLtpK<-n5(ZES_B2XkpEz%64jaIo(vO^ zSy)sM^6fBDec#~1!`(S*CO_oNIMtXROsjmHxmqDEuJcE~T!SfpT?f(b;Rj(cHAN_! zb&Y0U)05!qC~g2v2SKZe*5S+X->P<>+-tyu*FJU7CEo{PCFZ#8J+!Pj%B?jLLa(O0 zNm|y`;!e_P=H+%V^HYpcc~&L7qqv7v`2AB+YAEvN=M6D9wG+tH6}fT~ZTOO@Q~!%N zSZ->`KNVEVXQVRph2x+KZHlY@nVGI;sQcfrHM$8a>+Gpq&ThiV> z#O2AU1Vuq;|A~G!P4BIag{Y*P(CvPvz=7J9UBm0t${nK_PA-6g5wOTJ2(GuT&d&^C_bee! z#Vb4aw?YifCfP3oR*~p&;j`P1`dSOrm#vZ|%vXfN(hIHp(QD$jzCRY@umwe0Zq_em z+GiBrARzxnCXQBe>2V4=5AQ#Xm(YdZ zJ8swMnE$s;hrWXatxwq@k99ID>E{pMX$98vgQ)CPYAefbPpq+-=4H3%6Wig4Mjy|R z71hFmkUvL;53%^@Fm>{JF@mC|Kk!8V8EI2hl;cna4d@*c|0ts+EnG3Ps(go}qV}~; zgk*4q8OV8?0+y4F%aKC6h13SU=D-P^Omplf2!sh(nt-WcMR8s(zB@Hefqxt*_vN@c zp8upYnA9hnWSlAq%lq6S3%H&uuK(p(pKrjc_ni*g*dRoujEr;4WI(LXAm(>oXben} zK%&LP``o^=Ll&@nGN*|B&_)S6q7wfqKUosc+rGznitk81FQ=KOm9^j}hQ&ub{m@4& zr+q=!XjW)7@x&+jFsb@D^zau>=5?_IJvXwI5%8yagA^ zE`m1^I=cxdW({FZ?>FMF!be<`N3Qw-eRVB>PcGH&FT9C{KU$4TCbi;M3@xOiJf>P* z-T$i$3A+eW7flomR27R`1)61}pgu{O9JEQS- zhX9Q7$;Szg9ze>Yf2$z4LT#Df4Jn9YvN`NqY?bhNz7IX%*Srb&zny(=jm{ieNvUSt zx<^+RxtD0Avw5&f^N>Vbpt!$XIJH?J{bdx*S<5y4c-R~>!rJfr7rrlTV?Gw1bXqyS zC`-RTzBHSdMhA%+7uY_DNBxRFzORk3n?U`R9ss~@1M@IM%5%+8q0DHxyMx7--sg1v zR;biJRaKeAQQ|fs-@{pgtAs5CM9RcRND;RCT19=X5?HvAAZ!>%AM`jFLr4fvAb~t! zkJ|snn6*b*_^Q_1Ofj{4?&+mXEcKO6%O4wdY?!asffW(R86jrh+mHP)D4D_^Y`c20 ziB-kiuxRN35!g%7zkmLNcu$;J-bK583%ZaJ#~c?vU1N_xtD@Z5c4ygN8D&ONAiRyC z_BwE8|7Ly3S8wM~j$x^5+|jEXbd!18QiIJLFM<2+iG&wuB`*r!$(K1bkCYz7h?s6` z>O7ulICYGBOH*6{4Ll*3TGk9`at^`pE-RSLBifzi798#YADlW(YGXdT7H700eC#&T zcqg(_E9Z3mcHH)s!c+Irp&ZmJC`wr6wN3#Sm@UlCV7W(qNiYjb3WfdBtLYjtN!w_l zMby`(4FO&hBd34)X?iph60(YVPG5|(u?z;?rJ!@JWg1@io(bzqoH$jzqXY?Lbq?N7 zKuwKN^#L$Oi**jlacLXfQmxh>Zm(Oln)(L)0cYw0ApUhQ3$oh@#-Iogt#WZqZXh3= z%xtm@Q`Qx9^30q>S$`|PW1lZ@azRAq3l(tS9#bAOIHzPH(4pu12Ezg*d6P8r?HUDC z`xCqHWcm_In~!E=0xWlf=M^IBVF~RSS8>Q&IlH%DMk?>AN8HrM^rTPwyv|(BcVB&2 z&6_?l{j?2xdBAG1nQXf-n>3{PoNW)m** zndb+!-Is_FJ7zk-jfV7+*v{d^W6dRBFqMoVdRx<@6ehrL%|mU@D2eSgb33pwG+r!JBx)TMhPw#~XdluE!Aw_)95tcX@a) z@HK_Exw%q+%=NM|uY(#j@aBCv{tlvo8t-UfWrvQHd-4cbWuc!O#^n!d+jk@F>m>Ii!{blox zV+^^j@dg7d{P8cs*;ti7wR!q~G^V&yIL0JDRGk@gkvviGHvaE{HjIm$eu3LW7&|dpfO$w7_Q^=m*eef{ZI(JmI+PsG zww6>s)+Nl`i5IkNf1YK9SPqz%Tq3JoKlb&aw8OU~f3+?YiM%vs{0yJDh32kO7-En4 zVvIe9iaT8gUXDr0z4Id7ogV64r+|(b(7E-R4HWu%*&v*Y)ChNBi?t zpMb9$tV9}BTqSLbgZsIXZNPu(v?~=v*Xpdq+)Pt0M7q$ z-Ox zo!e|^d1^UpniNmckKJov+*ZbLKjB=wc&yYYWow3DolRKfPh8X4PxUmWJGPfr)Qr9oZ`eipKqu7S@)j*0xVtdpz|pHb_mB9 zLihgaJpl2-gzAHMvF5c6HnNTH29%q7DmTA5i;bqx|%SBCNKR?=T=p;4!tDhAzu0?D4<%k13l#waXs>L^8 zyl9KAH0z3Yj2hH<8m7l=e*E2NoNCeDNq*Nd>hh znX4>_rx+M@h!|PlURWoX)Gz=SDJu31my$joLS=bC1;03EFC;}Z4l$vg75jC|^z1ww zhzN3Tauy7}&)KrurD6+4273DD5Q;U;ruoWFL$L#~re=X7j4u3HcWDK`(2EG}&yv!RO(~^88RL;R* zpPd(dkX>|e^_o{f`@!(#C1mmncdmRXmjXS-1E7A?!IyLzetx_S)#1T$A!G@zPXojq zB(v3!pC_lw!(VYbYI#@Gea{-A0;-I8I%W>R+^JvFH)?H;_X@O9`eLuqX;?aI*XUGYkuZru4q2xzY|#7q~;)75fH#84pYCpCYG%>a4pm)vGcozw9z zm1P%Hewu1<-$E_iZH-mA(;g*AIdO@|IzRjTOKTGu*Xk%VR92!AJ?^Y!XP6m>`}BShyTd9nBgZ5^rPHuw{hTvIL3IXEuX`pj0Maj-i z{6fto?}>h}7>7GJ)zTu{jwkL>wc~Y?)@Ix+<55APw%x!RXJnTVt=vb{`*nHHXCDP+ zwumbJtfYX_Of`p$M!z}nK^?*ryo?pIhZHT~6$jo{`Ba>2b z7w*hpfbhg-J5Sd7eX(DCe3@N_L*Me%QkhKLd{jNSovRHfJcl!V-d+6`JI!DI9=j(+#$`1grhe6j2`LIx`UV zQ}&Rpmk^SYMPpSclczeSH5dB679=6(-GVrE(ZXa%$~7fHq-OWp}*96xBq$_TT|@wq^bA0;1)}l#q)BY{OLL&+Kb#U z`(NK>p|!^qLGT6}?V>?!((FM#`t8^`%55H~lFs+f-dy_Za{P9BMHV#TM_OSv4U39n zO(LGMY@g*WAqHqP8_6eVZ6v1^)Tq#6b==&^YP05!`AvrcK3IsYqAOP>&u3z*d|o3* ztauZUx)A~(^|~~V0vGNKKg-Jje3bFR{6&mxaHEhhQt=*)E*pU5!r&h%RS88UE&1~4 zv31&0VxU0*D2Jy)C+-XZdeeQ2Q0E#bL9Nl-0eHUZ+6u_;ZGU^`bGNdsSMq0Vut^jR{ zQFBo84eX*v22YJl*8T_S>*cd9f$tCf0eyP_+<=Hzs}H>xuXHyC2U}Zb_-lr@rUW={ zA+qrOnK_BLJ&CU?HdMe!ZH=$Wif%GI=7-ZzwR@J%_W;1YuCW}R#Y(=TSkG)}>i{g- z_9PV}F%M=2skdhZCzFHxesfEQTs4sUaj#_m-Jh>lj@5CoC<9~k^A=a%&A*U9S|yan z{oMGJISu|ZfpNt}^W>|U5)_SGnjh0Q#f~HnWj@lM?lcq+-#N1#jA)Nf{&o0K8ebs)_U|K-tpZZ*~ z^xf7inr3v&T;-l&Q|6G-b%3)FdiQ8Ii>s$)x$c%h1Q6D#+T}V`f(M@}N%RVoIvkR7 zh66_{-8^?uBKZ`m`7pORU)At$>_h=C;Z;`1nt}*a&%bF{4SL9IcCoR$91QtjJFQm8 z`iU}CEnMy#THBplg;i9cl;aj&{7VGOQ(h`D`KEcgNg{;_%h^VUzWU4QZSq0GqjcPh z4GPEFgx6t2LHf-=piXbV@mUxEQGBMRqF5%cl z*iPCcFmQlD>{Z-~hvss9YBJF{;S&0?cU1odku(x=`;T)!ReWKFn^IW?HOiBP?gZzS z@+YiOt$tWS6F_=1GQSC+SIu;roZ?OfipB zTBsHm#ONES49_I^uz!3-T%VT7&%TC&Uv6x7)KH9GM<92DU`G|`Hh8AkfBpD#l zgZJRr(|LJWDm#_H;s zy@+ars)Z{KtZV3@pT|oLUia`lEWFMkh`SC)A781|@eF_h-{ zEILIJyk*!k7*N0Pi41mcafP)jLwlO>__=4!ZzE1vw5^@p$l`<0f%+JtO?W=k(A$|7 z+NII;U8isBc)2rBB)GAOT+lJHswa8ChdGa_6{7n9Vx_W>FXmqw*Ptb$G$wOkL7A%p zFkYvQm3<1Nd4(cXzyPEv_MU!KnS1LT#}1ktm94QyAXZ(U{GlwinYE~U{vo_DlyQhE zZhy?iS@9%rn7MXYE9$6~L)ZvnHSwMYK={Ll>{?4~!Ag2+ue@sZ@Q>W<;jS$?jZ7bkX@VJ*gYVj2`eSW6ED$3Faaq&6cG z3g$4RW|ivZ8Hd_w7mgw;3dZ9@S?#3{%gKRw-=7}$f^D%n)|Xuyf7vLZkG z7-VH~CdhJ^T@m%cb|K-R`m&%EpsDWUP5=XB-eKtpKPs3ZdIYSnMN}zmh^* z?Zoqi?GD;Y?X@wfdSFchZlwx$HDH8zs}?dx7|^Cqmt}v^p>dS6$1!IvQI$> z-!L@+gJbaytBd(D^xj7O+JQ2*lkTCXE#r5SxP z{;#ZZJ=@Fh$=Qki=ssx4-!L~K2#{a^l#HG(e!cDg$x!6hpo4whX3cYjjOm)(UkayR zc*>~zxLp(;JQ;wz?-ibWb@J1aMy&P|`}f2CtJ%-^ZAK$}g!{5QfH=y`o})+T0{^p2 z0<=;z|0XSC9MUY4kFXp4Rc1&1UhG1h;W64gfVkSZH+Q)y#qmp^nEbp5ni`Tl(RIyo z2OAj2mwqx_EWj>No>eq)g+;PLI>ar>Lf}dM@VtT-;mJvKZ*W67Z9~BKjsmR+ks@7C#6y?@;`=4 zpBf5XM+|Sr#hV4VceC7(V%&<9kHWbe$SVo?$^`SbK@{dix1BSCDSEQ`ck3&v;OTY@ zV>@A{=kVTDjSk(UYNFX?tt~`{6F66R$c1$ONuT2P4))XWMYT#JgUF=lke+|QFBXuH z`3!|Sy51{%{!R(q%b`(XhL)i2vJFk-7%nT~K*2X#ANv9x;kFV}=AP1`u8bWtX3+H? zr`J{zTT}Z-luI--&E1(TY&gS9p1PjAOq1DxoSXCvGxExEQN#LJEe#nyOtdikaA84! zJ}wM-sIOeEg?SrCi8u?+zhbXFG-wZqq1*QVB0J~?mXDTE&Q{kDicT8qYw0iam#0y7 z@@uV2gVWI~dz%D3I8E|x`K1~@CRPCg!=+>}yCu>1P4(M^8^69fKe-^_%3Za8{Y#G4;I*c2!B^}<>N~N>YK@_-#~YA z?u2 zq`pYleVC5qrKl=K+Tx9d@6+wn5SY7F1WF$g6+#nC-+Dm5HlwOof)hf;B(=N<4k7{M z{||3KkiSX9zl{Fe{%laa2;a-uqtut^ujn#O6C-@)J4W7VkKnye*)4Q| zcs|#@^OSgxmJZ13FNQBHbLGrDd~#g783N&pE|fWJ0Uw9V?@h#hRw_P>6>zqm%)ZYIm(Q@&dE&V(T30^f80LG4GbLpg ze01Zt8i@Cn$2t*;UC7o_DP~jnZa=!Sn-f0c=8)WgZsI#quU`{XU54-4i*<`h z^mnjTRAvgUrDGo)Ho+Ch@q6=GWXjfH0b;%upLttb;VW4cS-Ror^NIL={p{`)_$(-j%f$NQPdciSi2jUMdm@PUmu8O)*DsheWq|F< zJe;Ox)s4jS!di_|0S)F`*U)#*4p|x_U0DNXj&SV`8TdYsK404dS5!7bWg9X;cNclhF_=DoV$yTPwP|8W%W|Amq7Ea1yCt6U`R zcRM?z96!J}vbSk!96oua#G?Ihjov%TqKp2Htq*AG!FN0Pr64c*+g;snr3V+C>E?;s z=&!K%W5+t?YklODzdDsT&v+yc!{t1FP3sxb=X*V62>p47dR<+DuU2wzf%h=+-Y-01 z0-t!W&B|r?WJhoMRl;}BW+386nV)xxm~ z_?RukAK!%U;KjPp8u)1H>y~c9r@KFq@(jM7vz%Kj;A_jA)PDxwgPzd#Jou`%Mja^{ z!+UGGDPJG@i_E%iS_|KvNN+mgd9csd*YzK=M%^;w6MR|T+kKeeTb{`a;(~9mkpIRe z_-@z9vl8cXx^&TJI=GbX&}dpBNh>_5E6DUE&iVlOv|hc-{*K&BOBrv5uZ8oeNC$ki zLQT}2@Xf5uQiR}JtQ30h4WE68l>qNJ-h&k0Ro_K!T@=_(oG;YvZ|QX5y5FvwwK zInyclES}iE|MjWap}!ff%*JW>I>&tdxZ%?{eWj8eK0y`5&%sD$w>AGxIJsYWx2?hX z7Jm#n+j5?$@XeQG%~F&q}8nKI!12Mwj86wJ~*^MyeOgePw}9 zSBvK-1wCGj3|#1f^RMz#hbj2{t3PIi!KJg&>q{eYNy1k`k~mjN=Qb1P;Mo1NmQrN3 zR^Q+xoQnym2KsOnCF$jeAibLelRm>&-b8EAJx1IwR_vSz9=LBV*Q!ze;JzN6eIV8a=e^mMn8sF| zr}4uN_g};MJ@Y3%^f+;jhNzQ>nmJ7b+{)hW?%p=Wy6inQNI`{1onbLh8l;%|Zp z`t)1hkTeBfq2~9k#Caq4H8Ft}`=pRM(=-RC==E!($?$1U+G;yZ<6P(po;&{oeMY_z zKZoaz95xHVdHAvp^E}anPbs)c|1EknI}!MuxDTD!D?gwEpW*cP{7U#be$A}LVPCyj zj4$ayk1y8}^Na@n|6Kw7bv$`|-5A*t9Iqw?r+WLOSSp-`f}9D4@UgJF8w$eL6&=XN z0H0Nz&nGoA=-q~t>ie@E0iRkriEbMAr2{ey>hm~H^Ouw= z=iuAbW8&V89*dg0MTqB0if)wiFy?(g$~<`vJx1<6B#?mhO24^b^%tC4wQZ~RnD6FX zPR?`i(d5c9{6gL-U7`;99& zMO5UGyGaHXvm~->{ktz_@bzA)t`CNf+8)8Te*eYY5AcbY zudUrjkFUcYbe=_zB@(u$g5axPa-|ac{b{?y#Z|Zzn{1LBi06m!g*H0$r>)muVUKyI z9F_7vh8|Cs?l&oFQV~gXO z+W?&W+d^2Lp~u{lvMT?eJdJdBM52xlzM!4!v4x=@8$q5{+ct&cSy^lYwsyJ&K5W z=B~n*=H>k|k9a>U-u}G`J=Qesi&H|6f7n8E+OcnbsIT5x#s1zBnVPZ_Jw8!SDj0(E z)$wf+KQU)5Kck6f==0WtD{Bwo;(wa@<`D9K00030{}kDGJeK<($8jQVD?+k`2xX5- zHCxKY@fxoVKh(O$*+gva{Od$FRnTR@%5{RyOXQa5s2}DD`sQjxF1fsd) zQ%coI0?{&g&gLw9l+)InB%cxa?iRsm0x_f5f3@W=foRJ9EusWIc8w?Jn&t>ZweyZY zUc)z@;72@6@_qh18QV=DUJ=>0n(HAD?PPRA*uE2ptvO^r3gFv#$bY5x2mZO%by~vk z$+KlWJp~`(naaBTF9I=h^1|%*5dzUnJkPIjj6ghSymul2&i<1}<>Ec8i*HhjWo= z^{oodOYcrlYQsk>`GSWuFVo6Js>A7>RU^2LnN`W`88=TLzADi1DCr~+#cb~ED}--3 zBDZrE{VpEj?8<^KwBO?CkP{E!U+lG8PXtn)gY-VyTF{P0b1 zjyoiwV`RkBMSuA2vVB(`fY0mmWyxsxyw-h-@53k6BwN{sy^HzO*XY3~`S=jK7WSQX z>GAI$@ZI?5tG|k#?zgFS-heaWc@a%7ItHqZ*oMP*_%r1i1AI$zrd{^%F^d>KUP4F9 zJ2ux`uxHWeeL2DKmH(L@=7BF>u;|(YbPRstpb7bYb6}rh8Wv;B!4Ym{Jbk)VIr%E%5n1PiPFqzTZUbZKGVo ze@{yf-v&B*F&b&|(P51`mR?KwZ zque!Yu@AmI)a|pv@Wr;!J_&=*+WrC61Zm&=eZi9p1frEH3!e>qxncj>f1#sjv%0kf zd=cJnMY^zO2MO*ZZukZ{YhR|rcib#Dd1;V9R16Dum4Gkv;pCDJIx^nha;}53Q#EPS z0v+EaTet6l)4N#BoB~c8S&{NXaDFN6NO*xgTlrBk$ic^H#CDq#zMLx7b#}Pi4!$>Z z$7E`1nQ4IU=8>PV8|b+@UKIHazLIpNoo~=lC+m%T1bpmqq2fQ$@s0^kdOn;gHw9!e z;VW6Yd-^Xrc9^zHorW`O%`J8V{pc@g`^{pq2{^uHgwLb?ZNM2u>mkRBeg+)DjaM*rq_ch3;Uxc_GwcQ*&DPTG^d$mu$ILmA z9Qckoi z@Fo70xTFZ*yZMBchv*pgqm#D=^G$p0_X;>gDE_+;2p|2Xc1k)ra&tSZO~6^Je23#C z_FOb_#M24B?|Re9$blI+51ABxD2D47E!Vgw zTpl^C`OcX68GRd0*!MFvGrb8onf0zpOTg!N?|k=jOr=-GS(|W9_`WUfhc7PE=f*O6 z-g4sl{bZRy)a~5OBo3EFvX@9I=IjWU(JlBQh$j_F(D9q|;xz``=Zs~(CMEdPizDTl z;M#t|^E4di(6f=ZBMX!6=g}@^^lR%bbz*>XSeSTw8Llcy>KQA{k2^KG#xdo#=pI&K z-z9E}KiS~>P4_1=9zM_ag*_wiMX@udCc?*?$v8+3U+-`A_UeCdAL)Hs2OmS(x#oE6 zndQZv>0R*I2uA&qhi|Q&VN4eto&I#)sTm>NUwJBRI9+(tga1RnY(}0lWtg>V#HTG;!8A3gZ>7P;hK?%O5_masza5eqpY3{(J zXRn$4jy>z$zVX=&zD_Y0o*gR$;*7ZK)*O60_B0Tx(Q$a(rSuT?OcWo<*biS-H1)x1 z%!Hh&3%u~%(;nB7$N9Uj@LANBbWi>a9K3+NiXAjl^?|F%w`s)}u3fZWj~z$1qGbhZ zbJBA=;!Fe?`qg?!57%Q-_?ss8!fM6#SVJOz4?1Q!DCzgZ8FAj*Z4l0_=zU?U*mIx#iMQhLJ#AIC zrGW3(`lIRy?AbrkSKJC6+rLmU`Jv-4|Jc;Om^Eq@wqHp1_zBhcd6M(B(7q%%xocPh zy5ZZGP_!`#pK8>pcYW}QFC7ThgU=)7+kzBa%fbd%@-fqA{+=j>&q0`Tp&uO`+xF|W zzi6Cp-!7(pS^g3B=LRdh?zQJl_&D7(Z^| zfA2@w-HGRXc}Ld6SUjJ4U$5Ja;af8pb*MEHaYj|Hq@zk^DHle2Ix-m)s6KtI*1SC^&W+UPxMv11MY-tiIf zhv+CKlW*Y#=MLuV

z2`Y&Q_7a0xlY1oPS-{|;Br=Hmadv4?3mMX@1r4N|TJdKVr zD-U|b(6L^)eZmwSg*o|~3(=9dFZKWjo|nzjmy*fhTOTColD;E!58ko0#q3!P87+jb zcZ)Ut6nt?(35&GoXKu=P*B`TqmON1qKEI625?jo-yq|rU;M@N?`IQqo&Q32g#Gzx- z82ODdIGtvd!)>wWPrGL-qtH>Thwq*ge9`1a_gvBOlNPn9Zyyekx zHft@^9OrT7mO57>>370>!mu>XBYmmm$|ia;X}k~Wg;R!XUZNOI-_6f|e_-FQ6o*9P z(X%L)+_xD$&&DWGEudqDntd({e1>mc97{w;bF#>eayZ$B31PzIG{mAJ=DIF)6r1Hs zWx$@xUstEr!a3!4Fl8AX*>{RYKSReBP5%3Q=%_*L9JWHoK{Y+u{pfhS;>eqKaEcf< z7x}S7g|;z&CYV`2-buCJ20+cSlEcF~u+ybbQOb z<@NUdTJoE|}^@~@#|U1edyO`ON~@v9?EaQ=9waVZ48 z7RRn!dH7@_T}{c66+=h* z5R;O96g0%Uzgd#C(UGQM=&Kd>Z1}S5jV65IMiF!S;gjE9Hs^uQfJL1=933;(F8AXa%68Jn#;q(9W-NYOn4QTquN#75zgEE^5=w}h6zUYn_H&!lP zg^rId+SO)b-xd1n%)IEB5PDT94^E?n>U*U)kB#JEG+}V&4arF4!uj}%?piWBT2#Dc zH$cZ_wSbQTr1#_Sn2QAVJa>6>?jxKsp*Dk8(b3R%{)rcSPq#H+MWf??_nii#uF)=vUI$WK@M&5mTr{2cO$@`od65(;MBU>gd=Kn;qK{)0;$Onq+{1m#2|m3$ zS{`&eX^8j#c+^V6Csrz6XoHT<1$4PO@Nw=Gt^A6P9eHP^)8ULb9`KHj^nC0M3LJy8 zOIlK+8Tlw=f&W2buV&l!oJPEq^6OamVbh>2H+GontjYiy4QAOMn33x zEk9hIk@S3A3KwukN4Kw+)|lawv{Aksg^qHDcPNfg(hyfzjN&`s9HS|#+JuvTK;;_g zclHNuccts_7?*y%trkApca2v_e@-FP zw&~P_j!ipmu_?nRwbqz%9=_OHmnlfkA4=u5id^_!cAP1&!8!a;zAtnH&deUOGr@5B z{FseyfbZr~dYvOWR=X~wbinEV)``^%&Vab_i<59#9ZfrEjE==Dg-(azyI5)MdIlXc zs%=bosA-5JO4*m5!Wq4O$srXTU(aqc=3>vy;YXg+!B<%LkDCpxJOFx5e!e?-QHs)fa!p{iO`;fW6UlYFkYZ}qF(Xqr{ zCVCXk#$N?{)8W+AS*ROmC{d=C3&Y7=fOL&sb` zu^w`Cq(7clo`H_h5*LLIz{l8?rn-TB(^GM#(!jS!6R0_gNh{+l)xS=9pPm_4fa_<@ z{1F0N`!>d-wXt6x@&*4Rn0I$a``m_8vC`d`48F2a=cCoww|e}Ln+<$PS2oXi!uLVx zf>slH4wOD?BEUCl9qK9#pB>xA#Xi#SnsdPwJ?OZfP1@O$^m~Eh%u*JdIssXSE@0m+ z7G}>i(b3kT;let6(;^A6=ipmAxgH~qjvhjFQ9{`7h^%G7B%DU$J(dgb$tl0$3P8Uw zDgV|GObd0D?gcp2n>BkG(b0iczj*^rx1%xr&F~fKxU`1Q&=94(bWUf$xvKnJffGLM ziba7ubiC-EI(7gZr#yJ?$itUREArSF`|f-*elH0BNp*UCARiq|zXZq`p`)=PZ{il| zIqp-m-vAx0+SvncprcpdJXIr{IzR2?PNQRh`J!|uoXnq33i83nYhUM5fvLG@&GsHX zp)O%pZ*tN(v%VccI*+zzU3KA1Qy@>_fzLcl<8TK$Y8=!J2!T)fT%c(LI{Lq9xL5+` zy#DC55%>(f*T{KDf8JA{bM6#;B|?XSPQrJehub$B9lMy+;>&R!-)tNzdkiOQ(M`P$ z()V}ShMWwX&JSdsSD|BV@$zd<__W8_ZLW~s(^5k}S}>)!%>q;5Y*d>Y6+zFXs+68J zI3p-zU%iD-?|j)p1b?v28c!`L%h>u?_F_t#3V z^Fk!)_y4s<-a$BnMBmGjW6zpR7W4FQGVq=H5si)l2QLZR!)NkOuJ$QxUY%qLE zTJ#A+*fUuHM-(+&TGK&DnDcUI9Mo$dlN2 zymw^q2{=o-3@)z1>Ea@P-50*{fSFnm_|}*M)ilwqrsd|`Pk7j)hdHvb&*6?p{vbGP zzL`eK!{MB4M`MqF?-kxiy8jq(?k36B?(V`~_hwLLW4_|Md%2wn?xY&@5h*PZnrbAfBNdCo@Cq~31&lAG4#A?(lzlH&c=HEFjefk$|L#(J?_m& zN0+w&&ZF~a;Tk9U$wZA+dBDk?wax4gr^t;{MW5i*o0<*Qh0n-8WGM}u?(?cDo}|Zn zdt}^X3{HpK7!wK1sv`dHqKq^|HV$6NDL5O7Sa_V_bX6MqM8Qf!q`V=}PK}P`g5ir1 z*gxa^$Ttym%%U*g?F65DqpH3V>UZ=2IKx^ONFsOP^Qz|Dct7=-=U`| zx}UM}Z8 zwGUUr=jr)$%4ave<0g&jPNCx-<|uhbIF(-J>~uiK-M-<*h1hqSioLN7I;v5%?jnOT zu5ZxM49HR!#`<5U& z-ar4WLlsVT^Mn8Ghm-wbt6U14O~FErr_s?vnd#~;I7Js5C^_JiT)xb%g^tf@!MlAMd%KaF1F9&=8%$_ZlM(>zqENpOB` z<^0Zrj^q!GZN1?9sOX(fhJBkaJ3ShM^IC)VQV*PrD%#ct=ty7QXc^9i=LKbkRs%Y+ zYe!Y{pyOxXJHy)O$ob+!=}mOJ+m&2yh<%H_ak{u09k*VvoOXsYDT#yZqGQ1Fl`p06eLOIr(vQE+|HkHZ5gi{qnm@Y?X9~kg&K8`V^)H^a z!MUjY*r^};c6;nYCxecD=Bc)oaEiOQ`8({zdvk7^A`|zZ23oRdnoT4Zcdc-{s9eT58~Q z?NHBKfHNjROwbBWmU`iVY3zHBpu|s)j^vm2S=yqb&Ypn}x6pBLa(Bcy?sxaU`Ru*u zm{OK_a~aNV&y`gl+#l zPX`^Dmv`E2!g-v+{)Y}ao{w;^az;nR_Hv&BbTraA68{^{v<`N!PuO>bgBQ;xoR)UM zJ&#E5YdwBiHTW_tgm3M|o_D0SiPOTVW?RQ~89q6u0`*mNoT`vrri1g$3wKiv?72{g zmo@@UJEZ;o$9PYA%-n#Q+N6wdLidb=q&r=Li*sG#FT;)+=woTe*k zC-l%!Km2);7JNjOD_3gK@j0Er?P=_rAg-+&hkd7rU#Q%`zH_OPW}lM2bMkx5A7Jls zxnrWT@FnQ~POE@#rKZt=3-@|R-HGiloC7=3cV2|^gk#9Lzi@I$uugTNW7SG_k{_J@ zVvjzKVBet*HRRSvCN2$zZI8O=}7OJ_v+W=w@CkgC577w(s!gxZq*8$(Mz2-&%r57 zU{v%($0MItO_$-k?&0>^0X}!HL!z1R3FRpoXF z87B0`I^cA>WfdR==Zv^6tu>slRGThe!M=Z#=~pbnnUKhlJV)C1UGe*wa9Y3pbdhww zH{zc68gP)lv;L#fhBMd6l0bSNN+=2HlYVDc6^0sJfHN-eqr)hiO}isUkD+5zC`BL@ zIvx$-eMI`sy*rwJo)h~f<9wy5fIagr{2h~q?|%RQ0RR6K*moe6ZyyG5*(W6l*;L4m z>>{U{W70P=(e?9-;e9m=!zxTNh zoBMeu47QTU#tzQzPOKzy-;VRw{%j+WslKuE)odj4=?81s-P=iI4w=;9o*g9ez{x+C zO*u(q9RZu-1TGT!r`b3&4L6CLrzKz^%1a`1bB6TB;F;RsSepBrncTc&e_nZwnf$x? z`s}lHX7Ui-+(yYiX7bXlK2Zi55}BDc=+(j|5}BX%H2)tu61kS|8^>!#64}bjSF)N! zB3~*WFKgILB4>Q`GV|F&A{Vj$ai4(GI!m{q6~4)wC^J5G5?M39WM)4Hi5w`Dqjnun znhR&VzrY!g94_Iq6TYV`-*3SAJ(s<23O+yU>J=G261my(+v~PJ%w)Nhg&aNj!ml!v zR{Uiq)A@E3%55-{g)&%{W#OyQqSdF+A_v=OiDh~c`FL&T#33dUc{p%U?jn3gp1BzG zvXICLS@Jdd$aAq=Xuupfiu}*}fHm@Sw3c4^1gE6WD$^bKayJ{6s3JcTJu7)TJbyiZ z?C=@R+6%IK1$jth&#K#}7T}Dn+-&y`PPKyu(>bfmiK7d z9B)kprcS~6=hsZn73ApZux9=WIkMP#)4yUSk+a2ZyXD}EetC3~`tE`0kY)rSM|)IGS)uM8i#yp!P+a(uC0=TIA*Vc%BM+u^(`LZarv z*<2F5>I+}=-!R2gTa55DHVrfKy9d4l;M*4iq}W6QiQ=O*|DntYEtVGcVT4Vu~EqBZ=}ychXNxhE&6;VH&q z`iK_$@}O+XK|c5zH%YIp!I#i;;BE$T%waict_o*pM96DxI8W@zcen*-Uc$xXN9dcy z#JtfOIj+2_rOLqPT~ygR3YXxQkzs4hA-}gl!Xoy?ZqaA zoNwiLH!Z^1x~Wch9ZuDjYrp+){;*4>=V@bKbTe(~zN2TV*5Mx^=(qofCd(3>PgA@k z3^9ktGwDkHhkao-Jae)Ldwinw*3eft-&W-|@nY^m!Uhgk5_2aYlkg8t?PM-$HJsHH z6Pb88OQxAj{Dm=}Y%fE+cH=x=Te&NY9NqtHUr`ssTpF}ni^C^t9U|NTpKir)$2Cb3 zS^RX=Z71|SsQ>u77;@xz&fNbFeVa|}sjxubEamjWkJ0x%iy{7P$Z>DR7d1 z>o9;-C=j+chr9DUb4*|<#fU7qZ}jW{1aI5_(d=T7G?K5jnr zt!RDj&1Lkh7MHt}3uj(#y*V3lY`?21rGmaY^w{cep>Gqhm#V~EdVlWmeG2E$Q2WVr zIKL$Hu~wk(tgRev^2o6^E=W-eIeO;sd}@W0Hq$s%5IMfB&!n!xd4+c0lr?hPFHpRk z0cVlN!613$=()>5i?~k7ZMxKszArRAf4>H&%=Vr+Mf9DoY}ek79Q7?d z7CPWGk@GKGg!5$#2fGS#3^EwHYACpU<{4(ZUxw{h!cz^xZU1u~I~ir(9^>FrshC9Fc&% z$Z@#iiA+13VFeE-li^FX`(++3Ln6OvnNTAm$7#C}k1X`9lSn?&4d-d+k4;L*QC#wl zlm>BsTpbI{M&C2Jr8={4-sN~3&WIe->G||H(RWs&=B*#Zen(tBHHRFRw=ceYhrTBd z#|IU|8T)%FMGH>Nd$ydk$Z@;2NzVkFQL(l(#9UU}CD`ABGu_#MO#wMdd~m-?3tyw7 z7quJDhfkDW5cjhV&v`{V^v(Hvmr@7%cIK)SAog4J0c(K(a`cy^9rYv5^DT$}l@Wcb z#ZH&ODK$pXqQJRanyT7@9Q}$4G#ZiPgO%1jN$7jF#2`@|eOvXGl#auBROZ^zW;hQz zWV|gz-x5|~w-nL$vA@^M_9I8h#|F!v;hZrQ87qeG+jarAXj%Mx+N)s_a+Ir~j+!7x zpK75a73h0_eiM5uoU4WNowUgDwBE;;Zpd+=c}d?7eS2TCYt=yCFWv=hbwJ-y>aJO0 z$WeTm={p~CB;S~D9febQrDDDT&c~5bNzc)DaByx`DstRq6=&y*952>dpI(Aftmu5q z5S&B5I@GJtccYfkqCR}mznnjb?8AQByXH2)$;bMDR~I>sKU?!ZjlNg5TeifY?-iyW zwGMEuC|Gq6_X)G#O?LipGOu41%!Jd}*QzuT&g?w@ZW%aLuSTbgz`6H&{icWLTf@>n z;5>3{dXwnLh8$&b>Q1sE$CjD0Y-#wu?BC_h1>Y@!)Sb_fqxkznx<1H}@~Y8h15P=n zr-RILxF=SQ{kn?2m8HTHH{f(#AN8Bdf`Wb|Eq)6!lAeRDW#j|!vj zOPtP|dC~W&KA#Lh%%ynehwoJMExym2dY9O5GS6{s-G>}!s16LZ zaE3>9(3QZs8cAncLhOxHSc3&}B){m*{R`(}XMd&za=c}}`J^A5G&}a(4np7B7c=xa zh`uRXq-c<1p|k2`Rph85vM#Sde0~S81@R!qV8xM(bUTSYg!2D`^GjfS-WxcB>OWoH zha79}$K7^7j&G?;-x!f&r!I@iXEkrC7jjVvd2o&_NKjVbR5aRr(*b>xqSbjn!O=e@ocwVErO)6zMOoPyjJ~(LV7W@1m&K)fc^|@=^5XU}W#mX+e&6vH&bF5! znfKAR_+-4g7;-%5LJ2#F9FvP?rN-c-W3@`T11G=qYn?~%u}!_=qoD5vgJ);U;p0fy z+2bpZbKY&|QVIH={r$33AAOUp%Hw^}cgalt{R%jx?+2(|gmWUM!9N0hU+7tt^gxb& zPkPkEkYjqfm&Z}eWkFR+EpblrztK(*hO=}+b1WJ;((kUj$$%WqByB7=;H=WHIFkXV z>Qd3CH1r)5>S%EeIdVwYWZ1#?oyEZ8KjhfecHQC*e0GgTJbLidn)yr@guW$Z`p6{Y zXtS&^VX~e09@HJ`j=p!!jsDt$92viuYGfftQP#Li8*t9u@!_0<^E#jDQa9%EOr87g zS8$fO`5TlY$1AHNn~ovJm%sF=9dPDFU*S(d-&@X(hUy^4AKDfl&5+{{hh?FUa4uYr zSj&cUP51fEi^wr@?$i~Q{UoyR=-p2>czP)Pjd+Z{i#2;y5{dKtI5}@CaUXXHKED+? zR>?PP=O#WE$NMc>;d>k1pdNv~mlA&2#}MBKi`t%Kq3;KyHs)`TW2S?Okr8r?W;PC^ zzE=kpQBkyG@tt_gB9`fF4{)r)sqVI- za~HlDi45U*JYPuZT8NE=z<)%u6VY5gY$bmB_kU-9#3>OQAUo2-?teF!RO6W z+MonqcX}^FA@ckim2GMSCznI}nizb7_L2K;pyyuy6?aznit{hrm{!2tEnMeVgELFH z#Dfcc3oi_aJEHHdN3A8H==;OAzmliWH??Iir4BhV&3_#t?v-?L9xaP-a=)K2-ip4z zcJVY!q43dA5*~J8S*dQOhzAEn$@`^{65Xyje~WV7t5#$9y`3hce&H55AnXX zygB2#q>MS48&@_}!|yw7*aRNL_w7ud_xCmM{Wvn^nFAT;Q_}q@o5Q&OnHjJhI*K_p z%APAdhI7E_jF+(viM%cU>lbc4+=ogGRwwmwk4vd}=yDuSv6grL3^5-bo>7O4F)vSO zcq2@Za~Z$?b2uq0cf=pT$x7`Hx(Vm1yT)E7^uT8KU9}0$4$}Z0PP{LBSIhKkDmYh4 zhdH|8j1{F!XshEs#>Z**8qQ197{yPTIEQ?hk2S+761BMJHJneozr`BEd1g56*AqBt zUNTJFhqIt9ZB@en@5fr(`8k{x>YpFRJZ7 zggw-B541v_%ZI~uNgu)9@w^>z(89fE>)^oYC{0!4}r7K z*UqRB&JoV@JWFu;Z_*1|gj4y4Wqls{{w5{h$cMfg@&W|r;SBz`*=;+~H}#e6M>xxs zZq4VxdF#(RE)nFYwo&Xj181ci6Tc^Nq)cigN5k2^N*`flhTIhAEGyvbo$Gduf^+yn zE)y&Ehew9)><2h&HDBnO!MUHSwW9&fF~(VgIXKzOCZlPvKXC<*ZtcQc1|DK#HpN`h zd?GV@!ghCZ| zj#9=KeBhL0J|swde$jDCWU*m?7E`if{|Bc@$c6_AbJ;%ixBUqAhkUtQ@;tHU;qH2! za0)iO{5cKhj>oxrI+#nc(WzoJ%%#oO#M2va%2=$+_8uetFL&?IPV{~8z&CLg;RlO zGhew4;UnKUdW+ce>nRb-;@F@0iJp($aK5>t`PT`~Yh}JRhmhm_WBN%;a5fv8MfStF z(!AO?24~$#h6pz}52Y}V?6N?+*e zJo~Btx*Yme^HJ)Yfb(Qe-?Sr~=XG6mdEv|7M%DGfT=EWH5!#Qw5B#}j^c_y4sw+~D z;Ea0Gmdc2^921Ls{20!T3F&Z4?9ag<+eck+noGsx`oYOnzU6i`aUMC*XS1Pi7lw^F z74%I_I702jTuKUi9M}(^;Tc!g3&``3y|siT`WAH9e{loOn{p*iF>tc=EjpT@?;?I< zozHMy^7YSeg7Z+fIb|Di)LB-Ec>$;Bn}=Ce=v(Z@PxgJ5B=T#&vL``sUZavL)UZDk z%g2vj!1*{ksn8hvb7|pG;(u^5igzawpOas>iv;h$$u=9bJOrn(K;c(W^c^f}pC$#T z)?VxKzN5tV!%XG@I0q-Tb=}1N#BStP(-Aoa=;SQG`M159-V=RGw#fGBBS&sSO`U4u z9P05C&_Iq=6Oluo;jE3iyOsv$=}4xWNjP(2_8-oLGn|usFR|x$nsX{X!O7T6GaN{K zPV)Z|sfAO<_PlBzoUYVeeKP1fN2H536HboHu|wH#Dt`H$3S6wbtq$jCggZQLoj3(&Tdu?lX&7>r&J&R3+IsCSZEG$4heYC z`=IYC0~S>^Eqa+#&`dT--A;i zLO#})IEUsvX>E~XSMeHo5YB=O9^W|hZ7kvttBM@ienm%>!Ku9ve4BZW;PsLx;Y3>xZpl;1uyF6kUST z_l4HEgXlZH@a+v_%w_qlvzGnXAM(Gl86P;)L~qd(b17)@O1J{f+IJN3&DT z6yZ$c8qvgDW<1feal~8>`voZ}qwj)$Cs<^Wqj;vpzE(JUt7Mln(D(0k8f{wSXfgXB zKN`+7dol5G;`1@zKF}6L$S=_`2&PUpkVrKd5M@hy7Zjc}R_D(4Nr8Ez59PTc7Mr`W@Q(>(Cev(&x(fE*vlN}rp8^IAB) z3Kx8_NvmQB==)xgv743+-v8ol1p~}w+-?oyRXBIZve!hyDY8=~WDU-qr%I*7{f(wT z=4UaS>(c6`EXYy1CzkIp`gTsGIC7)!_7rV8JM?YK*wEO4zMBlw42aJk?YBku6419_ zSVJEh`W|m{m7~Hbo6V3F3TOYiO}jFDQYGJ0USTeO4o)T9gtKbUZD;?}Z*YqK zOQ?Jcr~aq!zdW!%yE+0LcVR9cX$tKPz+Be-Q~Yll&X`i=Kbn}!Z3{<--Qm1*&OT)d z&NY=^5+iVaO0wHD3g_x$rS&#A3--LyGsn3ulyN6_8qU$C+RG(yW?T#?4MyKdvyrEW zd%A^C(qto?4`wTVa-i?<+CpJE_@wI+xy{kHR9)IbE?d0+4dG=s%%!@#ZNh)1!O_6l#oFq4fhp3e~9V>J|+n3RV5o(LOa3 z3U$b+C@9yILY1H9>TP{Vp{|WKDg6$qyl)t%p!4Ci474@)p2YI5%`k}iq)Zle+pTKr zLnHn6_=`}~na}wSq&fak=`nn^^2ho;+{tszd=fsFXE@1GOQH6$Z*WtDbh9@3=ip`D zDYaWLJgECz9Sj;gKl2ZsyBn1(S%<&lz0U(P_;%aNFQHKV^t4zHx;}Y0PyB`f+HOoM zaB#0d0w)=7Ti{D+Sl_u2c>rBNqQ4XtW;l-8K(S_>$Je1&tnlUnILh!Vs0lte6zet! z)i%iZGh^J=x@(L(VL6M>Ckv=Gb$>M!-o4GG_#E{#M+xW*-Wu^Za`)?1{-xI;o_;o@Yz1|L)y!s_1n$zb@sVOi@5?AUI~I0CmW z1U=t`4$tJd6>a!QIfdT?rn)66=D;fkqSw2j*B-Yi@|^pMgSIkb99}lTWnma?p?G&c zw7oF<(*jcS*fqW3uP~3lNia_R;fXTn`kE`Z6LRrM@y3U7=P12;cGf@ed5KF zzHs=QjY&S-|01=&2kzb!mdlRuX&-f;SB9s%rWqVz2s_WQIB5HK`d$-!s>pSF6{D&s2A7SP%FE(b3JK*>)TppV53%9m})%o5d zkVZcKc)rXJnbKb!1>Kavfkng=XBvqC(k%fnBrA4A4&Gn zi<(zt9f~&xb2h?oi9CgI_}^y36tYiBkIC!pB|Tip-yO)h+g)Fh3=b)5s=tFiTh~6P z!}xmQx1FTPd_^x67{Q4yZT>J=ZZs%g135ZhyD!7%$vk?B=&SP0erOGkJxwbi`&hWo zFGdHN4R84B2stn3uabR|p7Ms_KHT-@kX9Yk+b;WI1h(`1m(POnpPVm$Cr3KuIaTdo zK!KP}ES!>hUeO38+xLsi!foZ^wPF~*E92a#4peBNTMB?fGdCYSg$*G}aeraodfk(v z=qhU#_qBxnxytMr(8gXWSsUY)-Ej+WfP(z@|M`=3$N42Z3tGLWY^{gInh)dq;3a$E zNk)wObvoqgZm6(LUiB>WS}WooMS99A25RAIvg_?Xa3_sd)fS9DU$?tf10Ji)jUxLb zo>NWh3Ebzr$7uqZ%xY8%qo--;?QeZ3(@5_f15@RvSYN}If|Yq&jBkFu1&K%F{~ozPZFy-=~Lapj9D}^F(>QJZEW%uWE+{H`~NwU#HmaA3P?Sv8HUR$WMD^-f8|NYozcWW`t~q>D}4#GRtEJ*UlARP%U*QE578Go!vNvT<_H1qF(|Bm1ML z(Dp64haaXHwZ4YIhV+gLEYhbGBHT>wxmarJ zz6Cf~U8JxR<0rn!Qy}vfA}Jk|K;BzuR4U0m950x9@E_!1+WbR;oFhR=DWvbNqsuf| zhntx*|2&6WHLV;|(D;Ly<92kgMCx*oebQ*XF)9YSf7wIR0k7u{imyY@WKNc=GVD1v zpW_B!PT$haf{Ap?5)J5L-sQP_1uohoHIe5#!o^`h_D5D=s6!fDJ(8c)K;8$Fv*wb1=kX=*k?KSJ5N&WF5w@-2X_{VKSRr(-pWT ztoToUJKmmeNci_uF`?>I?FmpN`dkhcm{NYPx<;FrR7 zjPJ*jdBqGSm3u1Qg0cNpS>-VIc=P%ZXcRxgCD=%ziu7#f660Z}%Kj*wy9if2Y(45= zAs=3xw=h%JdQxXx;L|Zbi)NVW(fv+(D>IdsCay9PI(Z5>Ou~Qq!MPf|%+%Wrj|_95 zt5AwF8y_=upi7GVGK`B@KR*sH4acpT@iSBXotLhDfGz#DQ>p^Y)ZthPYXPMCcn%5( zGE=quXl&x4wc_jFEJDoGvh<}&M|5qaKOkKWAI#_;W<^itE;c`FsOSI0w;CQFHecL| z9y3eYZ&#pZ{fC|}Fz~l8pEA1Uhi#3MU;)D$Z94SuZxKG@3{4CA7J6XP+Kc_#=-Rev zmr^bCx!YwggRYE+-!^1GF7JbZoama$5VHz~vVFQ&S73ni+8S?ka)fXu7oxA^nwPstxd*8>mry(Q54bnHW6bS>=Fl8=Q$X-Si`=qcp&O>l=+yOn;7 z!`qXJ7ah>YP^8=U9oFsTE|^EBujcYwU3AIB(3R%GnFN+%I`jnl33m3XJeGpR! zfKBc-%rh|OA-B36x|{+EKYxQ}2fNKp(Y4Nx@nHu%=h$0yQW!sf%T}X~E^of})?_Hf zwxYBMd9#PyO-W}RN9PmhC(XKUJ$eRhIuHH_4ac0Gbwjzry1GN?(#h-J@EFG2-)X%K zT@vM=KP13=(WM_4(4(*NCfFUa2v%1Ql3tlnQwwxuQRS09!rIm}FKu+4{G3(r0nWa9 zWub?@v#i(h8sJ8Mq0hI`CF|O+@*4`*Iz?-ttLIZ>V;*E0U=&${p185ij&|^AL_OC# zcw?u-10{6TUzO+2hGiRej&q_*!0*vmI2<_QO__n(Ce5+-Wd3Fsr8}U1n5OgzbV>1Y z9Bzi8a!t_(&?R!jX99?m~YDk9jI`r6K;=<8AZ@{EeE5N;|@ zGBnS5C$tQUM_ei9=(;5KuH71HM(n`{|%_h zX}4>MJm>n9t_$dT-Cp{&7tYAE&*+eS{G>$i8QCX1au0W*tK|K)vWL)B)67Z?U8)Z{ zbF*QxoW{5)x>BD__GiO@j*${xbY*|qJdy}cv$wnQZ^JsHdB64sy0o(CX@0_>hPetY zbTKNVA1#DG;>?z~(X)_H;~WGX=lPQVKrC~eM#Bxv%n=HBR7z9T5N!~dlaTE9RF#I zuBMT!-_7Lt-giAKi!N8YzJK@Nr8goAThYZ6b%W@_Z3#|kSP%N3Z%H=LV-~t@^49P|pO3{I&Ogw)#*!xpeMe_5 zu+gKB!%IK%4)o6uqDw|!lg9df8uUEAQ-1vdjB?o;_z7}$a~7+k%WTwir4*{Ij;-*c zOQT(={w7rULid&qU3nr~o?V6uCls6(;Zg{v-$itVCN7pjp#uTHI-ChO4u zXQCUrTB7nASkM*fEXm>zZzS+P+K8^7p3j^Uq01;c<2Es7s^ZH2o>g>a%Z@wPqRWt0 z&7IsM3{$CA`$^Y*zV{E|xzxE?ZgicEe%lcW_i|nOy9DzC{zhFvmx^Si%?vpYFCEb* z_sGIE#qJ3*p97y}E}+X;WRZUnvOE`#2|yop-uEV%znoddZXfjZ_MQ->L07bCd{h|p zt(FPezU5;(~6+dBeN{g=}y7Z~ZF9)DtV2i2^x=wd7X^ul@K2u#=bR|@p9AAPK z5xE)O=)3o4DR2(99UmxmL*K?yofJBBje18r$H8QE=F6MJ@tzaf&nk-a~0rjVMkY=Oia!Vcu*uXZrgUer-X<^q@YhOa_tq;H+D?@ zzpL<;aAddb(-=KP<~n@ zfCGJw`yF=`z}%W~H)ix`TIW5zLi+wbbNU6xXXZq0(DmNj{Ll#G(2d%E3SAd|UpDS1 z&-o0+_&B=gx_GYFkmuVRLVFNh>+iNr)|2Nu?)~5hy6p1}zQ2OqxtBkfpv$$>MD9C0 z^{l7J9({o|o-`9KpWwyC&=?bRWd^H9ljkdOB)>ujT^GOGJCXMU=gg8C4Rl?w))#MrEU%M2 z_o1uvMjlfm41;i<3f(3>tIze^PB&_Cz!k=eZ!}= z7gfXTTNdMc(e+;MZ*>*9?@TJ5D5EQ-UZkUz?2~Vi8#T}+cY~qp6D)Kx-C~5UYqG5R zBXB+}!Q?-(4%0lYE{l`@hitOGiM}wW{y_nB4GG5d7sJaN20j=`;{OLejnACWWqw|= zvJ)1u-_kWe*KzRy#Txket?)-Rbp0#eA@B@pAK=_1OWqH5PaGq_%R70~rEZ}-);0r${9Vc|ju8OnF!L>`4{1NCg+#NV1imrPs z!?(*}x%w#WDfDf)>a=ANYTV_`*+jZ3_W311mnW)WATPl2S$4%%F!oM_**iN z>|;a!m$~Tk-EzwR95kJfU*SRz;75JW=o22g=;paMcYNI{T)gbioCs~K3Mm5IdoH;8k(|rs6 z(aJfVj~=&PHO@ASH-Fglp$x`b)qE8sMxL{pN>dl+Yhq0PIa!ZWOWN`_`22peMZmQTXUOJGz+0lVZqy z96!aB_XJAloZiicE{|BXJqBd`3s>{j;j`fEhDr_eWsk_+$i(+XWhMEH;Jsa@#qUVZ!&U86T%WcNbBh!!3mbWH^06<@)8KKxa!--gdC zlXJgy(3v`WR-(4?y9f+)GPPjY_QyM4wg3Jt`A=YA@YA zT>)*mbVtPS_a(`{Te}B}sWL3NV!jkNir0pqFIkqsJqw?^vkg>epLL!otO}9N0LR6G3Sy3pWtTIDJnj*?*60(!*kYpuEvWk#w z^?jY+Kfk}8kJq_w_xpLh&$-UI?uujDomIq7Pg%7$?kwCzPkDMKiZ(%jp2B)f(uG=( zo|5NreefdK6WTQ`xQCvy?(w&|E5h`YDffci1)y&Dn;{+%dJ2z=t+W6rzkSpA++KQ$ z@r&~FTk-i-{|NVNaNa7dJV=b5qWyT;u~d|vGITsmG)0`A!chBa<~zo3m)xi-Lq57o z?g%ZosGpMbVjn$)`pRC~EhG;;ui%DPJP%`sIr#F}VD2!;^GC|>^KN>|7wzkP;`m

p3i!y;BuG?(o)TAaD&!Ts^2NVA;Ri!>9=H18dYehgI#J~L z<(P3Rc>Py&i>4SHemhGgf&Trx>weG^b#`zXYdt|-dEamQ`{9@P$n47taKpwk9oq03 z&`a9j174Ck-gy*kiZEbKfseoJ(uwu>{;C-RKT^-h?Iyhhe9x6>Rewb`d&80@0>2G; zWtOM$xk>F^NfeB;MQ##2iSeXxw>&<4p8w*hKyn{jEUPsJ;Fo*KhMyB&Q(^0a#D(Z7 zXM2C>K82s#lg7&m@VZ(am6r^5HU!Q^gU@>3Qmu!V_n9rdrC^V%k7f<#SNnvJ>qC%r zw4K2db?Dg`mA0Th*O8^uT*!83mqq;Pp=CogeUVJGjDfz2=aC4ZnYd)+uiA(4oc5UNvR?@Jf-}$(;+2cJ{LU$3g$r>s5;I>1#6- z3jy~i8z_jtE6m_=D?jdgK-6ow67_^Wo~5ye$CBgSrfy_4S<`df$f=c+`Yj|cFiQs` zt6uX-8ifa?Z_MG(KC(Wp=6?nQQdJAG;1N6hD0~aD->!zvZSXT3_sWQeuUpNWiVLza zkCayfJa-v5iEo4-6=PBFBxtGSMa2m}-M?e@A3(QgPg-Tnlk3CUS1(cDFl=8)1t?}` z&~F94e#>6+3O-Dw6Js2x%PLU)kE}bx&cJ)m!BU~gZOZuE(!t{*r*K{IyJPQq)W6`@ zG1>$&nK9G~Vcc{OvwIX8CNm58hXeJ{4|+@0wKp z*ds8*(ns6_e(N`6Qul&k7p}7~qi@3J8)L8Gd&frN4SkXC)t2RmlXYhpI4Xs@e0}3o zKgsj6gV~zQs|C%*{q6W1TgTUs98mnQkmeV#iGQ(k8uhvCI;^wdWoVXgkqdRLrKI*I zV_Z0a=j&E@F-|_zR>1XZLJV=|LC$>|m*dgLWiDpXZjj=#ma_?cn~lF!5s7to@6rAC zA+mql&x-7YhpL6aKnCi~7568w!RM^Ah8_*_E|pIWhe4?$PwF!MwGixx9cp zJOcMc$e+RZvp1y^j`+Mme1m%)#={?*b2y_vfuA%@+CfFD!~`*T$dt@Sz5rWI>$6B* zMdSKB6xB1_uEzOpau99WhFj1fpGy=d+QG5isNEzCFo<>#YW?9c%GI0`QbI{ z#C#HAcY}{aLMs10FqD6IARpsXO97_);Wf_4b+--QvtRLK#4z$u$SbN`T>q!;{pl*k z9XhIOhd|4}y7bzpe>R-`uqEhoZr9P{@H2{RFDB>Tql@yq^ca^tx{q2B%shVRc{OPL zI7ZA1KFd}yRH|U*<6k}3_hX(5Xq^hd;SJl@oq?C6WBQLL z4|N+fcAou=afPYWi(1G7dEfG;;8A~~a>Nf)*nGQYiJoNNNPp1}Uox9(|A8dBS{;g^w5orkOvkJOa z!K3_2v5^D(3LVc3nZdhq56>y`oUl)CQsRY|Y=Q2B5Zp)75x;dl@X)HcwPhMiaX(^| z3g40&JX&R_ukI1JPZ^wDnW9+&{Xa-^W}-jA^R3xro*yYwowtS$hfRgqFYwiZaV85q znF=>-V*@>$Xp66dk{@UiuEFn}zh=}RxPyLOas)i;q^Ape;Nf<4YuZVUVb8NV-AiNmWT zE$5&=*y|sqcxWyyKIVUQIg0ult@%vCux61U+ zCwTPj@pXTX{_QTDVJ7c0ncqgcQgQvJ!(qA+c(lIR{bL6?*LtJBB$9b^Y1z7p%v1hZ zIuT?Z412u>s#Q?M93bzNs#ncV!e^sgu6{f?k+ycZjPSCi;Scc6%cxNqc(vX+S@RK0 zni^OvBK`e5bXQ9b>v3eYniX{Q3#aDVNA|(8M-lL3S`qj~o?rK8Gi7@Sv z^E%8|-dF)I>7HZ5_3+uERg-!NT72%lq+Kl!eDv3% z@*jfvi{}nbgROkQ+{*ClU+Y?n1Sj}wOmpCoX{%p*3#5KOxsjcm4@CKJ_I!79M>f4HreX)L)dBOx74Y2%@4YqfS}d2RA$T?@n1%s9H&%5vlm02I zRliUMxdO+-4uZi9bL-~8(H9w{dev4Y4CKp%FoM+ z`dp69-`0Vv@xPY)$+-~{ZkGmHepCO_1Xka8KUV=i$!7;f$axVXb>{vLFuiNjpddNd zz63e4fPdp}rbWt--)pqDV!^;JjXOo;`B^m1PX*6)=Nppw{n-|+YzVT}6dII*X7=pK zj$o#84uzq9hvqI^PhFQr=84utL{qQ zCiqnE747^^&g(hOvcJeP=L1Xq!B@Vbj5O#AZExjeMR;_T^Yt2n77-QH9>jB~eyIo7 zhrBmG@c>!-Pf3W9zHvL&9tGuJ=ZSd3=Yn_m_I%PenPM}4aJF-5nZ)($ z0ny#pQ9q+5;OZ>K-|M_SvK{rglG+9KU|dd4RkIkB+B$K-7Czi|+zaKnp7iB{LK^5U zUdN$}@u1e<{SEN)G}-QWAN(meE`J5}1W$Y)Z-!T+)nH{Ra=LNVWDs~U+Ut-o;SU{G zVR%f7Nam9LJ9w410NP? zogI5XvE&Qd8erCzf{dT=Y4uXRLIa<-m(JHxA+H`D%HlwdEjzz81w1vg``=CYjZLZT zIS0Q9x7N(}$h{o*saWBmU*3Fj9DX#$3$!Yvk6~@9Ss)vgSwA`d810`FClJpKNs7i~ zzvdcc%7s_;SWwsia-C74$p_Tcim!L00TWk5Z%4wfmTEkJ3WCPf z?>N%IuTH%KPVgvW;0U7weM6?C4B_|bz@K})AnV_scUYD1yJm2b&j&uL8;WWCz(oIJ zTlwJgLVc(#8}yR9O+)O+%^^XTG0@SrLdz4hl+|amgm;`+oMHxO zV?0)#3=ghk^(wMo?{&LnRRMCy?piy6zA0>82%Le}$j;k46hUX+G=-mF$at*6ZTLmG zWUI}B)QfRr49Zx?9_|aS@KYX5nIrS-BXw#`4t0wvY(wso^XL74nl8wc+j27%U{o@v zN-sPTEsOiZz`t#!zO?938mXxFapNkb;vvlmichodBbnGaE`Yg z6kahFQG&+?kDM#9@Uv)T+AEE`-I`Bp3H@tNl)cytE?LZ`G{DpB!_1N`d_HW_IFNK`(*uv#K;;l!KeNo%^K;Op~t26vmhUn@Zoo$*Z1G{ z`{DN>jsH*}{MaWmw8FviV~N7#y|pTWWz7e?@Tt9m2R@2j3$7nYA1TS5#URb#j}Wir?UC8=aQ1r4S`JRSZa#VsewM+~8`MFnBR4ay!s|ff!x$g*Yk#V_N+rm+ zwkWp~KH?%YbCU46U^(op2KI3a%#!&PqD%@;gCh-1vqNBWrDdeH3f58k{g2G>7&h%- zF$J4Ey8fww)!Q{5vA`#AbykfI9y9)3ab%yFnD@;f=Lm10*aA7{RJcb^k#*=$6Mv%? zUhNZAt~#KTOle{rC={6#R}a6Kz4Q4e;U{MLl6@1r>fWc)Jq0a z(vD~9@NyZibZ}FJ*Q*+lW8emwst8N;aX|G%0GVH9uZ-^Z@MNxAizEG;KEtO%o{Qt5 zN_$e_^`*q{kSV*}5?JHMHF= z`wPzB*ca*xulx;^m(*aAWj5aw{CLbX94x>OjngL{!80*oN}~uYJ&;444Nvi}3tSyBHp z*LYqr^2*mD+ZOmOZwX&`0~Y3RJCgbB8y*m81}P4TwI|>cA1LS33g2v<*fDW+s_Z_k zPX0ZG`X~?TzPy`$>kfRg=?}SyqwbZXG+v72JnQl0(**T5#ow0(pY*yBt0Pekjpz0Irx=|Usclwul;!~Isq?54~}|yQ093#^FPpA;HAR}c&>aZ;8g|J zzbjedg{P0boMr&}yXC+1$!X;G-}2w}qpw-dHdzpVO~sHO^5~bH{w%E_IUkDhJ~$v7 z`yA;kK{gQPa3JUJ1vv(30Z@VK=GDK%r|Ny}A9&u3K9I|y?|U5NOc?~h^!V~>6@ z69iw|*uD&ck9NSTo%i6;F&e?<0LBb5EGdItneUGCfYWc=W+~te`v8Ygcn$~}m5ji1 zoll!x6|%`}jO1&0jYLI>JcY-!tV}i8pIxg;LXyBSnoExD;L)8joJ{bUx!O|K4o>Oz z+%W*3vI@IY!e=G4DqRJ<+Zt=b1h1Gn&Pr>LmL}r&A=H<7^<487az|6FsvqbiCdRS? z4*a(;%MTBR7`X>FV8OWFmO}8A^D&+kP@;aK%?te$(oUYvgD3NG!HBo;5zdx)S3-WT zJV@s=hDVTDDIkV7;9NYg&^E|TW zLR&^J;o7pyANVPb%w-wDN4Scv|1tO=bU5Au9ygW4mPp^EUE4yo!pCK)C?^`smJI0# z0sC}nc}&r_=!8^tb28uG9nTZLk|Wu76T$qweoPwZr&B&}dpkTWdUCWP;4!$V>{=Xo z&$i$2QWhRlep~Dx!{d6fcNTd*e%43*>j2L;FOFVPBEO5A8&l!cq4)es259V*_icd8 zzpqu~8(jaEeSb^@J`MBF^v{vcm$)pEbLNmY|Lsa}vnz#<>{IOit#^t+E5^H;i|~^O zFu2AKzcXoR!l&^3{|kSl6a=qg_1$h{U$nmxFiiHD@v-R5i6Dc(#+{epW#0Wz={@oq zhkT_b>gC)ipcMTgpIm;$@wST`M3g1$gbHT2_LmMk4SRf6x?~X zY!CW!7k22t>(%jJb$7s!H-ir5@ZuBAG&ckJ8-hln;Y00ordGI_CqMV*CIzrm#M!w8^k)4noeb{C zViy{LhfU=g&2Erpa$|He$luIYcn=h2{qcM z4G+OIS)POF6GtIcj3;tY&qiCaFEZ)PaXN#M^6?B;$$m)NxtF|WXHIZ+uP4uK=!Gb4 z(1*)SFb}-atN-jTJkw8@=c>T3haxY10rc|H>-!6`sOajobZY{k$uw)3~^HnJ&g0HCuQsVHhB5BT;9$ApVW2N{6>&9)3sB&kku8+ zG|rH7@B4;r?uHT*e4_=8K;Xzlx&UQvgdHB@DZSDU6@_Np{ zaDfj~gouVeSh(1=<^UhlxW9u3!PRFvSrX_Q``>QqQE)r+_xBX|x#_)p-U4tlJJgc81@7 zT7x{+Ytc{0ez<5ht^vOrxlIyu@QG(_x=Y?4E$ekpg(3^O*nIASk7D_)lAkL7-~XMA zMR`i_8eZ5gSPLHSb$|K~oKD@lEf{|P0{{U3{~XzOJeFSr$MMR#NlPgsLMmiuE8X_q zdnA#ORaOI~gp7*Jij)~4i74AIAtMbTB8rTNBqHhgp69Rk>)iEneLCm5&UJ20Jh%NO zqfDX3agR!SLD8zY%w!vD(Zp8skbk^KSZHU*_p1} zrbMC67D)f9gdQ*aE}I;tP)}t(%G*h$Q2l#{Jf@%>P05}u=$R+ix+h}n z(bH(6%y%B{@C&MBN7qPQ`k!OyX_N0BGDA=DUz&3V;Lxa&+Hv#@CMzzNL17U;Gj{as zRa+G^hM9FyEo9!Dr>cD&&?6gk@rx9CyL>5Lt^62fh(UEt}T2|k}-d3dnt z1@yTZdF`V?*TtXZx36;jMu_n-JRXZ=llQ?HR-H z>wo3)1L#|;qs3^4z8*zQwzp7}-Ry=Ix?b`m(kY_n{=89OE;QB7)qDbHL(GRxqR-Jz zcmqJradG)!)O}PXEYW zc=OYJsblCFY>Anvh6_Povi?CW1&@m(==<%ex?>sgjNAIVp)dc#nxG%Babe&@B|4+3 z$V z8#kEM?r-xH{$~5R;TXE6k~W-ggtZbCQ7h0udb?N%x~f_ygQL+iG?%;nKho7`OZg5* z_VI_4u5gtV@n`UG1{>W0bqZBy>pBHvbSTuK_emWnUSB);Z!y5DsP-V2(?*(l97NjkXKJi=k8hy}rkf}Ok6yv5Xd#CQB zPvh>#qu0oMC3xjLg-iETW#Z9yXot4bTJ&5#_BOy3ZtuPyDvXZwR&7CNsIc4ncR%#p zy>gp^uC*FRUfzN3=bYV`&~sn=h2bK`a%Y!>*P+9v)APw@T(@Iu+Wbe1Pkk2ldIq(% z_zermbL38^?x}%&>F5V~K6F01?^#<6KdQvYaiGiGDZM#_5pMVUN8Q=4_eqTJ$(slwGNmH;m?1EXYqu>?N7ey`NK2YFXX19&t7*q`VP8R z{FUvN(W&cX>db+zGCre}NsN=@X&N`6uWB=23@sFz(R0qnpIe2=2eD!-`j6{`BTUau zdu0!oQ)GO6(78B7apFhcHBH;SEIgv;3uzYC-1G;ij z`Ql4peFtr|IC`=UyV|$H;WTC!HFOPBs`HZjk>^>$mRm4Uh)a;{<0ikdCDYK?e*D_c zEc8{x%(W~-ogHR>YSCwz`Pcdo3}@ltW=B`wE)&BSFmdeKPEmAi|K>AX2LImCoD#r% z&fZDgCy5RtZtbgEq2v+HQVCdHJbr8hI(_&XLfp!bxrTIpoOPUk2(vYk)kewvP_>I) z09`XDXZXlIl-v-{@r*n_W;=SN&^4S?%#;qZyVmG)peycVKCd^NurT3yg)Wu0yrZw7 zpl;05>*z5Mm8uifq)$zIIl3UZJw;NbFQZ{`das?cF>{2y6sI?0lbyI;O`E(+DBVx&{MvP zw!{S;Pj}3TrNH)$ri{LrCv*K%4+`K}Mw#kxxRy0-Vg=reXA4_~RNA;{4fH)`=o^oN zm4crcY4GnaPs-QtK$qUjn5k%VlnF-n{6&YpYmtg1{yf3V&s_=Q6t1UAbr`Gp_9iGn z=B^GI^4vWADr-vKg99$Ykq^169Gm=Q;*5^Q{1^I9pt6#S4+}a3GPt?jVApxjtufIqsL&@PYMde?K##udMPW zts)dVopenLeUCULEb5{Ehi~DA=<0sxr!RsYahan(O<;jZ<0%t#r0guQk%;xZ*;Xn_)TA$4~xUTE9Z3FCnuwWKSy4Jm!BJ(%Cm@Pa*_HjF@ zJL}2(1*xTZL!Q0dU%Fw#+*>Od^wFuOp7Vv{3R*#)|BD5KOE2VY(6;S9s^Yvob*#BU* zm+XVnftl9miXO`!T*8>E%&L~`*II09Ka!#AhC2>&=<;P65LbtkHs%rcZYz(3hyfAS(x3FULA1ptGJb=~oKX?$RXrlXL4MJ&XTfMChyl z7kYkJ>7{GJw|tHUaeH%LEgd;W#7O*(B*E8o@)J^PB#qz%xhgrd}B=-JfIJdIz^%dxv`qbkox)kpQCi_BNp3)ysQ$@#^kx6Yn9&Axw2tMfqig$rM!dmr$*$ALObhQx*{^2e z==pTtubUla})#9@3*c;?<)*f0LI`4xKB|8(-)iH<)CCSsdl zdG-}$at^=!Z<4+hV;S*xyYk^$2AK(N^klvZVZIIJ<`@Qr(Gz&sXS5wEE~g59fDiMt zC1}v~XfZ8)2CCe;dC&-b_xNLuI>UFTG*!ud9a!8(Z$|cO!)S?3=$Sm3U>6FVvwG)Z z;ke?plB4KorEqsOz^lw`^`%g$!TZ}E*uin!xfxwWZlh)7J~YWU8Ww>p&5?o+p(w9^ zyaReRNU#XJfHza_ecDI%$MAa=$?#>?+Pg7uXR1lBD7udNoL16?+p7&;_`-){>gMC< zv$cMgLY`-1eg<{&z3SJF_vdZN{LFJD660CjG7X?c60;K7AE^$TX2^N_QSQkHX5@WC zWi}=Id39|Qn;E(eNN4U+hF@t9ZmWTheWHJFL0_??hn^yg@qHe*8D084cEQsat2B0q z@nfvcGg(s&X)o^%T!fT|0-v^Pk#k|Ms293Y)ho_X$$RC*2SM^2 H(rh^8>m%g~b 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 Date: Wed, 8 Apr 2015 17:11:27 -0600 Subject: [PATCH 23/85] working on tests for plotDomains --- bet/postProcess/plotDomains.py | 8 +- test/test_Comm.py | 1 + test/test_postProcess/test_plotDomains.py | 153 ++++++++++++++++++++ test/test_sampling/test_adaptiveSampling.py | 4 +- test/test_sampling/test_basicSampling.py | 3 +- test/test_util.py | 1 + 6 files changed, 165 insertions(+), 5 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 5d02154d..efad0e65 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -126,20 +126,22 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, :type p_ref: :class:`np.ndarray` :param boolean save: flag whether or not to save the figure :param boolean show: flag whether or not to show the figure + :param list lnums: integers representing parameter domain coordinate + numbers """ if rho_D != None: rD = rho_D(data) if lnums == None: - lnums = 1+np.array(range(data.shape[1])) + lnums = 1+np.array(range(samples.shape[1])) xlabel = r'$\lambda_{'+str(lnums[0])+'}$' ylabel = r'$\lambda_{'+str(lnums[1])+'}$' savename = 'param_samples_cs.eps' - if data.shape[1] == 2: + if samples.shape[1] == 2: scatter_2D(samples, sample_nos, rD, p_ref, save, show, xlabel, ylabel, savename) - elif data.shape[1] == 3: + elif samples.shape[1] == 3: zlabel = r'$\lambda_{'+str(lnums[2])+'}$' scatter_3D(samples, sample_nos, rD, p_ref, save, show, xlabel, ylabel, zlabel, savename) diff --git a/test/test_Comm.py b/test/test_Comm.py index f57e9c73..3cb98a7e 100644 --- a/test/test_Comm.py +++ b/test/test_Comm.py @@ -1,3 +1,4 @@ +# Lindley Graham 04/07/2015 """ This module contains unittests for :mod:`~bet.Comm` """ diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index e69de29b..fa2792a3 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -0,0 +1,153 @@ +# Lindley Graham 04/07/2015 +""" +This module contains tests for :module:`bet.postProcess.plotDomains`. + + +Tests for the execution of plotting parameter and data domains. +""" + +import unittest, os, glob +import bet.postProcess.plotD as plotDomains +import numpy as np +import numpy.testing as nptest +from bet.Comm import * + +class Test_calc_marg_2D(unittest.TestCase): + """ + Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D + parameter space. + """ + def setUp(self): + """ + Set up problem. + """ + self.lam_domain=np.array([[0.0,1.0],[0.0,1.0], [0.0, 1.0]]) + self.samples=util.meshgrid_ndim((np.linspace(self.lam_domain[0][0], + self.lam_domain[0][1], 10),np.linspace(self.lam_domain[1][0], + self.lam_domain[1][1], 10), np.linspace(self.lam_domain[1][0], + self.lam_domain[1][1], 10))) + self.data = self.samples*3.0 + self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + self.filename("testfigure") + + QoI_range = np.array([3.0, 3.0, 3.0]) + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) + right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) + left = np.all(np.greater_equal(outputs, left), axis=1) + right = np.all(np.less_equal(outputs, right), axis=1) + inside = np.logial_and(left, right) + max_values = np.repeate(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.rho_D = ifun + self.lnums = [1,2,3] + + def tearDown(self): + """ + Tear Down problem + """ + # remove any files the we create + filenames = glob.glob(self.filename+".*") + filenames.append('param_samples_cs.eps') + for f in filenames: + os.remove(f) + + def test_scatter_2D(): + """ + Test :meth:`bet.postProcess.plotDomains.scatter_2D` + """ + sample_nos = [None, 25] + p_ref = [None, self.samples[4,[0, 1]]] + save = [True, False] + for sn in sample_nos: + for pr in p_ref: + for s in save: + yield self.check_scatter_2D, sn, pr, s + + def check_scatter_2D(self, sample_nos, p_ref, save): + try: + plotDomains.scatter_2D(self.samples[:,[0, 1]], sample_nos, + self.P_samples, p_ref, save, False, 'XLABEL', 'YLABEL', + self.filename) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + def test_scatter_3D(): + """ + Test :meth:`bet.postProcess.plotDomains.scatter_3D` + """ + sample_nos = [None, 25] + p_ref = [None, self.samples[4,:]] + save = [True, False] + for sn in sample_nos: + for pr in p_ref: + for s in save: + yield self.check_scatter_3D, sn, pr, s + + def check_scatter_3D(self, sample_nos, p_ref, save): + try: + plotDomains.scatter_3D(self.samples, sample_nos, self.P_samples, + p_ref, save, False, 'XLABEL', 'YLABEL', 'ZLABEL', + self.filename) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + def test_show_param(): + """ + Test :meth:`bet.postProcess.plotDomains.show_param` + """ + sample_nos = [None, 25] + save = [True, False] + samples = [self.samples, self.samples[:,[0, 1]]] + lnums = [None, self.lnums] + + for sample in samples: + for ln in lnums: + for sn in sample_nos: + p_ref = [None, samples[4,:]] + for pr in p_ref: + for s in save: + yield self.check_show_param, samples, pr, sn, s, ln + + def check_show_param(self, samples, sample_nos, p_ref, save, lnums): + try: + plotDomains.show_param(samples, self.data, self.rho_D, p_ref, + sample_nos, save, False, lnums) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + def test_show_data(): + """ + Test :meth:`bet.postProcess.plotDomains.show_data` + """ + sample_nos = [None, 25] + save = [True, False] + data_sets = [self.data, self.data[:,[0, 1]]] + qnums = [None, self.lnums] + + for data in data_sets: + for qn in qnums: + for sn in sample_nos: + Q_ref = [None, data[4,:]] + for qr in Q_ref: + for s in save: + yield self.check_show_data, data, sn, qr, s, qn + + def check_show_data(self, data, sample_nos, q_ref, save, qnums): + try: + plotDomains.show_data(data, self.rho_D, q_ref, + sample_nos, save, False, qnums) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 001f8eaa..2726f517 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -1,5 +1,7 @@ +# Lindley Graham 04/07/2015 + """ -This module contains unittests for :mod:`~bet.util` +This module contains unittests for :mod:`~bet.sampling.basicSampling` """ import unittest, os diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index bea8ef1d..528e985f 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -1,5 +1,6 @@ +# Lindley Graham 04/07/2015 """ -This module contains unittests for :mod:`~bet.util` +This module contains unittests for :mod:`~bet.sampling.basicSampling:` """ import unittest, os diff --git a/test/test_util.py b/test/test_util.py index 9958eacc..4e19b3a2 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -1,3 +1,4 @@ +# Lindley Graham 04/07/2015 """ This module contains unittests for :mod:`~bet.util` """ From 4572d1eac02f94a3a6c93fe413da49116d29e64b Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Wed, 8 Apr 2015 17:44:10 -0600 Subject: [PATCH 24/85] makes file paths absolute --- test/test_calculateP/test_calculateP.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 79b3d439..77195231 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -6,8 +6,9 @@ Most of these tests should make sure certain values are within a tolerance rather than exact due to the stocastic nature of the algorithms being tested. """ - +import os import unittest +import bet import bet.calculateP.calculateP as calcP import bet.calculateP.simpleFunP as simpleFunP import numpy as np @@ -16,6 +17,7 @@ import bet.util as util from bet.Comm import * +data_path = os.path.dirname(bet.__file__) + "/../test/test_calculateP/datafiles" class TestEmulateIIDLebesgue(unittest.TestCase): """ @@ -127,8 +129,8 @@ class TestProbMethod_3to2(unittest.TestCase): Sets up 3 to 2 map problem. """ def setUp(self): - self.samples = np.loadtxt("datafiles/3to2_samples.txt.gz") - self.data = np.loadtxt("datafiles/3to2_data.txt.gz") + self.samples = np.loadtxt(data_path + "/3to2_samples.txt.gz") + self.data = np.loadtxt(data_path + "/3to2_data.txt.gz") Q_ref = np.array([0.422, 0.9385]) (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) self.lam_domain= np.array([[0.0, 1.0], @@ -156,7 +158,7 @@ def setUp(self): d_distr_samples = self.d_distr_samples, lam_domain = self.lam_domain, d_Tree = self.d_Tree) - self.P_ref = np.loadtxt("datafiles/3to2_prob.txt.gz") + self.P_ref = np.loadtxt(data_path + "/3to2_prob.txt.gz") @@ -176,7 +178,7 @@ def setUp(self): lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - self.P_emulate_ref=np.loadtxt("datafiles/3to2_prob_emulated.txt.gz") + self.P_emulate_ref=np.loadtxt(data_path + "/3to2_prob_emulated.txt.gz") self.P_emulate = util.get_global_values(self.P_emulate) @@ -197,7 +199,7 @@ def setUp(self): lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - self.P_ref = np.loadtxt("datafiles/3to2_prob_mc.txt.gz") + self.P_ref = np.loadtxt(data_path + "/3to2_prob_mc.txt.gz") @@ -209,8 +211,8 @@ def setUp(self): """ Set up problem. """ - self.samples = np.loadtxt("datafiles/3to2_samples.txt.gz") - self.data = np.loadtxt("datafiles/3to2_data.txt.gz")[:,0] + self.samples = np.loadtxt(data_path + "/3to2_samples.txt.gz") + self.data = np.loadtxt(data_path + "/3to2_data.txt.gz")[:,0] Q_ref = np.array([0.422]) (self.d_distr_prob, self.d_distr_samples, self.d_Tree) = simpleFunP.uniform_hyperrectangle(data=self.data,Q_ref=Q_ref, bin_ratio=0.2, center_pts_per_edge = 1) self.lam_domain= np.array([[0.0, 1.0], @@ -235,7 +237,7 @@ def setUp(self): d_distr_samples = self.d_distr_samples, lam_domain = self.lam_domain, d_Tree = self.d_Tree) - self.P_ref = np.loadtxt("datafiles/3to1_prob.txt.gz") + self.P_ref = np.loadtxt(data_path + "/3to1_prob.txt.gz") class Test_prob_emulated_3to1(TestProbMethod_3to1, prob_emulated): @@ -254,7 +256,7 @@ def setUp(self): lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - self.P_emulate_ref=np.loadtxt("datafiles/3to1_prob_emulated.txt.gz") + self.P_emulate_ref=np.loadtxt(data_path + "/3to1_prob_emulated.txt.gz") self.P_emulate = util.get_global_values(self.P_emulate) @@ -275,7 +277,7 @@ def setUp(self): lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) - self.P_ref = np.loadtxt("datafiles/3to1_prob_mc.txt.gz") + self.P_ref = np.loadtxt(data_path + "/3to1_prob_mc.txt.gz") class TestProbMethod_10to4(unittest.TestCase): From 16891686b239eff4786e1b2aa7484ba8908ad7be Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 18:10:11 -0600 Subject: [PATCH 25/85] fixed comments regarding pull request, added plotDomains, made minor changes to plotDomains --- bet/postProcess/plotDomains.py | 6 +- test/test_postProcess/test_plotDomains.py | 88 +++++++++++++++++++-- test/test_sampling/test_adaptiveSampling.py | 8 +- test/test_util.py | 3 +- 4 files changed, 85 insertions(+), 20 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index efad0e65..ab91a3a6 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -194,7 +194,7 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, various :math:`Q_{ref}`. :param samples: Samples to plot - :type samples: :class:`~numpy.ndarray` of shape (ndim, num_samples) + :type samples: :class:`~numpy.ndarray` of shape (num_samples, ndim) :param data: Data associated with ``samples`` :type data: :class:`np.ndarray` :param Q_ref: reference data value @@ -212,7 +212,7 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, if Q_nums == None: Q_nums = range(data.shape[1]) - triangulation = tri.Triangulation(samples[0, :], samples[1, :]) + triangulation = tri.Triangulation(samples[:, 0], samples[:, 1]) triangles = triangulation.triangles for i in Q_nums: @@ -239,7 +239,7 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, dimension of data is :math:`q_1`. :param samples: Samples to plot - :type samples: :class:`~numpy.ndarray` of shape (ndim, num_samples) + :type samples: :class:`~numpy.ndarray` of shape (num_samples, ndim) :param data: Data associated with ``samples`` :type data: :class:`np.ndarray` :param Q_ref: reference data value diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index fa2792a3..a78d3948 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -7,12 +7,16 @@ """ import unittest, os, glob -import bet.postProcess.plotD as plotDomains +import bet.postProcess.plotDomains as plotDomains +import bet.util as util +import matplotlib.tri as tri +from matplotlib.lines import Line2D + import numpy as np import numpy.testing as nptest from bet.Comm import * -class Test_calc_marg_2D(unittest.TestCase): +class test_plotDomains(unittest.TestCase): """ Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D parameter space. @@ -28,7 +32,7 @@ def setUp(self): self.lam_domain[1][1], 10))) self.data = self.samples*3.0 self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) - self.filename("testfigure") + self.filename = "testfigure" QoI_range = np.array([3.0, 3.0, 3.0]) Q_ref = QoI_range*0.5 @@ -44,6 +48,14 @@ def ifun(outputs): return inside.astype('float64')*max_values self.rho_D = ifun self.lnums = [1,2,3] + self.markers = [] + for m in Line2D.markers: + try: + if len(m) == 1 and m != ' ': + self.markers.append(m) + except TypeError: + pass + self.colors = ('b', 'g', 'r', 'c', 'm', 'y', 'k') def tearDown(self): """ @@ -52,10 +64,15 @@ def tearDown(self): # remove any files the we create filenames = glob.glob(self.filename+".*") filenames.append('param_samples_cs.eps') + filenames.append('domain_q1_q1_cs.eps') + filenames.append('q1_q2_domain_Q_cs.eps') + figfiles = glob.glob('figs/*') + filenames.extend(figfiles) for f in filenames: - os.remove(f) + if os.path.exists(f): + os.remove(f) - def test_scatter_2D(): + def test_scatter_2D(self): """ Test :meth:`bet.postProcess.plotDomains.scatter_2D` """ @@ -77,7 +94,7 @@ def check_scatter_2D(self, sample_nos, p_ref, save): go = False nptest.assert_equal(go, True) - def test_scatter_3D(): + def test_scatter_3D(self): """ Test :meth:`bet.postProcess.plotDomains.scatter_3D` """ @@ -99,7 +116,7 @@ def check_scatter_3D(self, sample_nos, p_ref, save): go = False nptest.assert_equal(go, True) - def test_show_param(): + def test_show_param(self): """ Test :meth:`bet.postProcess.plotDomains.show_param` """ @@ -125,7 +142,7 @@ def check_show_param(self, samples, sample_nos, p_ref, save, lnums): go = False nptest.assert_equal(go, True) - def test_show_data(): + def test_show_data(self): """ Test :meth:`bet.postProcess.plotDomains.show_data` """ @@ -151,3 +168,58 @@ def check_show_data(self, data, sample_nos, q_ref, save, qnums): go = False nptest.assert_equal(go, True) + def test_show_data_domain_2D(self): + """ + Test :meth:`bet.postProces.plotDomains.show_data_domain_2D` + """ + ref_markers = [None, self.markers] + ref_colors = [None, self.colors] + triangulation = tri.Triangulation(self.samples[:, 0], self.samples[:, 1]) + triangles = [None, triangulation.triangles] + filenames = [None, ['domain_q1_q1_cs.eps', 'q1_q2_domain_Q_cs.eps']] + save = [None, False] + + for rm in ref_markers: + for rc in ref_colors: + for t in triangles: + for s in save: + for fn in filenames: + yield self.check_show_data_domain_2D, rm, rc, t, s, + fn + + def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, + save, filenames): + Q_ref = self.data[4, [0, 1]] + data = self.data[:, [0, 1]] + try: + plotDomains.show_data_domain_2D(self.samples, data, Q_ref, + ref_markers, ref_colors, triangles=triangles, save=save, + filenames=filenames) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + def test_show_data_domain_multi(self): + """ + Test :meth:`bet.postProcess.plotDomains.show_data_domain_multi` + """ + os.mkdir('figs/') + Q_nums = [None, [1, 2]] + ref_markers = [None, self.markers] + ref_colors = [None, self.colors] + for rm in ref_markers: + for rc in ref_colors: + for qn in Q_nums: + yield self.check_show_data_domain_multi, rm, rc, qn + + def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums): + Q_ref = self.data[4,:] + try: + plotDomains.show_data_domain_multi(self.samples, self.data, + Q_ref, Q_nums, ref_markers=ref_markers, + ref_colors=ref_colors) + go = True + except (RuntimeError, TypeError, NameError): + go = False + diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 2726f517..cfcac4c0 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -1,7 +1,7 @@ # Lindley Graham 04/07/2015 """ -This module contains unittests for :mod:`~bet.sampling.basicSampling` +This module contains unittests for :mod:`~bet.sampling.adaptiveSampling` """ import unittest, os @@ -11,12 +11,6 @@ import scipy.io as sio from bet.Comm import * -""" -TODO: rewrite loadmat test, rewrite init test, rewrite update_mdict test, write -tests for run_BLAHBLAH, write test for generalized_chains, write a test stub -for kernels but do not implement -""" - def test_loadmat_init(): """ Tests :meth:`bet.sampling.adaptiveSampling.loadmat` and diff --git a/test/test_util.py b/test/test_util.py index 4e19b3a2..67d2b656 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -74,8 +74,7 @@ def compare_get_global_values(i): if i == 0: my_array = original_array[my_index] else: - my_array = original_array[my_index, :w - :] + my_array = original_array[my_index, :] recomposed_array = util.get_global_values(my_array) nptest.assert_array_equal(original_array, recomposed_array) From b8123a47f28e7543b8b60789f4aeb5d446b8bebc Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 18:27:04 -0600 Subject: [PATCH 26/85] making path names relative --- test/test_sampling/test_adaptiveSampling.py | 12 +++++++----- test/test_sampling/test_basicSampling.py | 11 +++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index cfcac4c0..462eb498 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -11,6 +11,8 @@ import scipy.io as sio from bet.Comm import * +local_path = os.path.join(os.path.dirname(bet.__file__), "/../test/test_sampling") + def test_loadmat_init(): """ Tests :meth:`bet.sampling.adaptiveSampling.loadmat` and @@ -54,8 +56,8 @@ def test_loadmat_init(): assert loaded_sampler2.num_chains == num_chains2 nptest.assert_array_equal(np.repeat(range(num_chains2), chain_length, 0), loaded_sampler2.sample_batch_no) - os.remove('testfile1.mat') - os.remove('testfile2.mat') + os.remove(os.path.join(local_path, 'testfile1.mat')) + os.remove(os.path.join(local_path, 'testfile2.mat')) def verify_samples(model, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type): @@ -102,7 +104,7 @@ def ifun(outputs): # did the savefiles get created? (proper number, contain proper keys) mdat = {} if size > 1: - mdat = sio.loadmat(os.path.join(os.path.dirname(savefile), + mdat = sio.loadmat(os.path.join(local_path, os.path.dirname(savefile), "proc{}{}".format(rank, os.path.basename(savefile)))) else: mdat = sio.loadmat(savefile) @@ -168,8 +170,8 @@ def tearDown(self): if size > 1: for f in self.savefiles: for proc in range(size): - proc_savefile = os.path.join(os.path.dirname(f), - "proc{}{}".format(rank, + proc_savefile = os.path.join(local_path, + os.path.dirname(f), "proc{}{}".format(rank, os.path.basename(f))) def test_update(self): diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 528e985f..a9e61427 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -8,6 +8,9 @@ import numpy as np import bet.sampling.basicSampling as bsam import scipy.io as sio +import bet + +local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") def test_in_high_prob(): """ @@ -72,8 +75,8 @@ def test_loadmat(): nptest.assert_array_equal(data2, None) assert loaded_sampler2.num_samples == 6 assert loaded_sampler2.lb_model == model - os.remove('testfile1.mat') - os.remove('testfile2.mat') + os.remove(os.join(local_path, 'testfile1.mat')) + os.remove(os.join(loca_path, 'testfile2.mat')) def verify_user_samples(model, sampler, samples, savefile, parallel): # evalulate the model at the samples directly @@ -185,8 +188,8 @@ def map_10t4(x): def tearDown(self): for f in self.savefiles: - if os.path.exists(f+".mat"): - os.remove(f+".mat") + if os.path.exists(os.path.join(local_path, f, ".mat")): + os.remove(os.path.join(local_path, f, ".mat")) def test_init(self): """ From 89cb1485702271c06f7bfb0c6089952f57f7dcb3 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 18:34:18 -0600 Subject: [PATCH 27/85] make paths relative in test_sampling --- test/test_sampling/test_adaptiveSampling.py | 9 ++++++--- test/test_sampling/test_basicSampling.py | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 462eb498..f01f5fb9 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -10,8 +10,9 @@ import bet.sampling.adaptiveSampling as asam import scipy.io as sio from bet.Comm import * +import bet -local_path = os.path.join(os.path.dirname(bet.__file__), "/../test/test_sampling") +local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") def test_loadmat_init(): """ @@ -56,8 +57,10 @@ def test_loadmat_init(): assert loaded_sampler2.num_chains == num_chains2 nptest.assert_array_equal(np.repeat(range(num_chains2), chain_length, 0), loaded_sampler2.sample_batch_no) - os.remove(os.path.join(local_path, 'testfile1.mat')) - os.remove(os.path.join(local_path, 'testfile2.mat')) + if os.path.exists(os.path.join(local_path, 'testfile1.mat')): + os.remove(os.path.join(local_path, 'testfile1.mat')) + if os.path.exists(os.path.join(local_path, 'testfile2.mat')): + os.remove(os.path.join(loca_path, 'testfile2.mat')) def verify_samples(model, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type): diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index a9e61427..109c9874 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -75,8 +75,10 @@ def test_loadmat(): nptest.assert_array_equal(data2, None) assert loaded_sampler2.num_samples == 6 assert loaded_sampler2.lb_model == model - os.remove(os.join(local_path, 'testfile1.mat')) - os.remove(os.join(loca_path, 'testfile2.mat')) + if os.path.exists(os.path.join(local_path, 'testfile1.mat')): + os.remove(os.path.join(local_path, 'testfile1.mat')) + if os.path.exists(os.path.join(local_path, 'testfile2.mat')): + os.remove(os.path.join(loca_path, 'testfile2.mat')) def verify_user_samples(model, sampler, samples, savefile, parallel): # evalulate the model at the samples directly From 6d05a8e4a81acb1925e152878d615856cd81b464 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 8 Apr 2015 18:36:03 -0600 Subject: [PATCH 28/85] made path names relative in test_plotDomains --- test/test_postProcess/test_plotDomains.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index a78d3948..f0ca4f72 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -6,16 +6,17 @@ Tests for the execution of plotting parameter and data domains. """ -import unittest, os, glob +import unittest, os, glob, bet import bet.postProcess.plotDomains as plotDomains import bet.util as util import matplotlib.tri as tri from matplotlib.lines import Line2D - import numpy as np import numpy.testing as nptest from bet.Comm import * +local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") + class test_plotDomains(unittest.TestCase): """ Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D @@ -69,8 +70,8 @@ def tearDown(self): figfiles = glob.glob('figs/*') filenames.extend(figfiles) for f in filenames: - if os.path.exists(f): - os.remove(f) + if os.path.exists(os.path.join(local_path, f)): + os.remove(os.path.join(local_path, f)) def test_scatter_2D(self): """ From ce6640ccfd953df0248f3bf5abb4d0b1130fd8fa Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Thu, 9 Apr 2015 10:39:09 -0600 Subject: [PATCH 29/85] deletes created .eps files during tests --- test/test_postProcess/test_plotP.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index d60cf871..ff0c85ce 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -15,6 +15,8 @@ import numpy.testing as nptest import bet.util as util from bet.Comm import * +import os + class Test_calc_marg_1D(unittest.TestCase): """ @@ -159,8 +161,10 @@ def test_plot_marginals_1D(self): self.lam_domain, nbins = 10) try: - plotP.plot_1D_marginal_probs(marginals, bins,self.lam_domain, interactive=False) + plotP.plot_1D_marginal_probs(marginals, bins,self.lam_domain, filename = "file", interactive=False) go = True + os.remove("file_1D_0.eps") + os.remove("file_1D_1.eps") except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) @@ -176,8 +180,9 @@ def test_plot_marginals_2D(self): marginals[(0,1)][0][0]=0.0 marginals[(0,1)][0][1]*=2.0 try: - plotP.plot_2D_marginal_probs(marginals, bins,self.lam_domain, interactive=False) + plotP.plot_2D_marginal_probs(marginals, bins,self.lam_domain, filename = "file", interactive=False) go = True + os.remove("file_2D_0_1.eps") except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) From 6ae19a4267e87534f261efa17c5ffc1076367694 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 9 Apr 2015 10:51:12 -0600 Subject: [PATCH 30/85] fix spelling error, documentation error, started on simpleFunP tests --- bet/calculateP/calculateP.py | 8 ++++---- bet/calculateP/simpleFunP.py | 14 +++++++------- test/test_calculateP/test_calculateP.py | 2 +- test/test_calculateP/test_simpleFunP.py | 20 ++++++++++++++++++++ 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index 0a24477a..b32e603a 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -51,7 +51,7 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, :param data: The data from running the model given the samples. :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) :param rho_D_M: The simple function approximation of rho_D - :type rho_D_M: :class:`~numpy.ndarray` of shape (M,mdim) + :type rho_D_M: :class:`~numpy.ndarray` of shape (M,) :param d_distr_samples: The samples in the data space that define a parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) @@ -112,7 +112,7 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): :param data: The data from running the model given the samples. :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) :param rho_D_M: The simple function approximation of rho_D - :type rho_D_M: :class:`~numpy.ndarray` of shape (M,mdim) + :type rho_D_M: :class:`~numpy.ndarray` of shape (M,) :param d_distr_samples: The samples in the data space that define a parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) @@ -169,7 +169,7 @@ def prob_qhull(samples, data, rho_D_M, d_distr_samples, :param data: The data from running the model given the samples. :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) :param rho_D_M: The simple function approximation of rho_D - :type rho_D_M: :class:`~numpy.ndarray` of shape (M,mdim) + :type rho_D_M: :class:`~numpy.ndarray` of shape (M,) :param d_distr_samples: The samples in the data space that define a parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M,mdim) @@ -251,7 +251,7 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, :param data: The data from running the model given the samples. :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) :param rho_D_M: The simple function approximation of rho_D - :type rho_D_M: :class:`~numpy.ndarray` of shape (M, mdim) + :type rho_D_M: :class:`~numpy.ndarray` of shape (M,) :param d_distr_samples: The samples in the data space that define a parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index ae7c80b3..fcf8641b 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -43,7 +43,7 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): :param Q_ref: :math:`Q(`\lambda_{reference})` :type Q_ref: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -182,7 +182,7 @@ def normal_normal(Q_ref, M, std, num_d_emulate=1E6): :param std: The standard deviation of each QoI :type std: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples @@ -259,7 +259,7 @@ def unif_normal(Q_ref, M, std, num_d_emulate=1E6): :param std: The standard deviation of each QoI :type std: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples @@ -336,7 +336,7 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): additional two points will be added to create the bounding layer :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -385,7 +385,7 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) additional two points will be added to create the bounding layer :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples @@ -429,7 +429,7 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): additional two points will be added to create the bounding layer :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples @@ -477,7 +477,7 @@ def uniform_data(data): additional two points will be added to create the bounding layer :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` and + :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 77195231..165de28c 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -1,6 +1,6 @@ # Steven Mattis and Lindley Graham 04/06/2015 """ -This module contains tests for :module:`bet.caculcateP.calculateP`. +This module contains tests for :module:`bet.calculateP.calculateP`. Most of these tests should make sure certain values are within a tolerance diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index e69de29b..5f992941 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -0,0 +1,20 @@ +# Lindley Graham 04/09/2015 + +""" +This module contains tests for :module:`bet.calculateP.simpleFunP` + +Some of these tests make sure certain values are within a tolerance rather than +exact due to the stochastic nature of the algorithms being tested +""" + +import os, bet, unittest +import bet.calculateP.simpleFunP as simpleFunP +import numpy as np + +local_path = os.path.join(os.path.dirname(bet.__file__), +'../test/test_calulateP') + +class prob_exact: + def test_prob_sum_to_1(self): + """ + Test to see if the From d14e4f8d36ccf017ba6e20eb7cfb9f7a2bdc95d6 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 9 Apr 2015 11:13:22 -0600 Subject: [PATCH 31/85] working on simplefun tests --- test/test_calculateP/test_simpleFunP.py | 41 ++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index 5f992941..82c94925 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -4,17 +4,50 @@ This module contains tests for :module:`bet.calculateP.simpleFunP` Some of these tests make sure certain values are within a tolerance rather than -exact due to the stochastic nature of the algorithms being tested +exact due to the stochastic nature of the algorithms being tested. + +The ouput of all the methods being tested is of the form (rho_D_M, +d_distr_samples, d_Tree) where ``rho_D_M`` and ``d_distr_samples`` are (mdim, +M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` +for d_distr_samples. + """ import os, bet, unittest import bet.calculateP.simpleFunP as simpleFunP import numpy as np +import numpy.test as nptest local_path = os.path.join(os.path.dirname(bet.__file__), '../test/test_calulateP') -class prob_exact: - def test_prob_sum_to_1(self): +class prob: + def test_rho_D_M_sum_to_1(self): + """ + Test that probabilities sum to 1. + """ + nptest.assert_almost_equal(np.sum(self.rho_D_M), 1.0) + def test_rho_D_M_pos(self): + """ + Test that probabilities are non-negative. + """ + assert True == np.all(self.rho_D_M >= 0.0) + def test_dimensions(self): + """ + Test that the dimensions of the outputs are correct. + """ + assert self.rho_D_M.shape[0] == self.d_distr_samples.shape[1] + assert self.data.shape[1] == self.d_distr_samples.shape[0] + assert (self.d_tree.n, self.d_tree.m) == d_distr_samples.shape + +class prob_uniform: + def test_domain(self): """ - Test to see if the + Test that the probabilities within the prescribed domain are non-zero + and that the probabilities outside of the prescribed domain are zero. + """ + # d_distr_samples are (mdim, M) + + + + From 8e594d005529257922526c2ab566bac39265b64f Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Thu, 9 Apr 2015 11:20:58 -0600 Subject: [PATCH 32/85] fixes test_simpleFunP --- test/test_calculateP/test_simpleFunP.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index 82c94925..f46f3217 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -16,7 +16,7 @@ import os, bet, unittest import bet.calculateP.simpleFunP as simpleFunP import numpy as np -import numpy.test as nptest +import numpy.testing as nptest local_path = os.path.join(os.path.dirname(bet.__file__), '../test/test_calulateP') From 5f9c49d96ab6f0c2a2c4ee38eacfc3d453fb492a Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 10 Apr 2015 17:48:38 -0600 Subject: [PATCH 33/85] working on simplefun minor changes and tests to simplefun --- bet/calculateP/simpleFunP.py | 40 +++- test/test_calculateP/test_simpleFunP.py | 299 +++++++++++++++++++++++- 2 files changed, 319 insertions(+), 20 deletions(-) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index fcf8641b..147a271d 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -6,9 +6,12 @@ import numpy as np import scipy.spatial as spatial import bet.calculateP.voronoiHistogram as vHist +import collections def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): r""" + TODO: THIS OCCASIONALLY FAILS test.test_calculateP.test_domain FIX ME + Creates a simple function approximation of :math:`\rho_{\mathcal{D}}` where :math:`\rho_{\mathcal{D}}` is a uniform probability density on a generalized rectangle centered at Q_ref. @@ -44,7 +47,7 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): :type Q_ref: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ if len(data.shape) == 1: @@ -175,7 +178,8 @@ def normal_normal(Q_ref, M, std, num_d_emulate=1E6): :math:`\rho_{\mathcal{D},M}` The choice of M is something of an "art" - play around with it and you can get reasonable results with a relatively small number here like 50. - :param int num_d_emulate: Number of samples used to emulate using an MC + :param:w + int num_d_emulate: Number of samples used to emulate using an MC assumption :param Q_ref: :math:`Q(\lambda_{reference})` :type Q_ref: :class:`~numpy.ndarray` of size (mdim,) @@ -183,7 +187,7 @@ def normal_normal(Q_ref, M, std, num_d_emulate=1E6): :type std: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -191,10 +195,18 @@ def normal_normal(Q_ref, M, std, num_d_emulate=1E6): r'''Create M smaples defining M bins in D used to define :math:`\rho_{\mathcal{D},M}` rho_D is assumed to be a multi-variate normal distribution with mean Q_ref and standard deviation std.''' + if not isinstance(Q_ref, collections.Iterable): + Q_ref = np.array([Q_ref]) + if not isinstance(std, collections.Iterable): + std = np.array([std]) - covariance = np.diag(std*std) + covariance = std**2 d_distr_samples = np.zeros((M, len(Q_ref))) + print "d_distr_samples.shape", d_distr_samples.shape + print "Q_ref.shape", Q_ref.shape + print "std.shape", std.shape + if rank == 0: for i in range(len(Q_ref)): d_distr_samples[:, i] = np.random.normal(Q_ref[i], std[i], M) @@ -260,7 +272,7 @@ def unif_normal(Q_ref, M, std, num_d_emulate=1E6): :type std: :class:`~numpy.ndarray` of size (mdim,) :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` is + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -337,7 +349,7 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ # TODO following code could probably be reduced to a few lines @@ -386,7 +398,7 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -395,6 +407,14 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) data_max = np.max(data, 0) data_min = np.min(data, 0) + if not isinstance(center_pts_per_edge, collections.Iterable): + center_pts_per_edge = np.ones((data.shape[1])) * center_pts_per_edge + else: + if not len(center_pts_per_edge) == data.shape[1]: + center_pts_per_edge = np.ones((data.shape[1])) + print 'Warning: center_pts_per_edge dimension mismatch.' + print 'Using 1 in each dimension.' + sur_domain = np.zeros((data.shape[1], 2)) sur_domain[:, 0] = data_min sur_domain[:, 1] = data_max @@ -430,7 +450,7 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ @@ -443,7 +463,7 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): # or as numpy array to see if dimensions match data space dimensions and # that positive integer values are being used. Also, create this change # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. - if not isinstance(center_pts_per_edge, np.ndarray): + if not isinstance(center_pts_per_edge, collections.Iterable): center_pts_per_edge = np.ones((data.shape[1])) * center_pts_per_edge else: if not len(center_pts_per_edge) == data.shape[1]: @@ -478,7 +498,7 @@ def uniform_data(data): :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (mdim, M) :class:`~numpy.ndarray` and `d_Tree` + ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ d_distr_prob = np.ones((data.shape[1],)) diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index 82c94925..b770798a 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -7,21 +7,25 @@ exact due to the stochastic nature of the algorithms being tested. The ouput of all the methods being tested is of the form (rho_D_M, -d_distr_samples, d_Tree) where ``rho_D_M`` and ``d_distr_samples`` are (mdim, -M) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` -for d_distr_samples. +d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and ``d_distr_samples`` are +(M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the +:class:`~scipy.spatial.KDTree` for d_distr_samples. """ import os, bet, unittest -import bet.calculateP.simpleFunP as simpleFunP +import bet.calculateP.simpleFunP as sFun import numpy as np -import numpy.test as nptest +import numpy.testing as nptest local_path = os.path.join(os.path.dirname(bet.__file__), '../test/test_calulateP') -class prob: +class prob(object): + """ + Test that the probabilties sum to 1, are non-negative, and have the correct + dimensions. + """ def test_rho_D_M_sum_to_1(self): """ Test that probabilities sum to 1. @@ -36,18 +40,293 @@ def test_dimensions(self): """ Test that the dimensions of the outputs are correct. """ - assert self.rho_D_M.shape[0] == self.d_distr_samples.shape[1] - assert self.data.shape[1] == self.d_distr_samples.shape[0] - assert (self.d_tree.n, self.d_tree.m) == d_distr_samples.shape + assert self.rho_D_M.shape[0] == self.d_distr_samples.shape[0] + assert self.mdim == self.d_distr_samples.shape[1] + assert (self.d_Tree.n, self.d_Tree.m) == self.d_distr_samples.shape + + +class prob_uniform(prob): + """ + Test that the probabilities within the prescribed domain are non-zero and + that the probabilities outside of the prescribed domain are zero. + """ -class prob_uniform: def test_domain(self): """ Test that the probabilities within the prescribed domain are non-zero and that the probabilities outside of the prescribed domain are zero. """ # d_distr_samples are (mdim, M) + inside = np.logical_and(np.all(np.greater_equal(self.d_distr_samples, + self.rect_domain[:, 0]),axis=1), + np.all(np.less_equal(self.d_distr_samples, + self.rect_domain[:, 1]),axis=1)) + assert np.all(self.rho_D_M[inside] >= 0.0) + #print self.rect_domain + #print "ind, inside", inside + #print "ind, outside", np.logical_not(inside) + #print "inside", self.d_distr_samples[inside] + #print "outside", self.d_distr_samples[np.logical_not(inside)] + #print "inside", self.rho_D_M[inside] + #print "outside", self.rho_D_M[np.logical_not(inside)] + assert np.all(self.rho_D_M[np.logical_not(inside)] == 0.0) + + +class data_01D(object): + """ + Sets up 01D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100,))*10.0 + self.Q_ref = 5.0 + self.data_domain = np.array([0.0, 10.0]) + self.mdim = 1 + + +class data_1D(object): + """ + Sets up 1D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 1))*10.0 + self.Q_ref = np.array([5.0]) + self.data_domain = np.expand_dims(np.array([0.0, 10.0]), axis=0) + self.mdim = 1 +class data_2D(object): + """ + Sets up 2D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 2))*10.0 + self.Q_ref = np.array([5.0, 5.0]) + self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0]]) + self.mdim = 2 + + +class data_3D(object): + """ + Sets up 3D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 3))*10.0 + self.Q_ref = np.array([5.0, 5.0, 5.0]) + self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0] , [0.0, 10.0]]) + self.mdim = 3 + +class unif_unif(prob_uniform): + """ + Set up :meth:`bet.calculateP.simpleFunP.unif_unif` on data domain. + """ + def setUp(self): + """ + Set up problem. + """ + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.unif_unif(self.data, + self.Q_ref, M=67, bin_ratio=0.1, num_d_emulate=1E3) + + if type(self.Q_ref) != np.array: + self.Q_ref = np.array([self.Q_ref]) + if len(self.data_domain.shape) == 1: + self.data_domain = np.expand_dims(self.data_domain, axis=0) + + self.rect_domain = np.zeros((self.data_domain.shape[0], 2)) + r_width = 0.1*self.data_domain[:,1] + + self.rect_domain[:, 0] = self.Q_ref - .5*r_width + self.rect_domain[:, 1] = self.Q_ref + .5*r_width + + def test_M(self): + """ + Test that the right number of d_distr_samples are used to create + rho_D_M. + """ + assert len(self.rho_D_M) == 67 + +class test_unif_unif_01D(data_01D, unif_unif): + """ + Tests :meth:`bet.calculateP.simpleFunP.unif_unif` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_unif_unif_01D, self).createData() + super(test_unif_unif_01D, self).setUp() + +class test_unif_unif_1D(data_1D, unif_unif): + """ + Tests :meth:`bet.calculateP.simpleFunP.unif_unif` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_unif_unif_1D, self).createData() + super(test_unif_unif_1D, self).setUp() + + +class test_unif_unif_2D(data_2D, unif_unif): + """ + Tests :meth:`bet.calculateP.simpleFunP.unif_unif` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_unif_unif_2D, self).createData() + super(test_unif_unif_2D, self).setUp() + + +class test_unif_unif_3D(data_3D, unif_unif): + """ + Tests :meth:`bet.calculateP.simpleFunP.unif_unif` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_unif_unif_3D, self).createData() + super(test_unif_unif_3D, self).setUp() + +@unittest.skip("Implement or remove multivariate_gaussian method from module") +class test_multivariate_gaussian(unittest.TestCase): + """ + TODO: Write a test for multivariate_gaussian or remove from module + """ + pass + +class normal_normal(prob): + """ + Set up :meth:`bet.calculateP.simpleFunP.normal_normal` on data domain. + """ + def setUp(self): + """ + Set up problem. + """ + if type(self.Q_ref) != np.array and type(self.Q_ref) != np.ndarray: + std = 1.0 + else: + std = np.ones(self.Q_ref.shape) + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.normal_normal(self.Q_ref, + M=67, std=std, num_d_emulate=1E3) + + def test_M(self): + """ + Test that the right number of d_distr_samples are used to create + rho_D_M. + """ + assert len(self.rho_D_M) == 67 + +class test_normal_normal_01D(data_01D, normal_normal): + """ + Tests :meth:`bet.calculateP.simpleFunP.normal_normal` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_normal_normal_01D, self).createData() + super(test_normal_normal_01D, self).setUp() + +class test_normal_normal_1D(data_1D, normal_normal): + """ + Tests :meth:`bet.calculateP.simpleFunP.normal_normal` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_normal_normal_1D, self).createData() + super(test_normal_normal_1D, self).setUp() + + +class test_normal_normal_2D(data_2D, normal_normal): + """ + Tests :meth:`bet.calculateP.simpleFunP.normal_normal` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_normal_normal_2D, self).createData() + super(test_normal_normal_2D, self).setUp() + + +class test_normal_normal_3D(data_3D, normal_normal): + """ + Tests :meth:`bet.calculateP.simpleFunP.normal_normal` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_normal_normal_3D, self).createData() + super(test_normal_normal_3D, self).setUp() + + +class uniform_hyperrectangle_base(prob_uniform): + """ + Provides set up and a test to check the number of ``d_distr_samples`` for + an exact simple function approximation of a hyperrectangle. + """ + def setUp(self): + """ + Set up problem. + """ + if type(self.Q_ref) != np.array: + self.Q_ref = np.array([self.Q_ref]) + if len(self.data_domain.shape) == 1: + self.data_domain = np.expand_dims(self.data_domain, axis=0) + + self.rect_domain = np.zeros((self.data_domain.shape[0], 2)) + + def test_M(self): + """ + Test that the right number of d_distr_samples are used to create + rho_D_M. + """ + if not isinstance(self.center_pts_per_edge, collections.Iterable): + assert len(self.rho_D_M) == (self.center_pts_per_edge+2)**self.mdim + else: + assert len(self.rho_D_M) == np.sum(self.center_pts_per_edge+2)**self.mdim + + +class uniform_hyperrectangle_int(uniform_hyperrectanlge_base): + """ + Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` on data domain. + """ + def setUp(self): + """ + Set up problem. + """ + self.center_pts_per_edge = 2 + super(uniform_hyperrectangle_base, self).setUp() + + +class uniform_hyperrectangle_list(uniform_hyperrectangle_base): + """ + Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` on data domain. + """ + def setUp(self): + """ + Set up problem. + """ + self.center_pts_per_edge = 2*np.ones((self.mdim,), dtype=np.int) + super(uniform_hyperrectangle_base, self).setUp() +class uniform_hyperrectangle_user_int(uniform_hyperrectangle_int): From 7ad66feae823b10d2ebe93e6b1d1067ff727d228 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Sun, 12 Apr 2015 19:06:33 -0500 Subject: [PATCH 34/85] finished simpleFunP tests --- bet/calculateP/simpleFunP.py | 39 +- bet/util.py | 19 +- test/test_calculateP/test_simpleFunP.py | 563 +++++++++++++++++++++++- 3 files changed, 591 insertions(+), 30 deletions(-) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index 147a271d..f00eab98 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -8,6 +8,8 @@ import bet.calculateP.voronoiHistogram as vHist import collections +# TODO change bins_size to more informative name like bound_size? + def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): r""" TODO: THIS OCCASIONALLY FAILS test.test_calculateP.test_domain FIX ME @@ -356,11 +358,12 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): # determine the center of the domain if len(domain.shape) == 1: domain = np.expand_dims(domain, axis=1) + # TODO make sure the shape of the domain is correct, if not transpose it domain_center = np.mean(domain, 0) domain_min = np.min(domain, 0) domain_max = np.max(domain, 0) domain_lengths = domain_max - domain_min - + # determine the ratio of the lengths of the domain to the lengths of the # hyperrectangle containing the data if len(data.shape) == 1: @@ -368,7 +371,19 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): data_max = np.max(data, 0) data_min = np.min(data, 0) data_lengths = data_max - data_min - bin_ratios = domain_lengths/data_lengths + bin_ratios = domain_lengths/data_lengths + + # TODO: Check for inputted center_pts_per_edge in case given as list + # or as numpy array to see if dimensions match data space dimensions and + # that positive integer values are being used. Also, create this change + # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. + if not isinstance(center_pts_per_edge, collections.Iterable): + center_pts_per_edge = np.ones((data.shape[1],)) * center_pts_per_edge + else: + if not len(center_pts_per_edge) == data.shape[1]: + center_pts_per_edge = np.ones((data.shape[1],)) + print 'Warning: center_pts_per_edge dimension mismatch.' + print 'Using 1 in each dimension.' return uniform_hyperrectangle(data, domain_center, bin_ratios, center_pts_per_edge) @@ -407,13 +422,20 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) data_max = np.max(data, 0) data_min = np.min(data, 0) + # TODO: Check for inputted center_pts_per_edge in case given as list + # or as numpy array to see if dimensions match data space dimensions and + # that positive integer values are being used. Also, create this change + # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. if not isinstance(center_pts_per_edge, collections.Iterable): - center_pts_per_edge = np.ones((data.shape[1])) * center_pts_per_edge + center_pts_per_edge = np.ones((data.shape[1],)) * center_pts_per_edge else: if not len(center_pts_per_edge) == data.shape[1]: - center_pts_per_edge = np.ones((data.shape[1])) + center_pts_per_edge = np.ones((data.shape[1],)) print 'Warning: center_pts_per_edge dimension mismatch.' print 'Using 1 in each dimension.' + # TODO: see note above + if not isinstance(bin_size, collections.Iterable): + bin_size = bin_size*np.ones((data.shape[1],)) sur_domain = np.zeros((data.shape[1], 2)) sur_domain[:, 0] = data_min @@ -459,7 +481,7 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): data_max = np.max(data, 0) data_min = np.min(data, 0) - # TO-DO: Check for inputted center_pts_per_edge in case given as list + # TODO: Check for inputted center_pts_per_edge in case given as list # or as numpy array to see if dimensions match data space dimensions and # that positive integer values are being used. Also, create this change # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. @@ -467,9 +489,11 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): center_pts_per_edge = np.ones((data.shape[1])) * center_pts_per_edge else: if not len(center_pts_per_edge) == data.shape[1]: - center_pts_per_edge = np.ones((data.shape[1])) + center_pts_per_edge = np.ones((data.shape[1], )) print 'Warning: center_pts_per_edge dimension mismatch.' print 'Using 1 in each dimension.' + if not isinstance(bin_ratio, collections.Iterable): + bin_ratio = bin_ratio*np.ones((data.shape[1], )) sur_domain = np.zeros((data.shape[1], 2)) sur_domain[:, 0] = data_min @@ -501,8 +525,9 @@ def uniform_data(data): ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - d_distr_prob = np.ones((data.shape[1],)) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) + + d_distr_prob = np.ones((data.shape[0],), dtype=np.float)/data.shape[0] d_Tree = spatial.KDTree(data) return (d_distr_prob, data, d_Tree) diff --git a/bet/util.py b/bet/util.py index 3602d9af..4be3b105 100644 --- a/bet/util.py +++ b/bet/util.py @@ -57,7 +57,6 @@ def meshgrid_ndim(X): return X_new - def get_global_values(array): """ TODO: write a version that also works with captial mpi4py method calls @@ -76,3 +75,21 @@ def get_global_values(array): return np.hstack(array) else: return np.vstack(array) + +def fix_dimensions_vector(vector): + """ + TODO: write and document me + """ + pass +def fix_dimensions_domain(domain): + """ + TODO: write and document me + """ + pass +def fix_dimensions_data(data): + """ + TODO: write and document me + """ + pass + + diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index b770798a..be875cb8 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -13,7 +13,7 @@ """ -import os, bet, unittest +import os, bet, unittest, collections import bet.calculateP.simpleFunP as sFun import numpy as np import numpy.testing as nptest @@ -57,10 +57,11 @@ def test_domain(self): and that the probabilities outside of the prescribed domain are zero. """ # d_distr_samples are (mdim, M) + # rect_domain is (mdim, 2) inside = np.logical_and(np.all(np.greater_equal(self.d_distr_samples, - self.rect_domain[:, 0]),axis=1), + self.rect_domain[:, 0]), axis=1), np.all(np.less_equal(self.d_distr_samples, - self.rect_domain[:, 1]),axis=1)) + self.rect_domain[:, 1]), axis=1)) assert np.all(self.rho_D_M[inside] >= 0.0) #print self.rect_domain #print "ind, inside", inside @@ -124,7 +125,7 @@ def createData(self): """ self.data = np.random.random((100, 3))*10.0 self.Q_ref = np.array([5.0, 5.0, 5.0]) - self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0] , [0.0, 10.0]]) + self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0], [0.0, 10.0]]) self.mdim = 3 class unif_unif(prob_uniform): @@ -144,7 +145,7 @@ def setUp(self): self.data_domain = np.expand_dims(self.data_domain, axis=0) self.rect_domain = np.zeros((self.data_domain.shape[0], 2)) - r_width = 0.1*self.data_domain[:,1] + r_width = 0.1*self.data_domain[:, 1] self.rect_domain[:, 0] = self.Q_ref - .5*r_width self.rect_domain[:, 1] = self.Q_ref + .5*r_width @@ -202,7 +203,7 @@ def setUp(self): super(test_unif_unif_3D, self).createData() super(test_unif_unif_3D, self).setUp() -@unittest.skip("Implement or remove multivariate_gaussian method from module") +@unittest.skip("Implement or remove multivariate_gaussian method from module") class test_multivariate_gaussian(unittest.TestCase): """ TODO: Write a test for multivariate_gaussian or remove from module @@ -220,7 +221,7 @@ def setUp(self): if type(self.Q_ref) != np.array and type(self.Q_ref) != np.ndarray: std = 1.0 else: - std = np.ones(self.Q_ref.shape) + std = np.ones(self.Q_ref.shape) self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.normal_normal(self.Q_ref, M=67, std=std, num_d_emulate=1E3) @@ -283,50 +284,568 @@ class uniform_hyperrectangle_base(prob_uniform): Provides set up and a test to check the number of ``d_distr_samples`` for an exact simple function approximation of a hyperrectangle. """ + def test_M(self): + """ + Test that the right number of d_distr_samples are used to create + rho_D_M. + """ + if not isinstance(self.center_pts_per_edge, collections.Iterable): + assert len(self.rho_D_M) == (self.center_pts_per_edge+2)**self.mdim + else: + assert len(self.rho_D_M) == np.prod(self.center_pts_per_edge+2) + + +class uniform_hyperrectangle_int(uniform_hyperrectangle_base): + """ + Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_*` with an + int type value for ``center_pts_per_edge``. + """ + def setUp(self): + """ + Set up problem. + """ + self.center_pts_per_edge = 2 + + +class uniform_hyperrectangle_list(uniform_hyperrectangle_base): + """ + Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_*` with an + iterable type value for ``center_pts_per_edge``. + """ + def setUp(self): + """ + Set up problem. + """ + self.center_pts_per_edge = 2*np.ones((self.mdim,), dtype=np.int) + +class uniform_hyperrectangle_user_int(uniform_hyperrectangle_int): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_user_int, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + r_width = 0.1*data_domain[:, 1] + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle_user(self.data, + self.rect_domain.transpose(), self.center_pts_per_edge) + +class uniform_hyperrectangle_user_list(uniform_hyperrectangle_list): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_user_list, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + r_width = 0.1*data_domain[:, 1] + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle_user(self.data, + self.rect_domain.transpose(), self.center_pts_per_edge) + + +class test_uniform_hyperrectangle_user_int_01D(data_01D, uniform_hyperrectangle_user_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_int` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_int_01D, self).createData() + super(test_uniform_hyperrectangle_user_int_01D, self).setUp() + +class test_uniform_hyperrectangle_user_int_1D(data_1D, uniform_hyperrectangle_user_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_int` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_int_1D, self).createData() + super(test_uniform_hyperrectangle_user_int_1D, self).setUp() + + +class test_uniform_hyperrectangle_user_int_2D(data_2D, uniform_hyperrectangle_user_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_int` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_int_2D, self).createData() + super(test_uniform_hyperrectangle_user_int_2D, self).setUp() + + +class test_uniform_hyperrectangle_user_int_3D(data_3D, uniform_hyperrectangle_user_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_int` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_int_3D, self).createData() + super(test_uniform_hyperrectangle_user_int_3D, self).setUp() + + +class test_uniform_hyperrectangle_user_list_01D(data_01D, uniform_hyperrectangle_user_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_list` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_list_01D, self).createData() + super(test_uniform_hyperrectangle_user_list_01D, self).setUp() + +class test_uniform_hyperrectangle_user_list_1D(data_1D, uniform_hyperrectangle_user_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_list` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_list_1D, self).createData() + super(test_uniform_hyperrectangle_user_list_1D, self).setUp() + + +class test_uniform_hyperrectangle_user_list_2D(data_2D, uniform_hyperrectangle_user_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_list` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_list_2D, self).createData() + super(test_uniform_hyperrectangle_user_list_2D, self).setUp() + + +class test_uniform_hyperrectangle_user_list_3D(data_3D, uniform_hyperrectangle_user_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user_list` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_user_list_3D, self).createData() + super(test_uniform_hyperrectangle_user_list_3D, self).setUp() + + +class uniform_hyperrectangle_size_int(uniform_hyperrectangle_int): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_size_int, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + binsize = 1.0 + r_width = binsize*np.ones(data_domain[:, 1].shape) + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle_binsize(self.data, + self.Q_ref, binsize, self.center_pts_per_edge) + +class uniform_hyperrectangle_size_list(uniform_hyperrectangle_list): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_size_list, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + binsize = 1.0*np.ones((data_domain.shape[0],)) + r_width = binsize + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle_binsize(self.data, + self.Q_ref, binsize, self.center_pts_per_edge) + + +class test_uniform_hyperrectangle_size_int_01D(data_01D, uniform_hyperrectangle_size_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_int` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_int_01D, self).createData() + super(test_uniform_hyperrectangle_size_int_01D, self).setUp() + +class test_uniform_hyperrectangle_size_int_1D(data_1D, uniform_hyperrectangle_size_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_int` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_int_1D, self).createData() + super(test_uniform_hyperrectangle_size_int_1D, self).setUp() + + +class test_uniform_hyperrectangle_size_int_2D(data_2D, uniform_hyperrectangle_size_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_int` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_int_2D, self).createData() + super(test_uniform_hyperrectangle_size_int_2D, self).setUp() + + +class test_uniform_hyperrectangle_size_int_3D(data_3D, uniform_hyperrectangle_size_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_int` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_int_3D, self).createData() + super(test_uniform_hyperrectangle_size_int_3D, self).setUp() + + +class test_uniform_hyperrectangle_size_list_01D(data_01D, uniform_hyperrectangle_size_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_list` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_list_01D, self).createData() + super(test_uniform_hyperrectangle_size_list_01D, self).setUp() + +class test_uniform_hyperrectangle_size_list_1D(data_1D, uniform_hyperrectangle_size_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_list` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_list_1D, self).createData() + super(test_uniform_hyperrectangle_size_list_1D, self).setUp() + + +class test_uniform_hyperrectangle_size_list_2D(data_2D, uniform_hyperrectangle_size_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_list` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_size_list_2D, self).createData() + super(test_uniform_hyperrectangle_size_list_2D, self).setUp() + + +class test_uniform_hyperrectangle_size_list_3D(data_3D, uniform_hyperrectangle_size_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_size_list` on 3D data domain. + """ def setUp(self): """ Set up problem. """ + super(test_uniform_hyperrectangle_size_list_3D, self).createData() + super(test_uniform_hyperrectangle_size_list_3D, self).setUp() + +class uniform_hyperrectangle_ratio_int(uniform_hyperrectangle_int): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_ratio_int, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + binratio = 0.1 + r_width = binratio*data_domain[:, 1] + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle(self.data, + self.Q_ref, binratio, self.center_pts_per_edge) + +class uniform_hyperrectangle_ratio_list(uniform_hyperrectangle_list): + """ + Set up :met:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio` with an + int type of value fo r``center_pts_per_edge`` + + """ + def setUp(self): + """ + Set up problem. + """ + super(uniform_hyperrectangle_ratio_list, self).setUp() + if type(self.Q_ref) != np.array: + Q_ref = np.array([self.Q_ref]) + else: + Q_ref = self.Q_ref + if len(self.data_domain.shape) == 1: + data_domain = np.expand_dims(self.data_domain, axis=0) + else: + data_domain = self.data_domain + + self.rect_domain = np.zeros((data_domain.shape[0], 2)) + binratio = 0.1*np.ones((data_domain.shape[0],)) + r_width = binratio*data_domain[:,1] + + self.rect_domain[:, 0] = Q_ref - .5*r_width + self.rect_domain[:, 1] = Q_ref + .5*r_width + + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_hyperrectangle(self.data, + self.Q_ref, binratio, self.center_pts_per_edge) + + +class test_uniform_hyperrectangle_ratio_int_01D(data_01D, uniform_hyperrectangle_ratio_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_int` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_int_01D, self).createData() + super(test_uniform_hyperrectangle_ratio_int_01D, self).setUp() + +class test_uniform_hyperrectangle_ratio_int_1D(data_1D, uniform_hyperrectangle_ratio_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_int` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_int_1D, self).createData() + super(test_uniform_hyperrectangle_ratio_int_1D, self).setUp() + + +class test_uniform_hyperrectangle_ratio_int_2D(data_2D, uniform_hyperrectangle_ratio_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_int` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_int_2D, self).createData() + super(test_uniform_hyperrectangle_ratio_int_2D, self).setUp() + + +class test_uniform_hyperrectangle_ratio_int_3D(data_3D, uniform_hyperrectangle_ratio_int): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_int` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_int_3D, self).createData() + super(test_uniform_hyperrectangle_ratio_int_3D, self).setUp() + + +class test_uniform_hyperrectangle_ratio_list_01D(data_01D, uniform_hyperrectangle_ratio_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_list` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_list_01D, self).createData() + super(test_uniform_hyperrectangle_ratio_list_01D, self).setUp() + +class test_uniform_hyperrectangle_ratio_list_1D(data_1D, uniform_hyperrectangle_ratio_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_list` on 1D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_list_1D, self).createData() + super(test_uniform_hyperrectangle_ratio_list_1D, self).setUp() + + +class test_uniform_hyperrectangle_ratio_list_2D(data_2D, uniform_hyperrectangle_ratio_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_list` on 2D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_list_2D, self).createData() + super(test_uniform_hyperrectangle_ratio_list_2D, self).setUp() + + +class test_uniform_hyperrectangle_ratio_list_3D(data_3D, uniform_hyperrectangle_ratio_list): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_ratio_list` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_hyperrectangle_ratio_list_3D, self).createData() + super(test_uniform_hyperrectangle_ratio_list_3D, self).setUp() + +class uniform_data(prob_uniform): + """ + Set up :meth:`bet.calculateP.simpleFunP.uniform_data` on data domain. + """ + def setUp(self): + """ + Set up problem. + """ + self.rho_D_M, self.d_distr_samples, self.d_Tree = sFun.uniform_data(self.data) + if type(self.Q_ref) != np.array: self.Q_ref = np.array([self.Q_ref]) if len(self.data_domain.shape) == 1: self.data_domain = np.expand_dims(self.data_domain, axis=0) - - self.rect_domain = np.zeros((self.data_domain.shape[0], 2)) + self.rect_domain = self.data_domain def test_M(self): """ Test that the right number of d_distr_samples are used to create rho_D_M. """ - if not isinstance(self.center_pts_per_edge, collections.Iterable): - assert len(self.rho_D_M) == (self.center_pts_per_edge+2)**self.mdim - else: - assert len(self.rho_D_M) == np.sum(self.center_pts_per_edge+2)**self.mdim + assert len(self.rho_D_M) == self.data.shape[0] +class test_uniform_data_01D(data_01D, uniform_data): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_data` on 01D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_data_01D, self).createData() + super(test_uniform_data_01D, self).setUp() -class uniform_hyperrectangle_int(uniform_hyperrectanlge_base): +class test_uniform_data_1D(data_1D, uniform_data): """ - Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` on data domain. + Tests :meth:`bet.calculateP.simpleFunP.uniform_data` on 1D data domain. """ def setUp(self): """ Set up problem. """ - self.center_pts_per_edge = 2 - super(uniform_hyperrectangle_base, self).setUp() + super(test_uniform_data_1D, self).createData() + super(test_uniform_data_1D, self).setUp() -class uniform_hyperrectangle_list(uniform_hyperrectangle_base): +class test_uniform_data_2D(data_2D, uniform_data): """ - Set up :meth:`bet.calculateP.simpleFunP.uniform_hyperrectangle_user` on data domain. + Tests :meth:`bet.calculateP.simpleFunP.uniform_data` on 2D data domain. """ def setUp(self): """ Set up problem. """ - self.center_pts_per_edge = 2*np.ones((self.mdim,), dtype=np.int) - super(uniform_hyperrectangle_base, self).setUp() + super(test_uniform_data_2D, self).createData() + super(test_uniform_data_2D, self).setUp() + + +class test_uniform_data_3D(data_3D, uniform_data): + """ + Tests :meth:`bet.calculateP.simpleFunP.uniform_data` on 3D data domain. + """ + def setUp(self): + """ + Set up problem. + """ + super(test_uniform_data_3D, self).createData() + super(test_uniform_data_3D, self).setUp() -class uniform_hyperrectangle_user_int(uniform_hyperrectangle_int): From b884007b714bb92dfa806feea72baf298c679d74 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Sun, 12 Apr 2015 20:28:30 -0500 Subject: [PATCH 35/85] working on voronoHistogram tests --- bet/calculateP/voronoiHistogram.py | 3 ++ test/test_calculateP/test_voronoiHistogram.py | 48 +++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index 7cac1112..a10d05b6 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -3,6 +3,9 @@ from scipy import spatial import bet.util as util +# TODO: update documentation to make sure that the retuns and rtype are corrct +# for each of the methods + def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_domain): """ Generates a regular grid of center points that define the voronoi diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index e69de29b..afafdb07 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -0,0 +1,48 @@ +# Lindley Graham 04/12/2015 +""" +""" + +import os, unittest, collections +import bet.caculcateP.voronoiHistogram as vHist +import numpy as np +import numpy.testing as nptest + +# center_and_layer1_points_binsize +# center_and_layer1_points + +# make sure dimensions are correct +# make sure the rect_domain is correct +# make sure the bounding layer is correct + + + +# edges_regular_binsize +# edges_regular +# edges_from_points + +# make sure dimensions are correct +# make sure int_l1 is correct +# make sure int_l2 is correct + + + +# points_from_edges +# make sure dimensions are correct +# make sure shape is correct +# make sure points are correct + + +# histogrammdd_volumes +# make sure dimensions are correct +# make sure H sums to 1 +# make sure volume sums to 1? +# make sure volumes are nonnegative + +# simple_fun_uniform +# make sure dimensions are correct +# make sure rho_D_M sums to 1 +# make sure rho_D_M is nonnegative + + + + From 084c617c52dc6705753dbc807ac6455b8ee2e2e7 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Sun, 12 Apr 2015 20:51:42 -0500 Subject: [PATCH 36/85] working on voronoi tests --- test/test_calculateP/test_voronoiHistogram.py | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index afafdb07..22fae0da 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -13,16 +13,37 @@ # make sure dimensions are correct # make sure the rect_domain is correct # make sure the bounding layer is correct - - +class test_center_and_layer1_points(unittest.TestCase): + def setUp(self): + pass + def test_dimensions(self): + pass + def test_domain(self): + pass + def test_bounding_layer(self): + pass + +class test_center_and_layer1_points_binsize(test_center_and_layer1_points): + def setUp(self): + self.r_ratio = None + super(center_and_layer1_points_binsize, self).setUp() + self.r_size = None # edges_regular_binsize # edges_regular # edges_from_points - # make sure dimensions are correct # make sure int_l1 is correct # make sure int_l2 is correct +class edges(object): + def test_dimensions(self): + pass + +class edges_regular(edges, unittest.TestCase): + def test_l1(self): + pass + def test_l2(self): + pass @@ -32,6 +53,7 @@ # make sure points are correct + # histogrammdd_volumes # make sure dimensions are correct # make sure H sums to 1 From 236e30c4633cd2a2fe9d146e2a24ff7e815d08d4 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 13 Apr 2015 20:52:34 -0500 Subject: [PATCH 37/85] finished testing center_pts_and_layer1(binsize) --- bet/calculateP/voronoiHistogram.py | 22 +- test/test_calculateP/test_voronoiHistogram.py | 301 +++++++++++++++++- 2 files changed, 300 insertions(+), 23 deletions(-) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index a10d05b6..f347d966 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -29,10 +29,11 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: (points, interior_and_layer1) where where points is an + :returns: (points, interior_and_layer1, rect_domain) where where points is an :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 is a list() of dim :class:`numpy.ndarray`s of shape - (center_pts_per_edge+2,). + (center_pts_per_edge+2,), rect_domain is a :class:`numpy.ndarray` of + shape (mdim, 2) """ if np.all(np.greater(r_size, 1)): @@ -47,6 +48,9 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do rect_domain[:, 0] = center - .5*rect_width rect_domain[:, 1] = center + .5*rect_width + if not isinstance(center_pts_per_edge, np.ndarray): + center_pts_per_edge = np.array(center_pts_per_edge) + # determine the locations of the points for the 1st bounding layer layer1_left = rect_domain[:, 0]-rect_width/(2*center_pts_per_edge) layer1_right = rect_domain[:, 1]+rect_width/(2*center_pts_per_edge) @@ -59,11 +63,7 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do interior_and_layer1.append(int_l1) # use meshgrid to make the hyperrectangle shells - if sur_domain.shape[0] == 1: - points = interior_and_layer1[0] - else: - points = util.meshgrid_ndim(interior_and_layer1) - + points = util.meshgrid_ndim(interior_and_layer1) return (points, interior_and_layer1, rect_domain) # TODO This and the previous function are almost identical. Maybe calculate r_size @@ -94,7 +94,8 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): :returns: (points, interior_and_layer1) where where points is an :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 is a list() of dim :class:`numpy.ndarray`s of shape - (center_pts_per_edge+2,). + (center_pts_per_edge+2,), rect_domain is a :class:`numpy.ndarray` of + shape (mdim, 2). """ if np.all(np.greater(r_ratio, 1)): @@ -122,10 +123,7 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): interior_and_layer1.append(int_l1) # use meshgrid to make the hyperrectangle shells - if sur_domain.shape[0] == 1: - points = interior_and_layer1[0] - else: - points = util.meshgrid_ndim(interior_and_layer1) + points = util.meshgrid_ndim(interior_and_layer1) return (points, interior_and_layer1, rect_domain) diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index 22fae0da..0a8461a6 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -1,33 +1,312 @@ +# -*- coding: utf-8 -*- # Lindley Graham 04/12/2015 """ +Test methods in :mod:`bet.calculateP.voronoiHistogram`. Since this module is +not meant to be directly accessed by the user we only test for dimensions 1, 2, +3. We also assume that ``center_points_per_edge`` is a list as specified in the +docString for the methods in :mod:`bet.calculateP.voronoiHistogram`. In other +words, all the dimensions of any arrays must be correct before calling these +methods. """ import os, unittest, collections -import bet.caculcateP.voronoiHistogram as vHist +import bet.calculateP.voronoiHistogram as vHist +import bet.util as util import numpy as np import numpy.testing as nptest +# Do below for dimensions 01, 1, 2, and 3 +class domain_1D(object): + """ + Sets up 1D domain domain problem. + """ + def createDomain(self): + """ + Set up data. + """ + self.center = np.array([5.0]) + self.sur_domain = np.expand_dims(np.array([0.0, 10.0]), axis=0) + self.mdim = 1 + self.center_pts_per_edge = [1] + + +class domain_2D(object): + """ + Sets up 2D domain domain problem. + """ + def createDomain(self): + """ + Set up data. + """ + self.center = np.array([5.0, 5.0]) + self.sur_domain = np.array([[0.0, 10.0], [0.0, 10.0]]) + self.mdim = 2 + self.center_pts_per_edge = [1,2] + + +class domain_3D(object): + """ + Sets up 3D domain domain problem. + """ + def createDomain(self): + """ + Set up data. + """ + self.center = np.array([5.0, 5.0, 5.0]) + self.sur_domain = np.array([[0.0, 10.0], [0.0, 10.0], [0.0, 10.0]]) + self.mdim = 3 + self.center_pts_per_edge = [1,2,1] + # center_and_layer1_points_binsize # center_and_layer1_points # make sure dimensions are correct # make sure the rect_domain is correct # make sure the bounding layer is correct -class test_center_and_layer1_points(unittest.TestCase): +#class center_and_layer1_points(unittest.TestCase): +class center_and_layer1_points(object): + """ + Test :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` + """ def setUp(self): - pass + """ + Set up the problem for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` + """ + self.create_output() + output = vHist.center_and_layer1_points(self.center_pts_per_edge, + self.center, self.r_ratio, self.sur_domain) + self.points, self.interior_and_layer1_VH, self.rect_domain_VH = output + + def create_output(self): + """ + Create output to test the output of + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` + against. + + :param r_ratio: The ratio of the length of the sides of the + hyperrectangle to the surrounding domain + :type r_ratio: int or list() + """ + sur_width = self.sur_domain[:, 1] - self.sur_domain[:, 0] + rect_width = self.r_ratio*sur_width + self.rect_domain = np.empty(self.sur_domain.shape) + self.rect_domain[:, 0] = self.center - .5*rect_width + self.rect_domain[:, 1] = self.center + .5*rect_width + if not isinstance(self.center_pts_per_edge, np.ndarray): + self.center_pts_per_edge = np.array(self.center_pts_per_edge) + layer1_left = self.rect_domain[:, 0]-rect_width/(2*self.center_pts_per_edge) + layer1_right = self.rect_domain[:, 1]+rect_width/(2*self.center_pts_per_edge) + self.interior_and_layer1 = list() + for dim in xrange(self.mdim): + self.interior_and_layer1.append(np.linspace(layer1_left[dim], + layer1_right[dim], self.center_pts_per_edge[dim]+2)) + def test_dimensions(self): - pass - def test_domain(self): - pass + """ + Test the dimensions for :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` + """ + assert self.points.shape == (np.prod(self.center_pts_per_edge+2), + self.mdim) + assert len(self.interior_and_layer1_VH) == self.mdim + nptest.assert_array_almost_equal(self.center_pts_per_edge+2, + [len(dim_layer) for dim_layer in self.interior_and_layer1_VH]) + assert self.rect_domain.shape == (self.mdim, 2) + + def test_rect_domain(self): + """ + Test that the ``rect_domain`` is correct. + """ + nptest.assert_array_almost_equal(self.rect_domain, + self.rect_domain_VH) + def test_bounding_layer(self): - pass + """ + Test that the interior_and_layer1 is correct. + """ + compare_list = list() + for mine, meth in zip(self.interior_and_layer1, self.interior_and_layer1_VH): + compare_list.append(np.allclose(mine, meth)) + assert np.all(compare_list) + + def test_points(self): + """ + Test that the points are correct. + """ + nptest.assert_array_almost_equal(self.points, + util.meshgrid_ndim(self.interior_and_layer1)) + +class center_and_layer1_points_double(center_and_layer1_points): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` when + r_ratio is a double. + """ + def setUp(self): + self.r_ratio = 0.2 + super(center_and_layer1_points_double, self).setUp() -class test_center_and_layer1_points_binsize(test_center_and_layer1_points): +class center_and_layer1_points_list(center_and_layer1_points): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` when + r_ratio is a list. + """ def setUp(self): - self.r_ratio = None - super(center_and_layer1_points_binsize, self).setUp() - self.r_size = None + self.r_ratio = 0.2*np.ones(self.mdim) + super(center_and_layer1_points_list, self).setUp() + + +class center_and_layer1_points_binsize(center_and_layer1_points): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points_binsize` + """ + def setUp(self): + """ + Set up the problem for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` + """ + self.r_ratio = self.r_size/self.sur_domain[:,1] + super(center_and_layer1_points_binsize, self).create_output() + output = vHist.center_and_layer1_points_binsize(self.center_pts_per_edge, + self.center, self.r_size, self.sur_domain) + self.points, self.interior_and_layer1_VH, self.rect_domain_VH = output + + +class center_and_layer1_points_binsize_list(center_and_layer1_points_binsize): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points_binsize` when + r_size is a list. + """ + def setUp(self): + self.r_size = self.sur_domain[:,1]*.02 + super(center_and_layer1_points_binsize_list, self).setUp() + +class center_and_layer1_points_binsize_double(center_and_layer1_points_binsize): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points_binsize` when + r_size is a double. + """ + def setUp(self): + self.r_size = self.sur_domain[0,1]*.02 + super(center_and_layer1_points_binsize_double, self).setUp() + +class test_calp_list_1D(domain_1D, center_and_layer1_points_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 1D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calp_list_1D, self).createDomain() + super(test_calp_list_1D, self).setUp() +class test_calp_list_2D(domain_2D, center_and_layer1_points_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 2D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calp_list_2D, self).createDomain() + super(test_calp_list_2D, self).setUp() +class test_calp_list_3D(domain_3D, center_and_layer1_points_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 3D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calp_list_3D, self).createDomain() + super(test_calp_list_3D, self).setUp() + +class test_calp_double_1D(domain_1D, center_and_layer1_points_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 1D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calp_double_1D, self).createDomain() + super(test_calp_double_1D, self).setUp() +class test_calp_double_2D(domain_2D, center_and_layer1_points_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 2D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calp_double_2D, self).createDomain() + super(test_calp_double_2D, self).setUp() +class test_calp_double_3D(domain_3D, center_and_layer1_points_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 3D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calp_double_3D, self).createDomain() + super(test_calp_double_3D, self).setUp() + + +class test_calps_list_1D(domain_1D, center_and_layer1_points_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 1D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calps_list_1D, self).createDomain() + super(test_calps_list_1D, self).setUp() +class test_calps_list_2D(domain_2D, center_and_layer1_points_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 2D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calps_list_2D, self).createDomain() + super(test_calps_list_2D, self).setUp() +class test_calps_list_3D(domain_3D, center_and_layer1_points_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 3D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_calps_list_3D, self).createDomain() + super(test_calps_list_3D, self).setUp() + +class test_calps_double_1D(domain_1D, center_and_layer1_points_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 1D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calps_double_1D, self).createDomain() + super(test_calps_double_1D, self).setUp() +class test_calps_double_2D(domain_2D, center_and_layer1_points_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 2D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calps_double_2D, self).createDomain() + super(test_calps_double_2D, self).setUp() +class test_calps_double_3D(domain_3D, center_and_layer1_points_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` for a 3D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_calps_double_3D, self).createDomain() + super(test_calps_double_3D, self).setUp() + # edges_regular_binsize # edges_regular From 15b642ac314b5b18837f88ffd6cf073c18009b7f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 14:38:35 -0500 Subject: [PATCH 38/85] two methods remaining in voronoiHistogram that are untested --- bet/calculateP/voronoiHistogram.py | 31 +- test/test_calculateP/test_voronoiHistogram.py | 273 +++++++++++++++++- 2 files changed, 276 insertions(+), 28 deletions(-) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index f347d966..dc026db4 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -157,7 +157,7 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): where points is an :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 and interior_and_layer2 are lists of dim :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) and - (center_pts_per_edge+4,) respectively. + (center_pts_per_edge+3,) respectively. """ # TODO This is redoing stuff that was done when generating the points @@ -167,6 +167,15 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): rect_domain[:, 0] = center - .5*rect_width rect_domain[:, 1] = center + .5*rect_width + if np.any(np.greater_equal(sur_domain[:, 0], rect_domain[:, 0])): + msg = "The hyperrectangle defined by this size is larger than the" + msg += "original domain." + print msg + elif np.any(np.less_equal(sur_domain[:, 1], rect_domain[:, 1])): + msg = "The hyperrectangle defined by this size is larger than the" + msg += "original domain." + print msg + rect_edges = list() rect_and_sur_edges = list() for dim in xrange(sur_domain.shape[0]): @@ -208,18 +217,19 @@ def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): :param sur_domain: minima and maxima of each dimension defining the surrounding domain :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) - + TODO fix return documentation :rtype: tuple + TODO FIX description of the return to match what is acctually returned :returns: (points, interior_and_layer1, interior_and_doublelayer) where where points is an :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 and interior_and_layer2 are lists of dim :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) and - (center_pts_per_edge+4,) respectively. + (center_pts_per_edge+3,) respectively. """ - if np.all(np.greater(r_ratio, 1)): + if np.any(np.greater(r_ratio, 1)): msg = "The hyperrectangle defined by this ratio is larger than the" - msg += "original domain." + msg += "original domain. RATIO: {}".format(r_ratio) print msg # determine the width of the surrounding domain @@ -230,17 +240,6 @@ def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): rect_domain[:, 0] = center - .5*rect_width rect_domain[:, 1] = center + .5*rect_width - if np.all(np.greater_equal(sur_domain[:, 0], rect_domain[:, 0])): - msg = "The hyperrectangle defined by this ratio is larger than the" - msg += "original domain." - print msg - - elif np.all(np.less_equal(sur_domain[:, 1], rect_domain[:, 1])): - msg = "The hyperrectangle defined by this ratio is larger than the" - msg += "original domain." - print msg - - rect_edges = list() rect_and_sur_edges = list() for dim in xrange(sur_domain.shape[0]): diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index 0a8461a6..75f02edd 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -181,7 +181,7 @@ class center_and_layer1_points_binsize_list(center_and_layer1_points_binsize): r_size is a list. """ def setUp(self): - self.r_size = self.sur_domain[:,1]*.02 + self.r_size = self.sur_domain[:,1]*.2 super(center_and_layer1_points_binsize_list, self).setUp() class center_and_layer1_points_binsize_double(center_and_layer1_points_binsize): @@ -191,7 +191,7 @@ class center_and_layer1_points_binsize_double(center_and_layer1_points_binsize): r_size is a double. """ def setUp(self): - self.r_size = self.sur_domain[0,1]*.02 + self.r_size = self.sur_domain[0,1]*.2 super(center_and_layer1_points_binsize_double, self).setUp() class test_calp_list_1D(domain_1D, center_and_layer1_points_list): @@ -315,23 +315,272 @@ def setUp(self): # make sure int_l1 is correct # make sure int_l2 is correct class edges(object): + """ + Provides a method to test that the dimensions of the output (and the output + itself) from methods with the pattern + ``bet.calculateP.voronoiHistogram.edges_*`` are correct. + """ def test_dimensions(self): - pass + """ + Compares the dimensions of the output from + ``bet.calculateP.voronoiHistogram.edges_*``. + """ + compare_dim = list() + for edge, center_ppe in zip(self.rect_and_sur_edges, + self.center_pts_per_edge): + compare_dim.append(len(edge) == center_ppe+3) + assert np.all(compare_dim) + + def test_output(self): + """ + Compares the output from ``bet.calcuateP.voronoiHistogram.edges_*`` + with a known solution + """ + compare_dim = list() + for edge, edgeVH in zip(self.my_edges, self.rect_and_sur_edges): + compare_dim.append(np.allclose(edge, edgeVH)) + assert np.all(compare_dim) -class edges_regular(edges, unittest.TestCase): - def test_l1(self): - pass - def test_l2(self): - pass +class edges_regular(edges): + """ + Test :meth:`bet.calculateP.voronoiHistogram.edges_regular` + """ + def create_output(self): + sur_width = self.sur_domain[:,1]-self.sur_domain[:,0] + rect_width = self.r_ratio*sur_width + rect_domain = np.empty(self.sur_domain.shape) + rect_domain[:, 0] = self.center - .5*rect_width + rect_domain[:, 1] = self.center + .5*rect_width + print rect_domain + self.my_edges = list() + for dim in xrange(self.sur_domain.shape[0]): + int_l1 = np.linspace(rect_domain[dim, 0], rect_domain[dim, 1], + self.center_pts_per_edge[dim]+1) + int_l2 = np.empty((int_l1.shape[0]+2,)) + int_l2[1:-1] = int_l1 + int_l2[0] = self.sur_domain[dim, 0] + int_l2[-1] = self.sur_domain[dim, 1] + self.my_edges.append(int_l2) + + def setUp(self): + self.create_output() + self.rect_and_sur_edges = vHist.edges_regular(self.center_pts_per_edge, self.center, + self.r_ratio, self.sur_domain) -# points_from_edges -# make sure dimensions are correct -# make sure shape is correct -# make sure points are correct +class edges_regular_binsize(edges_regular): + """ + Test :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` + """ + def setUp(self): + self.r_ratio = self.r_size/self.sur_domain[:,1] + super(edges_regular_binsize, self).create_output() + self.rect_and_sur_edges = vHist.edges_regular_binsize(self.center_pts_per_edge, + self.center, self.r_size, self.sur_domain) + + +class edges_regular_double(edges_regular): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.edges_regular` when + r_ratio is a double. + """ + def setUp(self): + self.r_ratio = 0.2 + super(edges_regular_double, self).setUp() + +class edges_regular_list(edges_regular): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.edges_regular` when + r_ratio is a list. + """ + def setUp(self): + self.r_ratio = 0.2*np.ones(self.mdim) + super(edges_regular_list, self).setUp() + +class edges_regular_binsize_list(edges_regular_binsize): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` when + r_size is a list. + """ + def setUp(self): + self.r_size = self.sur_domain[:,1]*.2 + super(edges_regular_binsize_list, self).setUp() + +class edges_regular_binsize_double(edges_regular_binsize): + """ + Provides set up for + :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` when + r_size is a double. + """ + def setUp(self): + self.r_size = self.sur_domain[0,1]*.2 + super(edges_regular_binsize_double, self).setUp() + +class test_er_list_1D(domain_1D, edges_regular_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_er_list_1D, self).createDomain() + super(test_er_list_1D, self).setUp() +class test_er_list_2D(domain_2D, edges_regular_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_er_list_2D, self).createDomain() + super(test_er_list_2D, self).setUp() +class test_er_list_3D(domain_3D, edges_regular_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_er_list_3D, self).createDomain() + super(test_er_list_3D, self).setUp() + +class test_er_double_1D(domain_1D, edges_regular_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_er_double_1D, self).createDomain() + super(test_er_double_1D, self).setUp() +class test_er_double_2D(domain_2D, edges_regular_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_er_double_2D, self).createDomain() + super(test_er_double_2D, self).setUp() +class test_er_double_3D(domain_3D, edges_regular_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_er_double_3D, self).createDomain() + super(test_er_double_3D, self).setUp() +class test_ers_list_1D(domain_1D, edges_regular_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_ers_list_1D, self).createDomain() + super(test_ers_list_1D, self).setUp() +class test_ers_list_2D(domain_2D, edges_regular_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_ers_list_2D, self).createDomain() + super(test_ers_list_2D, self).setUp() +class test_ers_list_3D(domain_3D, edges_regular_binsize_list): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D + domain with r_ratio as a list. + """ + def setUp(self): + super(test_ers_list_3D, self).createDomain() + super(test_ers_list_3D, self).setUp() + +class test_ers_double_1D(domain_1D, edges_regular_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_ers_double_1D, self).createDomain() + super(test_ers_double_1D, self).setUp() +class test_ers_double_2D(domain_2D, edges_regular_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_ers_double_2D, self).createDomain() + super(test_ers_double_2D, self).setUp() +class test_ers_double_3D(domain_3D, edges_regular_binsize_double): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_ers_double_3D, self).createDomain() + super(test_ers_double_3D, self).setUp() + +class edges_from_points(edges): + """ + Test :meth:`bet.calculateP.edges_from_points` + """ + def setUp(self): + points = list() + self.my_edges = list() + for dim in xrange(self.mdim): + points_dim = np.linspace(self.sur_domain[dim, 0], + self.sur_domain[dim, 1], 4) + points.append(points_dim) + self.my_edges.append((points_dim[1:]+points_dim[:-1])/2) + self.rect_and_sur_edges = vHist.edges_from_points(points) + + def test_dimensions(self): + compare_dim = list() + for edge, my_edge in zip(self.rect_and_sur_edges, + self.my_edges): + compare_dim.append(len(edge) == len(my_edge)) + assert np.all(compare_dim) + +class test_efp_1D(domain_1D, edges_from_points): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 1D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_efp_1D, self).createDomain() + super(test_efp_1D, self).setUp() +class test_efp_2D(domain_2D, edges_from_points): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 2D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_efp_2D, self).createDomain() + super(test_efp_2D, self).setUp() +class test_efp_3D(domain_3D, edges_from_points): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 3D + domain with r_ratio as a double. + """ + def setUp(self): + super(test_efp_3D, self).createDomain() + super(test_efp_3D, self).setUp() # histogrammdd_volumes # make sure dimensions are correct From 68414b0ef02e3045f1fbfb17070c2997e9bce229 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 16:46:06 -0500 Subject: [PATCH 39/85] finsihed testing histogramdd_volume --- bet/calculateP/voronoiHistogram.py | 11 +- test/test_calculateP/test_voronoiHistogram.py | 139 +++++++++++++++--- 2 files changed, 123 insertions(+), 27 deletions(-) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index dc026db4..e5980c9a 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -310,6 +310,7 @@ def histogramdd_volumes(edges, points): along each dimension and an 'ij' ordered sequence of points (1 per voronoi cell) returns a list of the volumes associated with these voronoic cells. + TODO fill this in :param edges: :type edges: :param points: points used to define the voronoi tesselation (only the @@ -327,17 +328,17 @@ def histogramdd_volumes(edges, points): for dim, e in enumerate(edges): if len(edges) == 1: if e[0] >= points_min: - e[0] = points_min-1 + e[0] = points_min-np.finfo(float).eps if e[-1] <= points_max: - e[-1] = points_max+1 + e[-1] = points_max+np.finfo(float).eps else: if e[0] >= points_min[dim]: - e[0] = points_min[dim]-1 + e[0] = points_min[dim]-np.finfo(float).eps if e[-1] <= points_max[dim]: - e[-1] = points_max[dim]+1 + e[-1] = points_max[dim]+np.finfo(float).eps H, _ = np.histogramdd(points, edges, normed=True) - volume = 1/(H*points.shape[0]) + volume = 1.0/(H*points.shape[0]) # account for number of bins # works as long as points are created with 'ij' indexing in meshgrid volume = volume.ravel() return H, volume, edges diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index 75f02edd..4f299c23 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -57,13 +57,6 @@ def createDomain(self): self.mdim = 3 self.center_pts_per_edge = [1,2,1] -# center_and_layer1_points_binsize -# center_and_layer1_points - -# make sure dimensions are correct -# make sure the rect_domain is correct -# make sure the bounding layer is correct -#class center_and_layer1_points(unittest.TestCase): class center_and_layer1_points(object): """ Test :meth:`bet.calculateP.voronoiHistogram.center_and_layer1_points` @@ -308,12 +301,6 @@ def setUp(self): super(test_calps_double_3D, self).setUp() -# edges_regular_binsize -# edges_regular -# edges_from_points -# make sure dimensions are correct -# make sure int_l1 is correct -# make sure int_l2 is correct class edges(object): """ Provides a method to test that the dimensions of the output (and the output @@ -352,7 +339,6 @@ def create_output(self): rect_domain = np.empty(self.sur_domain.shape) rect_domain[:, 0] = self.center - .5*rect_width rect_domain[:, 1] = self.center + .5*rect_width - print rect_domain self.my_edges = list() for dim in xrange(self.sur_domain.shape[0]): int_l1 = np.linspace(rect_domain[dim, 0], rect_domain[dim, 1], @@ -538,6 +524,9 @@ class edges_from_points(edges): Test :meth:`bet.calculateP.edges_from_points` """ def setUp(self): + """ + Set up problem. + """ points = list() self.my_edges = list() for dim in xrange(self.mdim): @@ -548,6 +537,9 @@ def setUp(self): self.rect_and_sur_edges = vHist.edges_from_points(points) def test_dimensions(self): + """ + Test dimensions of :meth:`bet.calculateP.edges_from_points` + """ compare_dim = list() for edge, my_edge in zip(self.rect_and_sur_edges, self.my_edges): @@ -558,7 +550,7 @@ class test_efp_1D(domain_1D, edges_from_points): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 1D - domain with r_ratio as a double. + domain. """ def setUp(self): super(test_efp_1D, self).createDomain() @@ -567,7 +559,7 @@ class test_efp_2D(domain_2D, edges_from_points): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 2D - domain with r_ratio as a double. + domain. """ def setUp(self): super(test_efp_2D, self).createDomain() @@ -576,17 +568,120 @@ class test_efp_3D(domain_3D, edges_from_points): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_from_points` for a 3D - domain with r_ratio as a double. + domain. """ def setUp(self): super(test_efp_3D, self).createDomain() super(test_efp_3D, self).setUp() -# histogrammdd_volumes -# make sure dimensions are correct -# make sure H sums to 1 -# make sure volume sums to 1? -# make sure volumes are nonnegative +class histogramdd_volumes(object): + """ + Test :meth:`bet.calculateP.voronoiHistogram.histogramdd_volumes` + """ + def setUp(self): + points = list() + self.edges = list() + for dim in xrange(self.mdim): + points_dim = np.linspace(self.sur_domain[dim, 0], + self.sur_domain[dim, 1], 4) + points.append(points_dim[1:-1]) + self.edges.append((points_dim[1:]+points_dim[:-1])/2.0) + self.points = util.meshgrid_ndim(points) + self.H, _ = np.histogramdd(self.points, self.edges, normed=True) + volume = 1.0/(self.H*(2.0**self.mdim)) + self.volume = volume.ravel() + output = vHist.histogramdd_volumes(self.edges, self.points) + self.o_H, self.o_volume, self.o_edges = output + + def test_dimensions_H(self): + """ + Test the dimensions of H from + :meth:`bet.calculateP.histogramdd_volumes`` + """ + assert self.H.shape == self.o_H.shape + + def test_dimensions_volume(self): + """ + Test the dimensions of volume from + :meth:`bet.calculateP.histogramdd_volumes`` + """ + assert self.volume.shape == self.o_volume.shape + + def test_dimensions_edges(self): + """ + Test the dimensions of edges from + :meth:`bet.calculateP.histogramdd_volumes`` + """ + compare_dim = list() + for edge, my_edge in zip(self.o_edges, self.edges): + compare_dim.append(len(edge) == len(my_edge)) + assert np.all(compare_dim) + + def test_H_nonnegative(self): + """ + Test that H from :meth:`bet.calculateP.histogramdd_volumes`` + is nonnegative. + """ + assert np.all(np.less(0.0, self.o_H)) + + def test_volumes_nonnegative(self): + """ + Test that volume from :meth:`bet.calculateP.histogramdd_volumes`` + is nonnegative. + """ + assert np.all(np.less(0.0, self.o_volume)) + + def test_H(self): + """ + Test that H from :meth:`bet.calculateP.histogramdd_volumes`` + is correct. + """ + assert np.allclose(self.H, self.o_H) + + def test_volume(self): + """ + Test that volume from :meth:`bet.calculateP.histogramdd_volumes`` + is correct. + """ + assert np.allclose(self.volume, self.o_volume) + + def test_edges(self): + """ + Test that the edges from :meth:`bet.calculateP.histogramdd_volumes`` + are correct. + """ + compare_dim = list() + for edge, my_edge in zip(self.o_edges, self.edges): + compare_dim.append(np.allclose(edge, my_edge)) + assert np.all(compare_dim) + +class test_hddv_1D(domain_1D, histogramdd_volumes): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.histogramdd_volumes` for a 1D + domain. + """ + def setUp(self): + super(test_hddv_1D, self).createDomain() + super(test_hddv_1D, self).setUp() +class test_hddv_2D(domain_2D, histogramdd_volumes): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.histogramdd_volumes` for a 2D + domain. + """ + def setUp(self): + super(test_hddv_2D, self).createDomain() + super(test_hddv_2D, self).setUp() +class test_hddv_3D(domain_3D, histogramdd_volumes): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.histogramdd_volumes` for a 3D + domain. + """ + def setUp(self): + super(test_hddv_3D, self).createDomain() + super(test_hddv_3D, self).setUp() # simple_fun_uniform # make sure dimensions are correct From f54cc80c0f6b430197d23fe9ef3a08ba14cb841b Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 17:06:27 -0500 Subject: [PATCH 40/85] added TODOs about ordering and mpi4py --- bet/calculateP/calculateP.py | 3 +++ bet/calculateP/simpleFunP.py | 3 ++- bet/postProcess/plotP.py | 2 ++ bet/sampling/adaptiveSampling.py | 2 ++ bet/sampling/basicSampling.py | 2 ++ 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index b32e603a..c240c1e8 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -1,3 +1,6 @@ +# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not +# presuming it preserse order anywhere + r""" This module provides methods for calulating the probability measure :math:`P_{\Lambda}`. diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index f00eab98..16a2f458 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -7,7 +7,8 @@ import scipy.spatial as spatial import bet.calculateP.voronoiHistogram as vHist import collections - +# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not +# presuming it preserse order anywhere # TODO change bins_size to more informative name like bound_size? def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index 9209e937..07596bab 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -1,3 +1,5 @@ +# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not +# presuming it preserse order anywhere """ This module provides methods for plotting probabilities. """ diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 8568c93a..97fdb556 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -1,3 +1,5 @@ +# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not +# presuming it preserse order anywhere # -*- coding: utf-8 -*- # Lindley Graham 3/10/2014 """ diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 68de1687..5ca69280 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -1,3 +1,5 @@ +# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not +# presuming it preserse order anywhere # Lindley Graham 4/15/2014 """ This module contains functions for sampling. We assume we are given access to a From 98215af0129281410efea5b9b9d1226b275432e7 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 17:24:01 -0500 Subject: [PATCH 41/85] finished writing tests for voronoiHistogram --- test/__init__.py | 3 +- test/test_calculateP/__init__.py | 5 +- test/test_calculateP/test_voronoiHistogram.py | 61 ++++++++++++++++--- 3 files changed, 57 insertions(+), 12 deletions(-) diff --git a/test/__init__.py b/test/__init__.py index 1ff8b48a..15bdfe52 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -2,5 +2,4 @@ This package contains all of the tests for :program:`BET`. The package structure mirrors the ``bet`` package structure. """ -__all__ = ['test_calculateP', 'test_loadBalance', 'test_sampling', - 'test_visualize'] +__all__ = ['test_calculateP', 'test_postProcess', 'test_sampling'] diff --git a/test/test_calculateP/__init__.py b/test/test_calculateP/__init__.py index 19a745be..076ed6ae 100644 --- a/test/test_calculateP/__init__.py +++ b/test/test_calculateP/__init__.py @@ -1,4 +1,5 @@ """ -This subpackage contains tests for the ``bet.calculateP`` subpackage. +This package contains all of the tests for :program:`BET`. The package +structure mirrors the ``bet`` package structure. """ -__all__ = ['test_calulcateP', 'test_simpleFunP'] +__all__ = ['test_voronoiHistogram', 'test_calculateP', 'test_simpleFunP'] diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index 4f299c23..c5fb1b9c 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -14,6 +14,7 @@ import bet.util as util import numpy as np import numpy.testing as nptest +from test.test_calculateP.test_simpleFunP import prob_uniform # Do below for dimensions 01, 1, 2, and 3 class domain_1D(object): @@ -683,11 +684,55 @@ def setUp(self): super(test_hddv_3D, self).createDomain() super(test_hddv_3D, self).setUp() -# simple_fun_uniform -# make sure dimensions are correct -# make sure rho_D_M sums to 1 -# make sure rho_D_M is nonnegative - - - - +class simple_fun_uniform(prob_uniform): + """ + Test :meth:'bet.calculateP.voronoiHistogram.simple_fun_uniform` + """ + def setUp(self): + """ + Set up the problem + """ + points = list() + edges = list() + self.rect_domain = np.empty((self.mdim, 2)) + for dim in xrange(self.mdim): + points_dim = np.linspace(self.sur_domain[dim, 0], + self.sur_domain[dim, 1], 4) + points.append(points_dim[1:-1]) + edge = (points_dim[1:]+points_dim[:-1])/2.0 + edges.append(edge) + self.rect_domain[dim, :] = edge[[0, -1]] + points = util.meshgrid_ndim(points) + H, _ = np.histogramdd(points, edges, normed=True) + volume = 1.0/(H*(2.0**self.mdim)) + volumes = volume.ravel() + output = vHist.simple_fun_uniform(points, volumes, self.rect_domain) + self.rho_D_M, self.d_distr_samples, self.d_Tree = output + +class test_sfu_1D(domain_1D, simple_fun_uniform): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.simple_fun_uniform` for a 1D + domain. + """ + def setUp(self): + super(test_sfu_1D, self).createDomain() + super(test_sfu_1D, self).setUp() +class test_sfu_2D(domain_2D, simple_fun_uniform): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.simple_fun_uniform` for a 2D + domain. + """ + def setUp(self): + super(test_sfu_2D, self).createDomain() + super(test_sfu_2D, self).setUp() +class test_sfu_3D(domain_3D, simple_fun_uniform): + """ + Test + :meth:`bet.calculateP.voronoiHistogram.simple_fun_uniform` for a 3D + domain. + """ + def setUp(self): + super(test_sfu_3D, self).createDomain() + super(test_sfu_3D, self).setUp() From bf2bbb2946a3bff32fd0d97a9f01c3d73d7a691d Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 19:56:20 -0500 Subject: [PATCH 42/85] minor changes to Comm and util --- bet/Comm.py | 104 +++++++++++++++++++++++++++++++++++++++++++++------- bet/util.py | 7 +--- 2 files changed, 93 insertions(+), 18 deletions(-) diff --git a/bet/Comm.py b/bet/Comm.py index d8862d5f..949caf23 100644 --- a/bet/Comm.py +++ b/bet/Comm.py @@ -1,42 +1,120 @@ """ -This module provides a workaround for people without mpi4py installed +This module provides a workaround for people without mpi4py installed to run BET. """ -class comm_for_no_mpi4py: + +class comm_for_no_mpi4py(object): + + """ + Provides a fake MPI.COMM_WORLD implementation so that the user need not + install mpi4py. + """ + def __init__(self): + """ + Initialization + """ pass + def Get_size(self): + """ + :rtype: int + :returns: 1 + """ return 1 + def Get_rank(self): - return 0 - def allgather(self,val): + """ + :rtype: int + :returns 0 + """ + return 0 + + def allgather(self, val): + """ + :param object val: object to allgather + :rtype: object + :returns: val + """ return val - def allreduce(self,val1, op=None): + + def allreduce(self, val1, op=None): + """ + :param object val1: object to allreduce + :rtype: object + :returns: val1 + """ return val1 - def bcast(self,val, root=0): - return val - def Allgather(self,val): + + def bcast(self, val, root=0): + """ + :param object val: object to broadcast + :param int root: 0 + :rtype: object + :returns: val + """ + return val + + def Allgather(self, val): + """ + :param object val: object to Allgather + :rtype: object + :returns: val + """ return val - def Allreduce(self,val1, val2, op=None): + + def Allreduce(self, val1, val2, op=None): + """ + :param object val1: object to Allreduce + :param object val2: object to Allreduce + :param op: None + :rtype: object + :returns: val1 + """ return val1 - def Bcast(self,val, root=0): + + def Bcast(self, val, root=0): + """ + :param object val: object to gather + :param int root: 0 + :rtype: object + :returns: val + """ return val + def Scatter(self, val1, val2, root=0): + """ + :param object val1: object to Scatter + :param object val2: object to Scatter + :param int root: 0 + :rtype: object + :returns: val1 + """ return val1 -class MPI_for_no_mpi4py: + +class MPI_for_no_mpi4py(object): + + """ + Provides a fake MPI implementation so that the user need not install + mpi4py. + """ + def __init__(self): + """ + Initialization + """ self.SUM = None self.DOUBLE = float self.INT = int - + try: from mpi4py import MPI comm = MPI.COMM_WORLD except ImportError: MPI = MPI_for_no_mpi4py() comm = comm_for_no_mpi4py() - + size = comm.Get_size() rank = comm.Get_rank() diff --git a/bet/util.py b/bet/util.py index 4be3b105..7d598f97 100644 --- a/bet/util.py +++ b/bet/util.py @@ -1,10 +1,9 @@ -import numpy as np -from bet.Comm import * - """ The module contains general tools for BET. """ +import numpy as np +from bet.Comm import * def meshgrid_ndim(X): """ @@ -40,7 +39,6 @@ def meshgrid_ndim(X): alist[9], indexing='ij') - # TODO: use x.flat instead of x.flat[:] X_new = np.vstack( (a.flat[:], b.flat[:], @@ -52,7 +50,6 @@ def meshgrid_ndim(X): h.flat[:], i.flat[:], j.flat[:])).transpose() - # TODO: I don't think this line does anything, remove it X_new = X_new[:, 0:n] return X_new From 277532d65b448027be5608d05e653a71a541531d Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 15 Apr 2015 19:58:15 -0500 Subject: [PATCH 43/85] minor change to util --- bet/util.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bet/util.py b/bet/util.py index 7d598f97..1f660fa8 100644 --- a/bet/util.py +++ b/bet/util.py @@ -78,6 +78,13 @@ def fix_dimensions_vector(vector): TODO: write and document me """ pass + +def fix_dimensions_vector_array(vector): + """ + TODO: write and document me + """ + pass + def fix_dimensions_domain(domain): """ TODO: write and document me From 21c6a378a3507614cde2b02df123326ec25620aa Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 16 Apr 2015 16:23:28 -0500 Subject: [PATCH 44/85] fixed and tested TODOs in Comm and util --- bet/Comm.py | 1 + bet/util.py | 127 +++++++++++++++++++++++++++++++++++++++------- test/test_util.py | 76 ++++++++++++++++++++++++--- 3 files changed, 179 insertions(+), 25 deletions(-) diff --git a/bet/Comm.py b/bet/Comm.py index 949caf23..e7c69c04 100644 --- a/bet/Comm.py +++ b/bet/Comm.py @@ -108,6 +108,7 @@ def __init__(self): self.SUM = None self.DOUBLE = float self.INT = int + self.BOOL = bool try: from mpi4py import MPI diff --git a/bet/util.py b/bet/util.py index 1f660fa8..4cd9d188 100644 --- a/bet/util.py +++ b/bet/util.py @@ -4,6 +4,9 @@ import numpy as np from bet.Comm import * +import collections + +possible_types = {int:MPI.INT, float:MPI.DOUBLE} def meshgrid_ndim(X): """ @@ -54,11 +57,8 @@ def meshgrid_ndim(X): return X_new -def get_global_values(array): +def get_global_values(array, shape=None): """ - TODO: write a version that also works with captial mpi4py method calls - (optional?) - Concatenates local arrays into global array using :meth:`np.vstack`. :param array: Array. @@ -66,34 +66,123 @@ def get_global_values(array): :rtype: :class:'~numpy.ndarray' :returns: array """ - a_shape = len(array.shape) - array = comm.allgather(array, array) - if a_shape == 1: - return np.hstack(array) + + # Figure out the subtype of the elements of the array + dtype = array.dtype + mpi_dtype = False + print dtype + for ptype in possible_types.iterkeys(): + if np.issubdtype(dtype, ptype): + mpi_dtype = True + dtype = ptype + + if shape == None or not mpi_dtype: + # do a lowercase allgather + a_shape = len(array.shape) + array = comm.allgather(array, array) + if a_shape == 1: + return np.hstack(array) + else: + return np.vstack(array) else: - return np.vstack(array) + # do an uppercase Allgather + whole_a = np.empty(shape, dtype=dtype) + print dtype + comm.Allgather([array, possible_types[dtype]], [whole_a, + possible_types[dtype]]) + return array def fix_dimensions_vector(vector): """ - TODO: write and document me + Fix the dimensions of an input so that it is a :class:`numpy.ndarray` of + shape (N,). + + :param vector: numerical object + :rtype: :class:`numpy.ndarray` + :returns: array of shape (N,) + """ - pass + if not isinstance(vector, collections.Iterable): + vector = np.array([vector]) + elif not isinstance(vector, np.ndarray): + vector = np.array(vector) + return vector -def fix_dimensions_vector_array(vector): +def fix_dimensions_vector_2darray(vector): """ - TODO: write and document me + Fix the dimensions of an input so that it is a :class:`numpy.ndarray` of + shape (N,1). + + :param vector: numerical object + :rtype: :class:`numpy.ndarray` + :returns: array of shape (N,1) + """ - pass + vector = fix_dimensions_vector(vector) + if len(vector.shape) == 1: + vector = np.expand_dims(vector, axis=1) + return vector def fix_dimensions_domain(domain): """ - TODO: write and document me + Fix the dimensions of an input so that it is a :class:`numpy.ndarray` of + shape (dim, 2). + + :param vector: numerical object of at least length 2 + :type vector: :class:`collections.Iterable` + :rtype: :class:`numpy.ndarray` + :retuns: array of shape (dim, 2) + """ - pass -def fix_dimensions_data(data): + if not isinstance(domain, np.ndarray): + if len(domain) == 2: + print domain + domain = np.expand_dims(domain, axis=0) + print domain + print domain.shape + else: + raise TypeError("The length must be at least 2.") + elif len(domain.shape) == 1 and domain.shape[0] == 2: + domain = np.expand_dims(domain, axis=0) + elif len(domain.shape) == 2 and domain.shape[1] == 2: + pass # The shape is already correct! + elif len(domain.shape) == 2 and domain.shape[0] == 2: + domain = domain.transpose() + else: + raise TypeError("At least one dimension must have a length of 2.") + return domain + +def fix_dimensions_data(data, dim=None): """ - TODO: write and document me + Fix the dimensions of an input so that it is a :class:`numpy.ndarray` of + shape (N, dim). + + If ``dim`` is non-specified: + If ``data`` is a non-iterable number assumes that ``dim==1``. + If ``data`` is a numpy array with len(shape) == 1 assumes that ``dim==1``. + If ``data`` is a numpy array with len(shape) == 2 assumes that + ``dim==shape[1]``. + + + :param data: numerical object + :param int dim: The dimension of the "data" space. + :rtype: :class:`numpy.ndarray` + :returns: array of shape (N, dim) + """ - pass + if dim == None: + if not isinstance(data, np.ndarray): + return fix_dimensions_vector_2darray(data) + elif len(data.shape) == 1: + return fix_dimensions_vector_2darray(data) + else: + return data + + data = fix_dimensions_vector_2darray(data) + if data.shape[1] != dim: + return data.transpose() + else: + return data + diff --git a/test/test_util.py b/test/test_util.py index 67d2b656..c298314b 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -46,14 +46,13 @@ def test_meshgrid_ndim(): def test_get_global_values(): """ - TODO: make sure the newer version of util matches this test - Tests :meth:`bet.util.get_global_values`. """ - for i in xrange(5): - yield compare_get_global_values, i + for provide_shape in [True, False]: + for i in xrange(5): + yield compare_get_global_values, i, provide_shape -def compare_get_global_values(i): +def compare_get_global_values(i, provide_shape): """ Compares the results of get global values for a vector of shape ``(size*2, i)``. @@ -75,6 +74,71 @@ def compare_get_global_values(i): my_array = original_array[my_index] else: my_array = original_array[my_index, :] - recomposed_array = util.get_global_values(my_array) + if provide_shape: + recomposed_array = util.get_global_values(my_array, original_array.shape) + else: + recomposed_array = util.get_global_values(my_array) nptest.assert_array_equal(original_array, recomposed_array) + +def test_fix_dimensions_vector(): + """ + Tests :meth:`bet.util.fix_dimensions_vector` + """ + values = [1, [1], range(5), np.array(range(5))] + shapes = [(1,), (1,), (5,), (5,)] + for value, shape in zip(values, shapes): + vector = util.fix_dimensions_vector(value) + assert vector.shape == shape + +def test_fix_dimensions_vector_2darray(): + """ + Tests :meth:`bet.util.fix_dimensions_vector_2darray` + """ + values = [1, [1], np.empty((1,1)), range(5), np.array(range(5)), + np.empty((5,1))] + shapes = [(1,1), (1,1), (1,1), (5,1), (5,1), (5,1)] + for value, shape in zip(values, shapes): + vector = util.fix_dimensions_vector_2darray(value) + assert vector.shape == shape + +def test_fix_dimensions_domain(): + """ + Tests :meth:`bet.util.fix_dimensions_domain` + """ + values = [range(2), np.empty((2,)), np.empty((2,1)), np.empty((1,2)), + np.empty((5,2)), np.empty((2,5))] + shapes = [(1,2), (1,2), (1,2), (1,2), (5,2), (5,2)] + for value, shape in zip(values, shapes): + vector = util.fix_dimensions_domain(value) + assert vector.shape == shape + +def test_fix_dimensions_data_nodim(): + """ + Tests :meth`bet.util.fix_dimensions_domain` when `dim` is not specified + """ + values = [1, [1], range(2), np.empty((2,)), np.empty((2,1)), np.empty((1,2)), + np.empty((5,2)), np.empty((2,5))] + shapes = [(1,1), (1,1), (2,1), (2,1), (2,1), (1,2), (5,2), (2,5)] + print len(values), len(shapes) + for value, shape in zip(values, shapes): + vector = util.fix_dimensions_data(value) + print vector, value + print vector.shape, shape + assert vector.shape == shape + +def test_fix_dimensions_data_dim(): + """ + Tests :meth`bet.util.fix_dimensions_domain` when `dim` is specified + """ + values = [1, [1], range(2), np.empty((2,)), np.empty((2,1)), np.empty((1,2)), + np.empty((5,2)), np.empty((2,5)), np.empty((5,2)), np.empty((2,5))] + shapes = [(1,1), (1,1), (1,2), (1,2), (1,2), (1,2), (5,2), (5,2), (2,5), + (2,5)] + dims = [1, 1, 2, 2, 2, 2, 2, 2, 5, 5] + for value, shape, dim in zip(values, shapes, dims): + vector = util.fix_dimensions_data(value, dim) + print vector, value + print vector.shape, shape, dim + assert vector.shape == shape + From 4e76a15e1f89d932eae13a36df21d675ae31cc55 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 16 Apr 2015 18:32:52 -0500 Subject: [PATCH 45/85] worked on TODOs in simpleFunP and voronoiHistogram, updated a test --- bet/calculateP/simpleFunP.py | 159 +++++------------------- bet/calculateP/voronoiHistogram.py | 152 +++++----------------- test/test_calculateP/test_simpleFunP.py | 25 ++++ 3 files changed, 86 insertions(+), 250 deletions(-) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index 16a2f458..e411f3fb 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -7,14 +7,12 @@ import scipy.spatial as spatial import bet.calculateP.voronoiHistogram as vHist import collections -# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not -# presuming it preserse order anywhere -# TODO change bins_size to more informative name like bound_size? +import bet.util as util + +# TODO change bin_size to more informative name like bound_size? def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): r""" - TODO: THIS OCCASIONALLY FAILS test.test_calculateP.test_domain FIX ME - Creates a simple function approximation of :math:`\rho_{\mathcal{D}}` where :math:`\rho_{\mathcal{D}}` is a uniform probability density on a generalized rectangle centered at Q_ref. @@ -53,12 +51,8 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - # Determine the appropriate bin size for this QoI - data_max = np.max(data, 0) - data_min = np.min(data, 0) - bin_size = (data_max-data_min)*bin_ratio + data = util.fix_dimensions_data(data) + bin_size = (np.max(data, 0) - np.min(data,0))*bin_ratio r''' Create M samples defining M Voronoi cells (i.e., "bins") in D used to @@ -123,53 +117,11 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): can then be stored and accessed later by the algorithm using a completely different set of parameter samples and model solves. ''' + # TODO check that the parallel implementation of this is correct + # TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not + # presuming it preserse order anywhere return (rho_D_M, d_distr_samples, d_Tree) -#TODO Empty function hist_regular -def hist_regular(data, distr_samples, nbins): - """ - create nbins regulary spaced bins - check to make sure each bin has about 1 data sample per bin, if not - recompute bins - (hist, edges) = histdd(distr_samples, bins) - http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogramdd.html#numpy.histogramdd - determine d_distr_samples from edges - """ - pass - -# TODO Empty function hist_gaussian -def hist_gaussian(data, distr_samples, nbins): - """ - determine mean, standard deviation of distr_samples - partition D into nbins of equal probability for N(mean, sigma) - check to make sure each bin has about 1 data sample per bin, if not - recompute bins - (hist, edges) = histdd(distr_samples, bins) - determine d_distr_samples from edges - """ - pass - -# TODO Empty Function hist_unif -def hist_unif(data, distr_samples, nbins): - """ - same as hist_regular bit with uniformly spaced bins - unif_unif can and should call this function - """ - pass - -# TODO Empty function gaussian_regular -def gaussian_regular(data, Q_ref, std, nbins, num_d_emulate=1E6): - pass - #return (d_distr_prob, d_distr_samples, d_Tree) - -# TODO Comment or remove multivariate_gaussian -def multivariate_gaussian(x, mean, std): - dim = len(mean) - detDiagCovMatrix = np.sqrt(np.prod(np.diag(std(std)))) - frac = (2.0*np.pi)**(-dim/2.0) * (1.0/detDiagCovMatrix) - fprime = x-mean - return frac*np.exp(-0.5*np.dot(fprime, 1.0/np.diag(std*std))) - def normal_normal(Q_ref, M, std, num_d_emulate=1E6): r""" Creates a simple function approximation of :math:`\rho_{\mathcal{D},M}` @@ -326,11 +278,6 @@ def unif_normal(Q_ref, M, std, num_d_emulate=1E6): # solving the model EVER! This can be done "offline" so to speak. return (rho_D_M, d_distr_samples, d_Tree) -# TODO gaussian_unif is a blank function -def gaussian_unif(data, Q_ref, std, nbins, num_d_emulate=1E6): - pass - #return (d_distr_prob, d_distr_samples, d_Tree) - def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): r""" Creates a simple funciton appoximation of :math:`\rho_{\mathcal{D},M}` @@ -355,38 +302,13 @@ def uniform_hyperrectangle_user(data, domain, center_pts_per_edge=1): ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - # TODO following code could probably be reduced to a few lines - # determine the center of the domain - if len(domain.shape) == 1: - domain = np.expand_dims(domain, axis=1) - # TODO make sure the shape of the domain is correct, if not transpose it + # make sure the shape of the data and the domain are correct + data = util.fix_dimensions_data(data) + domain = util.fix_dimensions_data(domain, data.shape[1]) domain_center = np.mean(domain, 0) - domain_min = np.min(domain, 0) - domain_max = np.max(domain, 0) - domain_lengths = domain_max - domain_min + domain_lengths = np.max(domain, 0) - np.min(domain, 0) - # determine the ratio of the lengths of the domain to the lengths of the - # hyperrectangle containing the data - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - data_max = np.max(data, 0) - data_min = np.min(data, 0) - data_lengths = data_max - data_min - bin_ratios = domain_lengths/data_lengths - - # TODO: Check for inputted center_pts_per_edge in case given as list - # or as numpy array to see if dimensions match data space dimensions and - # that positive integer values are being used. Also, create this change - # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. - if not isinstance(center_pts_per_edge, collections.Iterable): - center_pts_per_edge = np.ones((data.shape[1],)) * center_pts_per_edge - else: - if not len(center_pts_per_edge) == data.shape[1]: - center_pts_per_edge = np.ones((data.shape[1],)) - print 'Warning: center_pts_per_edge dimension mismatch.' - print 'Using 1 in each dimension.' - - return uniform_hyperrectangle(data, domain_center, bin_ratios, + return uniform_hyperrectangle_binsize(data, domain_center, domain_lengths, center_pts_per_edge) def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1): @@ -418,15 +340,8 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - data_max = np.max(data, 0) - data_min = np.min(data, 0) - - # TODO: Check for inputted center_pts_per_edge in case given as list - # or as numpy array to see if dimensions match data space dimensions and - # that positive integer values are being used. Also, create this change - # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. + data = util.fix_dimensions_data(data) + if not isinstance(center_pts_per_edge, collections.Iterable): center_pts_per_edge = np.ones((data.shape[1],)) * center_pts_per_edge else: @@ -434,13 +349,15 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) center_pts_per_edge = np.ones((data.shape[1],)) print 'Warning: center_pts_per_edge dimension mismatch.' print 'Using 1 in each dimension.' - # TODO: see note above + if np.any(np.less(center_pts_per_edge, 0)): + print 'Warning: center_pts_per_edge must be greater than 0' if not isinstance(bin_size, collections.Iterable): bin_size = bin_size*np.ones((data.shape[1],)) + if np.any(np.less(bin_size, 0)): + print 'Warning: center_pts_per_edge must be greater than 0' + + sur_domain = np.array([np.min(data, 0),np.max(data, 0)]).transpose() - sur_domain = np.zeros((data.shape[1], 2)) - sur_domain[:, 0] = data_min - sur_domain[:, 1] = data_max points, _, rect_domain = vHist.center_and_layer1_points_binsize(center_pts_per_edge, Q_ref, bin_size, sur_domain) edges = vHist.edges_regular_binsize(center_pts_per_edge, Q_ref, bin_size, @@ -477,34 +394,15 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) - data_max = np.max(data, 0) - data_min = np.min(data, 0) - - # TODO: Check for inputted center_pts_per_edge in case given as list - # or as numpy array to see if dimensions match data space dimensions and - # that positive integer values are being used. Also, create this change - # elsewhere since center_pts_per_edge is only a scalar if dim(D)=1. - if not isinstance(center_pts_per_edge, collections.Iterable): - center_pts_per_edge = np.ones((data.shape[1])) * center_pts_per_edge - else: - if not len(center_pts_per_edge) == data.shape[1]: - center_pts_per_edge = np.ones((data.shape[1], )) - print 'Warning: center_pts_per_edge dimension mismatch.' - print 'Using 1 in each dimension.' + data = util.fix_dimensions_data(data) + if not isinstance(bin_ratio, collections.Iterable): bin_ratio = bin_ratio*np.ones((data.shape[1], )) - sur_domain = np.zeros((data.shape[1], 2)) - sur_domain[:, 0] = data_min - sur_domain[:, 1] = data_max - points, _, rect_domain = vHist.center_and_layer1_points(center_pts_per_edge, - Q_ref, bin_ratio, sur_domain) - edges = vHist.edges_regular(center_pts_per_edge, Q_ref, bin_ratio, - sur_domain) - _, volumes, _ = vHist.histogramdd_volumes(edges, points) - return vHist.simple_fun_uniform(points, volumes, rect_domain) + sur_domain = np.array([np.min(data, 0),np.max(data, 0)]).transpose() + bin_size = (np.max(data, 0) - np.min(data, 0))*bin_ratio + return uniform_hyperrectangle_binsize(data, Q_ref, bin_size, + center_pts_per_edge) def uniform_data(data): r""" @@ -526,8 +424,7 @@ def uniform_data(data): ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - if len(data.shape) == 1: - data = np.expand_dims(data, axis=1) + data = util.fix_dimensions_data(data) d_distr_prob = np.ones((data.shape[0],), dtype=np.float)/data.shape[0] d_Tree = spatial.KDTree(data) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index e5980c9a..10771355 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -3,9 +3,6 @@ from scipy import spatial import bet.util as util -# TODO: update documentation to make sure that the retuns and rtype are corrct -# for each of the methods - def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_domain): """ Generates a regular grid of center points that define the voronoi @@ -36,21 +33,15 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do shape (mdim, 2) """ - if np.all(np.greater(r_size, 1)): + # determine the hyperrectangle defined by center and r_size + rect_width = r_size*np.ones(sur_domain[:,0].shape) + rect_domain = np.column_stack([center - .5*rect_width, + center + .5*rect_width]) + if np.all(np.greater(r_size, rect_width)): msg = "The hyperrectangle defined by this size is larger than the" msg += "original domain." print msg - #TODO This can be done in fewer lines - # determine the hyperrectangle defined by center and r_size - rect_width = r_size*np.ones(sur_domain[:,0].shape) - rect_domain = np.empty(sur_domain.shape) - rect_domain[:, 0] = center - .5*rect_width - rect_domain[:, 1] = center + .5*rect_width - - if not isinstance(center_pts_per_edge, np.ndarray): - center_pts_per_edge = np.array(center_pts_per_edge) - # determine the locations of the points for the 1st bounding layer layer1_left = rect_domain[:, 0]-rect_width/(2*center_pts_per_edge) layer1_right = rect_domain[:, 1]+rect_width/(2*center_pts_per_edge) @@ -66,8 +57,6 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do points = util.meshgrid_ndim(interior_and_layer1) return (points, interior_and_layer1, rect_domain) -# TODO This and the previous function are almost identical. Maybe calculate r_size -# from r_ratio and call the previous function. def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): r""" Generates a regular grid of center points that define the voronoi @@ -103,29 +92,11 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): msg += "original domain." print msg - # determine the width of the surrounding domain - sur_width = sur_domain[:, 1]-sur_domain[:, 0] - # determine the hyperrectangle defined by center and r_ratio - rect_width = r_ratio*sur_width - rect_domain = np.empty(sur_domain.shape) - rect_domain[:, 0] = center - .5*rect_width - rect_domain[:, 1] = center + .5*rect_width - - # determine the locations of the points for the 1st bounding layer - layer1_left = rect_domain[:, 0]-rect_width/(2*center_pts_per_edge) - layer1_right = rect_domain[:, 1]+rect_width/(2*center_pts_per_edge) - - interior_and_layer1 = list() - for dim in xrange(sur_domain.shape[0]): - # create interior points and 1st layer - int_l1 = np.linspace(layer1_left[dim], - layer1_right[dim], center_pts_per_edge[dim]+2) - interior_and_layer1.append(int_l1) - - # use meshgrid to make the hyperrectangle shells - points = util.meshgrid_ndim(interior_and_layer1) - return (points, interior_and_layer1, rect_domain) + # determine r_size from the width of the surrounding domain + r_size = r_ratio*(sur_domain[:, 1]-sur_domain[:, 0]) + return center_and_layer1_points_binsize(center_pts_per_edge, center, + r_size, sur_domain) def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): """ @@ -153,19 +124,14 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: (points, interior_and_layer1, interior_and_doublelayer) where - where points is an :class:`numpy.ndarray` of shape (num_points, dim), - interior_and_layer1 and interior_and_layer2 are lists of dim - :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) and - (center_pts_per_edge+3,) respectively. - + :returns: interior_and_layer1 is a list of dim + :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) """ # TODO This is redoing stuff that was done when generating the points # determine the hyperrectangle defined by center and r_size rect_width = r_size*np.ones(sur_domain[:,0].shape) - rect_domain = np.empty(sur_domain.shape) - rect_domain[:, 0] = center - .5*rect_width - rect_domain[:, 1] = center + .5*rect_width + rect_domain = np.column_stack([center - .5*rect_width, + center + .5*rect_width]) if np.any(np.greater_equal(sur_domain[:, 0], rect_domain[:, 0])): msg = "The hyperrectangle defined by this size is larger than the" @@ -191,8 +157,7 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): rect_and_sur_edges.append(int_l2) return rect_and_sur_edges -# TODO This and the previous function are almost identical. Maybe calculate r_size -# from r_ratio (or vice versa) and call the previous function. + def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): """ Generates a sequence of arrays describing the edges of the finite voronoi @@ -217,44 +182,20 @@ def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): :param sur_domain: minima and maxima of each dimension defining the surrounding domain :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) - TODO fix return documentation :rtype: tuple - TODO FIX description of the return to match what is acctually returned - :returns: (points, interior_and_layer1, interior_and_doublelayer) where - where points is an :class:`numpy.ndarray` of shape (num_points, dim), - interior_and_layer1 and interior_and_layer2 are lists of dim - :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) and - (center_pts_per_edge+3,) respectively. + :returns: interior_and_layer1 is a list of dim + :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) """ if np.any(np.greater(r_ratio, 1)): msg = "The hyperrectangle defined by this ratio is larger than the" msg += "original domain. RATIO: {}".format(r_ratio) print msg - - # determine the width of the surrounding domain - sur_width = sur_domain[:, 1]-sur_domain[:, 0] - # determine the hyperrectangle defined by center and r_ratio - rect_width = r_ratio*sur_width - rect_domain = np.empty(sur_domain.shape) - rect_domain[:, 0] = center - .5*rect_width - rect_domain[:, 1] = center + .5*rect_width - rect_edges = list() - rect_and_sur_edges = list() - for dim in xrange(sur_domain.shape[0]): - # create interior points and 1st layer - int_l1 = np.linspace(rect_domain[dim, 0], - rect_domain[dim, 1], center_pts_per_edge[dim]+1) - rect_edges.append(int_l1) - # add layers together using indexing fu - int_l2 = np.zeros((int_l1.shape[0]+2,)) - int_l2[1:-1] = int_l1 - int_l2[0] = sur_domain[dim, 0] - int_l2[-1] = sur_domain[dim, 1] - rect_and_sur_edges.append(int_l2) + # determine r_size from the width of the surrounding domain + r_size = r_ratio*(sur_domain[:, 1]-sur_domain[:, 0]) - return rect_and_sur_edges + return edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain) def edges_from_points(points): """ @@ -277,54 +218,30 @@ def edges_from_points(points): edges.append((points_dim[1:]+points_dim[:-1])/2) return edges -def points_from_edges(edges): - """ - Given a sequence of arrays describing the edges of bins formed by voronoi - cells along each dimensions returns the voronoi points that would generate - these cells. - - ..todo:: This method only creates points in the center of the bins. Needs - Needs to be adjusted so that it creates points in the voronoi cell - locations. - - :param edges: A sequence of arrays describing the edges of bins along each - dimension. - :type edges: A list() containing mdim :class:`numpy.ndarray`s of shape - (nbins_per_dim+1,) - - :returns: points, the coordindates of voronoi points that would generate - these bins - :rtype: :class:`numpy.ndarray` of shape (num_points, dim) where num_points - = product(nbins_per_dim) - - """ - #TODO: Implement me. - # create a point inside each of the bins defined by the edges - centers = list() - for e in edges: - centers.append((e[1:]+e[:-1])/2) - def histogramdd_volumes(edges, points): """ Given a sequence of arrays describing the edges of voronoi cells (bins) along each dimension and an 'ij' ordered sequence of points (1 per voronoi cell) returns a list of the volumes associated with these voronoic cells. - TODO fill this in - :param edges: - :type edges: + :param edges: A sequence of arrays describing the edges of bins along + each dimension. + :type edges: A list() containing mdim :class:`numpy.ndarray`s of shape + (nbins_per_dim+1,) :param points: points used to define the voronoi tesselation (only the points that define regions of finite volumes) :type points: :class:`numpy.ndarrray` of shape (num_points, mdim) - :returns: finite volumes associated with ``points`` - :rtype: :class:`numpy.ndarray` of shape (len(points),) + :rtype: tuple of (H, volume, edges) + :returns: H is the result of :meth:`np.histogramdd(points, edges, + normed=True)`, volumes is a :class:`numpy.ndarray` of shape (len(points),) + continaing the finite volumes associated with ``points`` """ # adjust edges points_max = np.max(points, 0) points_min = np.min(points, 0) - # TODO replace with logical arrays to get rid of for loop. + # Use a loop because the number of edges per dimension is not the same. for dim, e in enumerate(edges): if len(edges) == 1: if e[0] >= points_min: @@ -364,14 +281,11 @@ def simple_fun_uniform(points, volumes, rect_domain): `d_Tree` is the :class:`~scipy.spatial.KDTree` for points """ - if len(points.shape) == 1: - points = np.expand_dims(points, axis=1) - # TODOthe lines below could be done in one or two lines. - rect_left = np.repeat([rect_domain[:, 0]], points.shape[0], 0) - rect_right = np.repeat([rect_domain[:,1]], points.shape[0], 0) - rect_left = np.all(np.greater_equal(points, rect_left), axis=1) - rect_right = np.all(np.less_equal(points, rect_right), axis=1) - inside = np.logical_and(rect_left, rect_right) + util.fix_dimensions_data(points) + + inside = np.logical_and(np.all(np.greater_equal(points, rect_domain[:, 0]), + axis=1), np.all(np.less_equal(points, rect_domain[:, 1]), axis=1)) + rho_D_M = np.zeros(volumes.shape) rho_D_M[inside] = volumes[inside]/np.sum(volumes[inside]) # normalize on Lambda not D diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index be875cb8..ba952c4b 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -157,6 +157,31 @@ def test_M(self): """ assert len(self.rho_D_M) == 67 + def test_domain(self): + """ + Test that the probabilities within the prescribed domain are non-zero + and that the probabilities outside of the prescribed domain are zero. + """ + # d_distr_samples are (mdim, M) + # rect_domain is (mdim, 2) + inside = np.logical_and(np.all(np.greater_equal(self.d_distr_samples, + self.rect_domain[:, 0]), axis=1), + np.all(np.less_equal(self.d_distr_samples, + self.rect_domain[:, 1]), axis=1)) + msg = "Due to the inherent randomness of this method, this may fail." + print msg + print np.sum(self.rho_D_M[inside] >= 0.0) + assert np.sum(self.rho_D_M[inside] >= 0.0)<100 + #print self.rect_domain + #print "ind, inside", inside + #print "ind, outside", np.logical_not(inside) + #print "inside", self.d_distr_samples[inside] + #print "outside", self.d_distr_samples[np.logical_not(inside)] + #print "inside", self.rho_D_M[inside] + #print "outside", self.rho_D_M[np.logical_not(inside)] + print np.sum(self.rho_D_M[np.logical_not(inside)] == 0.0) + assert np.sum(self.rho_D_M[np.logical_not(inside)] == 0.0)<100 + class test_unif_unif_01D(data_01D, unif_unif): """ Tests :meth:`bet.calculateP.simpleFunP.unif_unif` on 01D data domain. From 2a5b7b400ab3b5b9b43bd514fd4d62a5b3a6a7fa Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Thu, 16 Apr 2015 21:46:14 -0500 Subject: [PATCH 46/85] fixes todos in calculate_P --- bet/calculateP/calculateP.py | 186 ++++++++---------------- bet/sampling/basicSampling.py | 2 +- test/test_calculateP/test_calculateP.py | 30 ++-- 3 files changed, 69 insertions(+), 149 deletions(-) diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index b32e603a..73aeebca 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -13,6 +13,7 @@ from bet.Comm import * import numpy as np import scipy.spatial as spatial +import bet.util as util def emulate_iid_lebesgue(lam_domain, num_l_emulate): """ @@ -35,13 +36,10 @@ def emulate_iid_lebesgue(lam_domain, num_l_emulate): lam_domain.shape[0]))+lam_domain[:, 0] return lambda_emulate -def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, +def prob_emulated(samples, data, rho_D_M, d_distr_samples, lambda_emulate=None, d_Tree=None): r""" - TODO: remove lam_domain as an argument, make sure to fix in all examples - and tests - Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{emulate}})`, the probability assoicated with a set of voronoi cells defined by ``num_l_emulate`` iid samples :math:`(\lambda_{emulate})`. @@ -56,8 +54,6 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) :param d_Tree: :class:`~scipy.spatial.KDTree` for d_distr_samples - :param lam_domain: The domain for each parameter for the model. - :type lam_domain: :class:`~numpy.ndarray` of shape (ndim, 2) :param lambda_emulate: Samples used to partition the parameter space :type lambda_emulate: :class:`~numpy.ndarray` of shape (num_l_emulate, ndim) :rtype: tuple @@ -76,7 +72,6 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree = spatial.KDTree(d_distr_samples) # Determine which inputs go to which M bins using the QoI - #io_ptr = dsearchn(d_distr_samples, data); (_, io_ptr) = d_Tree.query(data) # Determine which emulated samples match with which model run samples @@ -86,7 +81,7 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, # Calculate Probabilties P = np.zeros((lambda_emulate.shape[0],)) d_distr_emu_ptr = np.zeros(emulate_ptr.shape) - d_distr_emu_ptr = io_ptr[emulate_ptr] #io_ptr_inverse[emulate_ptr] + d_distr_emu_ptr = io_ptr[emulate_ptr] for i in range(rho_D_M.shape[0]): Itemp = np.equal(d_distr_emu_ptr, i) Itemp_sum = np.sum(Itemp) @@ -96,12 +91,9 @@ def prob_emulated(samples, data, rho_D_M, d_distr_samples, lam_domain, return (P, lambda_emulate, io_ptr, emulate_ptr) -def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): +def prob(samples, data, rho_D_M, d_distr_samples, d_Tree=None): r""" - TODO: remove lam_domain as an argument, make sure to fix in all examples - and tests - Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{samples}})`, the probability assoicated with a set of voronoi cells defined by the model solves at :math:`(\lambda_{samples})` where the volumes of these voronoi @@ -117,129 +109,51 @@ def prob(samples, data, rho_D_M, d_distr_samples, lam_domain, d_Tree=None): parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) :param d_Tree: :class:`~scipy.spatial.KDTree` for d_distr_samples - :param lam_domain: The domain for each parameter for the model. - :type lam_domain: :class:`~numpy.ndarray` of shape (ndim, 2) :rtype: tuple of :class:`~numpy.ndarray` of sizes (num_samples,), (num_samples,), (ndim, num_l_emulate), (num_samples,), (num_l_emulate,) - :returns: (P, lam_vol, lambda_emulate, io_ptr, emulate_ptr) where P is the - probability associated with samples, lam_vol the volumes associated - with the samples, io_ptr a pointer from data to M bins, and emulate_ptr - a pointer from emulated samples to samples (in parameter space) + :returns: (P, lam_vol, lambda_emulate, io_ptr) where P is the + probability associated with samples, and lam_vol the volumes associated + with the samples, io_ptr a pointer from data to M bins. """ if len(samples.shape) == 1: samples = np.expand_dims(samples, axis=1) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) - - # Calculate pointers and volumes - (P, _, io_ptr, emulate_ptr) = prob_emulated(samples, data, - rho_D_M, d_distr_samples, lam_domain, None, d_Tree) - - # Apply the standard MC approximation - lam_vol = np.ones((samples.shape[0],)) - # Calculate Probabilities - P = np.zeros((samples.shape[0],)) - # TODO Fix issue of unecessary mpi call - - for i in range(rho_D_M.shape[0]): - Itemp = np.equal(io_ptr, i) - Itemp_sum = np.sum(lam_vol[Itemp]) - Itemp_sum = comm.allreduce(Itemp_sum, op=MPI.SUM) - if Itemp_sum > 0: - P[Itemp] = rho_D_M[i]*lam_vol[Itemp]/Itemp_sum - lam_vol = (1.0/float(samples.shape[0]))*np.ones((samples.shape[0],)) - - return (P, lam_vol, io_ptr, emulate_ptr) - -def prob_qhull(samples, data, rho_D_M, d_distr_samples, - lam_domain, d_Tree=None): - r""" - - TODO: FIX OR REMOVE - - Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{emulate}})`, the - probability assoicated with a set of voronoi cells defined by - ``num_l_emulate`` iid samples :math:`(\lambda_{emulate})`. - - This method is only intended when ``lam_domain`` is a generalized rectangle. - - :param samples: The samples in parameter space for which the model was run. - :type samples: :class:`~numpy.ndarray` of shape (num_samples, ndim) - :param data: The data from running the model given the samples. - :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) - :param rho_D_M: The simple function approximation of rho_D - :type rho_D_M: :class:`~numpy.ndarray` of shape (M,) - :param d_distr_samples: The samples in the data space that define a - parition of D to for the simple function approximation - :type d_distr_samples: :class:`~numpy.ndarray` of shape (M,mdim) - :param d_Tree: :class:`~scipy.spatial.KDTree` for d_distr_samples - :param lam_domain: The domain for each parameter for the model. - :type lam_domain: :class:`~numpy.ndarray` of shape (ndim, 2) - :returns: (P, io_ptr, lam_vol) - - """ - import pyhull if len(d_distr_samples.shape) == 1: d_distr_samples = np.expand_dims(d_distr_samples, axis=1) - if d_Tree == None: d_Tree = spatial.KDTree(d_distr_samples) - - # Determine which inputs go to which M bins using the QoI - io_ptr = d_Tree.query(data) - # Calcuate the bounding region for the parameters - lam_bound = np.copy(samples) - lam_width = lam_domain[:, 1] - lam_domain[:, 0] - nbins = d_distr_samples.shape[1] - # Add fake samples outside of lam_domain to close Voronoi tesselations. - pts_per_edge = nbins - sides = np.zeros((2, pts_per_edge)) - for i in range(lam_domain.shape[0]): - sides[i, :] = np.linspace(lam_domain[i, 0], lam_domain[i, 1], - pts_per_edge) - # add midpoints - for i in range(lam_domain.shape[0]): - new_pt = sides - new_pt[i, :] = np.repeat(lam_domain[i, 0] - lam_width[i]/pts_per_edge, - pts_per_edge, 0).transpose() - lam_bound = np.vstack((lam_bound, new_pt)) - new_pt = sides - new_pt[i, :] = np.repeat(lam_domain[i, 1] - lam_width[i]/pts_per_edge, - pts_per_edge, 0).transpose() - lam_bound = np.vstack((lam_bound, new_pt)) + # Set up local arrays for parallelism + local_index = range(0+rank, samples.shape[0], size) + samples_local = samples[local_index, :] + data_local = data[local_index, :] + local_array = np.array(local_index) - # add corners - corners = np.zeros((2**lam_domain.shape[0], lam_domain.shape[0])) - for i in range(lam_domain.shape[0]): - corners[i, :] = lam_domain[i, np.repeat(np.hstack((np.ones((1, - 2**(i-1))), 2*np.ones((1, 2**(i - 1))))), - 2**(lam_domain.shape[0]-i), 0).transpose()] - corners[i, :] += lam_width[i]*np.repeat(np.hstack((np.ones((1, - 2**(i-1))), -np.ones((1, 2**(i - 1))))), - 2**(lam_domain.shape[0]-i)/pts_per_edge, 0).transpose() + # Determine which inputs go to which M bins using the QoI + (_, io_ptr) = d_Tree.query(data_local) - lam_bound = np.vstack((lam_bound, corners)) - - # Calculate the Voronoi diagram for samples. Calculate the volumes of - # the convex hulls of the corresponding Voronoi regions. - lam_vol = np.zeros((samples.shape[-1],)) - for i in range((samples.shape[0])): - vornoi = spatial.Voronoi(lam_bound) - lam_vol[i] = float(pyhull.qconvex('Qt FA', vornoi.vertices).split()[-1]) - - # Calculate probabilities. - P = np.zeros((samples.shape[0],)) + # Apply the standard MC approximation and + # calculate probabilities + P_local = np.zeros((samples_local.shape[0],)) for i in range(rho_D_M.shape[0]): Itemp = np.equal(io_ptr, i) - P[Itemp] = rho_D_M[i]*lam_vol[Itemp]/np.sum(lam_vol[Itemp]) - P = P/np.sum[P] + Itemp_sum = np.sum(Itemp) + Itemp_sum = comm.allreduce(Itemp_sum, op=MPI.SUM) + if Itemp_sum > 0: + P_local[Itemp] = rho_D_M[i]/Itemp_sum + P_global = util.get_global_values(P_local) + global_index = util.get_global_values(local_array) + P = np.zeros(P_global.shape) + P[global_index] = P_global[:] + + lam_vol = (1.0/float(samples.shape[0]))*np.ones((samples.shape[0],)) return (P, lam_vol, io_ptr) def prob_mc(samples, data, rho_D_M, d_distr_samples, - lam_domain, lambda_emulate=None, d_Tree=None): + lambda_emulate=None, d_Tree=None): r""" Calculates :math:`P_{\Lambda}(\mathcal{V}_{\lambda_{samples}})`, the probability assoicated with a set of voronoi cells defined by the model @@ -256,8 +170,6 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) :param d_Tree: :class:`~scipy.spatial.KDTree` for d_distr_samples - :param lam_domain: The domain for each parameter for the model. - :type lam_domain: :class:`~numpy.ndarray` of shape (ndim,2) :param int num_l_emulate: The number of iid samples used to parition the parameter space :rtype: tuple of :class:`~numpy.ndarray` of sizes (num_samples,), @@ -272,11 +184,20 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, samples = np.expand_dims(samples, axis=1) if len(data.shape) == 1: data = np.expand_dims(data, axis=1) - # Calculate pointers and volumes - (P, lambda_emulate, io_ptr, emulate_ptr) = prob_emulated(samples, - data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, - d_Tree) + if lambda_emulate == None: + lambda_emulate = samples + if len(d_distr_samples.shape) == 1: + d_distr_samples = np.expand_dims(d_distr_samples, axis=1) + if d_Tree == None: + d_Tree = spatial.KDTree(d_distr_samples) + + # Determine which inputs go to which M bins using the QoI + (_, io_ptr) = d_Tree.query(data) + # Determine which emulated samples match with which model run samples + l_Tree = spatial.KDTree(samples) + (_, emulate_ptr) = l_Tree.query(lambda_emulate) + # Apply the standard MC approximation to determine the number of emulated # samples per model run sample. This is for approximating # \mu_Lambda(A_i \intersect b_j) @@ -288,17 +209,28 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, lam_vol = clam_vol lam_vol = lam_vol/(len(lambda_emulate)*size) + # Set up local arrays for parallelism + local_index = range(0+rank, samples.shape[0], size) + samples_local = samples[local_index, :] + data_local = data[local_index, :] + lam_vol_local = lam_vol[local_index] + local_array = np.array(local_index) + + # Determine which inputs go to which M bins using the QoI + (_, io_ptr_local) = d_Tree.query(data_local) + # Calculate Probabilities - # TODO Fix issue of unecessary mpi call - P = np.zeros((samples.shape[0],)) + P_local = np.zeros((samples_local.shape[0],)) for i in range(rho_D_M.shape[0]): - Itemp = np.equal(io_ptr, i) - # Prevent a divide by zero error - Itemp_sum = np.sum(lam_vol[Itemp]) + Itemp = np.equal(io_ptr_local, i) + Itemp_sum = np.sum(lam_vol_local[Itemp]) Itemp_sum = comm.allreduce(Itemp_sum, op=MPI.SUM) if Itemp_sum > 0: - P[Itemp] = rho_D_M[i]*lam_vol[Itemp]/Itemp_sum - + P_local[Itemp] = rho_D_M[i]*lam_vol_local[Itemp]/Itemp_sum + P_global = util.get_global_values(P_local) + global_index = util.get_global_values(local_array) + P = np.zeros(P_global.shape) + P[global_index] = P_global[:] return (P, lam_vol, lambda_emulate, io_ptr, emulate_ptr) diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 68de1687..a3a9ca45 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -258,7 +258,7 @@ def user_samples(self, samples, savefile, parallel=False): my_samples = samples[my_index, :] my_data = self.lb_model(my_samples) data = util.get_global_values(my_data) - samples = util.get_global_values(my_data) + samples = util.get_global_values(my_samples) # if data or samples are of shape (num_samples,) expand dimensions if len(samples.shape) == 1: diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 165de28c..51d678b3 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -64,7 +64,7 @@ def test_prob_sum_to_1(self): Test to see if the prob. sums to 1. """ nptest.assert_almost_equal(np.sum(self.P),1.0) - @unittest.skipIf(size > 1, 'Only run in serial') + #@unittest.skipIf(size > 1, 'Only run in serial') def test_P_matches_true(self): """ Test against reference probs. (Only in serial) @@ -152,12 +152,11 @@ def setUp(self): Set up problem. """ super(Test_prob_3to2, self).setUp() - (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, - data=self.data, - rho_D_M = self.d_distr_prob, - d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, - d_Tree = self.d_Tree) + (self.P, self.lam_vol , _ ) = calcP.prob(samples=self.samples, + data=self.data, + rho_D_M = self.d_distr_prob, + d_distr_samples = self.d_distr_samples, + d_Tree = self.d_Tree) self.P_ref = np.loadtxt(data_path + "/3to2_prob.txt.gz") @@ -175,7 +174,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_emulate_ref=np.loadtxt(data_path + "/3to2_prob_emulated.txt.gz") @@ -196,7 +194,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_ref = np.loadtxt(data_path + "/3to2_prob_mc.txt.gz") @@ -231,11 +228,10 @@ def setUp(self): Set up problem. """ super(Test_prob_3to1, self).setUp() - (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + (self.P, self.lam_vol, _ ) = calcP.prob(samples=self.samples, data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, d_Tree = self.d_Tree) self.P_ref = np.loadtxt(data_path + "/3to1_prob.txt.gz") @@ -253,7 +249,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_emulate_ref=np.loadtxt(data_path + "/3to1_prob_emulated.txt.gz") @@ -274,7 +269,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_ref = np.loadtxt(data_path + "/3to1_prob_mc.txt.gz") @@ -313,11 +307,10 @@ def setUp(self): Set up problem. """ super(Test_prob_10to4, self).setUp() - (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + (self.P, self.lam_vol , _ ) = calcP.prob(samples=self.samples, data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, d_Tree = self.d_Tree) @@ -336,7 +329,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_emulate = util.get_global_values(self.P_emulate) @@ -357,7 +349,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) @@ -394,11 +385,10 @@ def setUp(self): Set up problem. """ super(Test_prob_1to1, self).setUp() - (self.P, self.lam_vol , _ , _ ) = calcP.prob(samples=self.samples, + (self.P, self.lam_vol, _ ) = calcP.prob(samples=self.samples, data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, d_Tree = self.d_Tree) @@ -416,7 +406,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) self.P_emulate = util.get_global_values(self.P_emulate) @@ -435,7 +424,6 @@ def setUp(self): data=self.data, rho_D_M = self.d_distr_prob, d_distr_samples = self.d_distr_samples, - lam_domain = self.lam_domain, lambda_emulate = self.lambda_emulate, d_Tree = self.d_Tree) From 23105d705cd7422cfc003e05f45b469614dd86f1 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 16 Apr 2015 22:07:49 -0500 Subject: [PATCH 47/85] addressed comments concerning the pull-request --- bet/calculateP/calculateP.py | 3 --- bet/calculateP/voronoiHistogram.py | 22 +++++++++++++--------- bet/postProcess/plotP.py | 2 -- bet/sampling/adaptiveSampling.py | 2 -- bet/sampling/basicSampling.py | 2 -- test/test_calculateP/test_simpleFunP.py | 7 ------- 6 files changed, 13 insertions(+), 25 deletions(-) diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index c240c1e8..b32e603a 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -1,6 +1,3 @@ -# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not -# presuming it preserse order anywhere - r""" This module provides methods for calulating the probability measure :math:`P_{\Lambda}`. diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index 10771355..6c09ac98 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -19,10 +19,11 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do :param center: location of the center of the hyperrectangle :type center: :class:`numpy.ndarray` of shape (mdim,) :param r_size: size of the length of the sides of the - hyperrectangle to the surrounding domain + hyperrectangle rect_domain to definie voronoi cells for :type r_size: double or list() :param sur_domain: minima and maxima of each dimension defining the - surrounding domain + surrounding domain. The surrounding domain is the bounded domain + in the data space (i.e. the data domain). :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple @@ -33,7 +34,7 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do shape (mdim, 2) """ - # determine the hyperrectangle defined by center and r_size + # determine the hyperrectangle (rect_domain) defined by center and r_size rect_width = r_size*np.ones(sur_domain[:,0].shape) rect_domain = np.column_stack([center - .5*rect_width, center + .5*rect_width]) @@ -73,10 +74,11 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): :param center: location of the center of the hyperrectangle :type center: :class:`numpy.ndarray` of shape (mdim,) :param r_ratio: ratio of the length of the sides of the - hyperrectangle to the surrounding domain + hyperrectangle rect_domain to definie voronoi cells for :type r_ratio: double or list() :param sur_domain: minima and maxima of each dimension defining the - surrounding domain + surrounding domain. The surrounding domain is the bounded domain + in the data space (i.e. the data domain). :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple @@ -117,10 +119,11 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): :param center: location of the center of the hyperrectangle :type center: :class:`numpy.ndarray` of shape (mdim,) :param r_size: size of the length of the sides of the - hyperrectangle to the surrounding domain + hyperrectangle rect_domain to definie voronoi cells for :type r_size: double or list() :param sur_domain: minima and maxima of each dimension defining the - surrounding domain + surrounding domain. The surrounding domain is the bounded domain + in the data space (i.e. the data domain). :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple @@ -177,10 +180,11 @@ def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): :param center: location of the center of the hyperrectangle :type center: :class:`numpy.ndarray` of shape (mdim,) :param r_ratio: ratio of the length of the sides of the - hyperrectangle to the surrounding domain + hyperrectangle rect_domain to definie voronoi cells for :type r_ratio: double or list() :param sur_domain: minima and maxima of each dimension defining the - surrounding domain + surrounding domain. The surrounding domain is the bounded domain + in the data space (i.e. the data domain). :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple :returns: interior_and_layer1 is a list of dim diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index 07596bab..9209e937 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -1,5 +1,3 @@ -# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not -# presuming it preserse order anywhere """ This module provides methods for plotting probabilities. """ diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 97fdb556..8568c93a 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -1,5 +1,3 @@ -# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not -# presuming it preserse order anywhere # -*- coding: utf-8 -*- # Lindley Graham 3/10/2014 """ diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 5ca69280..68de1687 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -1,5 +1,3 @@ -# TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not -# presuming it preserse order anywhere # Lindley Graham 4/15/2014 """ This module contains functions for sampling. We assume we are given access to a diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index ba952c4b..01caab23 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -172,13 +172,6 @@ def test_domain(self): print msg print np.sum(self.rho_D_M[inside] >= 0.0) assert np.sum(self.rho_D_M[inside] >= 0.0)<100 - #print self.rect_domain - #print "ind, inside", inside - #print "ind, outside", np.logical_not(inside) - #print "inside", self.d_distr_samples[inside] - #print "outside", self.d_distr_samples[np.logical_not(inside)] - #print "inside", self.rho_D_M[inside] - #print "outside", self.rho_D_M[np.logical_not(inside)] print np.sum(self.rho_D_M[np.logical_not(inside)] == 0.0) assert np.sum(self.rho_D_M[np.logical_not(inside)] == 0.0)<100 From 2b3f938e916ab9633c052d03b0ea8409d59bdb34 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 20 Apr 2015 20:21:36 -0500 Subject: [PATCH 48/85] finished todos in sFun and vHist --- bet/calculateP/simpleFunP.py | 8 +- bet/calculateP/voronoiHistogram.py | 73 ++------ test/test_calculateP/test_voronoiHistogram.py | 174 ++---------------- 3 files changed, 33 insertions(+), 222 deletions(-) diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index e411f3fb..70469a72 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -9,8 +9,6 @@ import collections import bet.util as util -# TODO change bin_size to more informative name like bound_size? - def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): r""" Creates a simple function approximation of :math:`\rho_{\mathcal{D}}` @@ -117,9 +115,6 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): can then be stored and accessed later by the algorithm using a completely different set of parameter samples and model solves. ''' - # TODO check that the parallel implementation of this is correct - # TODO since mpi4py DOES NOT PRESERVE ORDERING double check that we are not - # presuming it preserse order anywhere return (rho_D_M, d_distr_samples, d_Tree) def normal_normal(Q_ref, M, std, num_d_emulate=1E6): @@ -360,8 +355,7 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) points, _, rect_domain = vHist.center_and_layer1_points_binsize(center_pts_per_edge, Q_ref, bin_size, sur_domain) - edges = vHist.edges_regular_binsize(center_pts_per_edge, Q_ref, bin_size, - sur_domain) + edges = vHist.edges_regular(center_pts_per_edge, rect_domain, sur_domain) _, volumes, _ = vHist.histogramdd_volumes(edges, points) return vHist.simple_fun_uniform(points, volumes, rect_domain) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index 6c09ac98..a9641d23 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -82,7 +82,7 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: (points, interior_and_layer1) where where points is an + :returns: (points, interior_and_layer1, rect_domain) where where points is an :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 is a list() of dim :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,), rect_domain is a :class:`numpy.ndarray` of @@ -100,42 +100,35 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): return center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_domain) -def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): +def edges_regular(center_pts_per_edge, rect_domain, sur_domain): """ Generates a sequence of arrays describing the edges of the finite voronoi cells in each direction. The voronoi tesselation is defined by regular grid of center points that define the voronoi tesselation of exactly the - interior of a hyperrectangle centered at ``center`` with sides of length - ``r_size`` and the layers of voronoi cells that bound these - interior cells. The resulting voronoi tesselation exactly represents the - hyperrectangle. The bounding voronoi cells are made finite by bounding them - with an additional layer to represent ``sur_domain``. + interior of a hyperrectangle defined by ``rect_domain`` and the layers of + voronoi cells that bound these interior cells. The resulting voronoi + tesselation exactly represents the hyperrectangle. The bounding voronoi + cells are made finite by bounding them with an additional layer to + represent ``sur_domain``. This method can also be used to tile ``sur_domain`` with points to define voronoi regions if the user sets ``r_ratio = 1``. use binratio below :param list() center_pts_per_edge: number of center points per edge and additional two points will be added to create the bounding layer - :param center: location of the center of the hyperrectangle - :type center: :class:`numpy.ndarray` of shape (mdim,) - :param r_size: size of the length of the sides of the - hyperrectangle rect_domain to definie voronoi cells for - :type r_size: double or list() + :param rect_domain: The rectangular domain to define the voronoi + tesselation for. This domain should be contained in the ``sur_domain``. + :type rect_domain: :class:`numpy.ndarray` of shape (mdim, 2) :param sur_domain: minima and maxima of each dimension defining the surrounding domain. The surrounding domain is the bounded domain in the data space (i.e. the data domain). :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: interior_and_layer1 is a list of dim - :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) - """ - # TODO This is redoing stuff that was done when generating the points - # determine the hyperrectangle defined by center and r_size - rect_width = r_size*np.ones(sur_domain[:,0].shape) - rect_domain = np.column_stack([center - .5*rect_width, - center + .5*rect_width]) + :returns: interior_and_layer1 is a list of dim :class:`numpy.ndarray`s of + shape (center_pts_per_edge+2,) + """ if np.any(np.greater_equal(sur_domain[:, 0], rect_domain[:, 0])): msg = "The hyperrectangle defined by this size is larger than the" msg += "original domain." @@ -161,46 +154,6 @@ def edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain): return rect_and_sur_edges -def edges_regular(center_pts_per_edge, center, r_ratio, sur_domain): - """ - Generates a sequence of arrays describing the edges of the finite voronoi - cells in each direction. The voronoi tesselation is defined by regular grid - of center points that define the voronoi tesselation of exactly the - interior of a hyperrectangle centered at ``center`` with sides of length - ``r_ratio*sur_width`` and the layers of voronoi cells that bound these - interior cells. The resulting voronoi tesselation exactly represents the - hyperrectangle. The bounding voronoi cells are made finite by bounding them - with an additional layer to represent ``sur_domain``. - - This method can also be used to tile ``sur_domain`` with points to define - voronoi regions if the user sets ``r_ratio = 1``. - - :param list() center_pts_per_edge: number of center points per edge and - additional two points will be added to create the bounding layer - :param center: location of the center of the hyperrectangle - :type center: :class:`numpy.ndarray` of shape (mdim,) - :param r_ratio: ratio of the length of the sides of the - hyperrectangle rect_domain to definie voronoi cells for - :type r_ratio: double or list() - :param sur_domain: minima and maxima of each dimension defining the - surrounding domain. The surrounding domain is the bounded domain - in the data space (i.e. the data domain). - :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) - :rtype: tuple - :returns: interior_and_layer1 is a list of dim - :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,) - - """ - if np.any(np.greater(r_ratio, 1)): - msg = "The hyperrectangle defined by this ratio is larger than the" - msg += "original domain. RATIO: {}".format(r_ratio) - print msg - - # determine r_size from the width of the surrounding domain - r_size = r_ratio*(sur_domain[:, 1]-sur_domain[:, 0]) - - return edges_regular_binsize(center_pts_per_edge, center, r_size, sur_domain) - def edges_from_points(points): """ Given a sequence of arrays describing the voronoi points in each dimension diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index c5fb1b9c..e5a1b85e 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -301,12 +301,11 @@ def setUp(self): super(test_calps_double_3D, self).createDomain() super(test_calps_double_3D, self).setUp() - class edges(object): """ - Provides a method to test that the dimensions of the output (and the output - itself) from methods with the pattern - ``bet.calculateP.voronoiHistogram.edges_*`` are correct. + Provides a method to test that the dimensions of the output (and the + output itself) from methods with the pattern + ``bet.calculateP.voronoiHistogram.edges_*`` are correct. """ def test_dimensions(self): """ @@ -336,7 +335,7 @@ class edges_regular(edges): """ def create_output(self): sur_width = self.sur_domain[:,1]-self.sur_domain[:,0] - rect_width = self.r_ratio*sur_width + rect_width = 0.2*sur_width rect_domain = np.empty(self.sur_domain.shape) rect_domain[:, 0] = self.center - .5*rect_width rect_domain[:, 1] = self.center + .5*rect_width @@ -349,176 +348,41 @@ def create_output(self): int_l2[0] = self.sur_domain[dim, 0] int_l2[-1] = self.sur_domain[dim, 1] self.my_edges.append(int_l2) + self.rect_domain = rect_domain def setUp(self): self.create_output() - self.rect_and_sur_edges = vHist.edges_regular(self.center_pts_per_edge, self.center, - self.r_ratio, self.sur_domain) - - -class edges_regular_binsize(edges_regular): - """ - Test :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` - """ - def setUp(self): - self.r_ratio = self.r_size/self.sur_domain[:,1] - super(edges_regular_binsize, self).create_output() - self.rect_and_sur_edges = vHist.edges_regular_binsize(self.center_pts_per_edge, - self.center, self.r_size, self.sur_domain) - - -class edges_regular_double(edges_regular): - """ - Provides set up for - :meth:`bet.calculateP.voronoiHistogram.edges_regular` when - r_ratio is a double. - """ - def setUp(self): - self.r_ratio = 0.2 - super(edges_regular_double, self).setUp() - -class edges_regular_list(edges_regular): - """ - Provides set up for - :meth:`bet.calculateP.voronoiHistogram.edges_regular` when - r_ratio is a list. - """ - def setUp(self): - self.r_ratio = 0.2*np.ones(self.mdim) - super(edges_regular_list, self).setUp() - -class edges_regular_binsize_list(edges_regular_binsize): - """ - Provides set up for - :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` when - r_size is a list. - """ - def setUp(self): - self.r_size = self.sur_domain[:,1]*.2 - super(edges_regular_binsize_list, self).setUp() - -class edges_regular_binsize_double(edges_regular_binsize): - """ - Provides set up for - :meth:`bet.calculateP.voronoiHistogram.edges_regular_binsize` when - r_size is a double. - """ - def setUp(self): - self.r_size = self.sur_domain[0,1]*.2 - super(edges_regular_binsize_double, self).setUp() - -class test_er_list_1D(domain_1D, edges_regular_list): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_er_list_1D, self).createDomain() - super(test_er_list_1D, self).setUp() -class test_er_list_2D(domain_2D, edges_regular_list): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_er_list_2D, self).createDomain() - super(test_er_list_2D, self).setUp() -class test_er_list_3D(domain_3D, edges_regular_list): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_er_list_3D, self).createDomain() - super(test_er_list_3D, self).setUp() - -class test_er_double_1D(domain_1D, edges_regular_double): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D - domain with r_ratio as a double. - """ - def setUp(self): - super(test_er_double_1D, self).createDomain() - super(test_er_double_1D, self).setUp() -class test_er_double_2D(domain_2D, edges_regular_double): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D - domain with r_ratio as a double. - """ - def setUp(self): - super(test_er_double_2D, self).createDomain() - super(test_er_double_2D, self).setUp() -class test_er_double_3D(domain_3D, edges_regular_double): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D - domain with r_ratio as a double. - """ - def setUp(self): - super(test_er_double_3D, self).createDomain() - super(test_er_double_3D, self).setUp() + self.rect_and_sur_edges = vHist.edges_regular(self.center_pts_per_edge, + self.rect_domain, self.sur_domain) -class test_ers_list_1D(domain_1D, edges_regular_binsize_list): +class test_er_1D(domain_1D, edges_regular): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_ers_list_1D, self).createDomain() - super(test_ers_list_1D, self).setUp() -class test_ers_list_2D(domain_2D, edges_regular_binsize_list): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_ers_list_2D, self).createDomain() - super(test_ers_list_2D, self).setUp() -class test_ers_list_3D(domain_3D, edges_regular_binsize_list): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D - domain with r_ratio as a list. - """ - def setUp(self): - super(test_ers_list_3D, self).createDomain() - super(test_ers_list_3D, self).setUp() - -class test_ers_double_1D(domain_1D, edges_regular_binsize_double): - """ - Test - :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 1D - domain with r_ratio as a double. + domain. """ def setUp(self): - super(test_ers_double_1D, self).createDomain() - super(test_ers_double_1D, self).setUp() -class test_ers_double_2D(domain_2D, edges_regular_binsize_double): + super(test_er_1D, self).createDomain() + super(test_er_1D, self).setUp() +class test_er_2D(domain_2D, edges_regular): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 2D - domain with r_ratio as a double. + domain . """ def setUp(self): - super(test_ers_double_2D, self).createDomain() - super(test_ers_double_2D, self).setUp() -class test_ers_double_3D(domain_3D, edges_regular_binsize_double): + super(test_er_2D, self).createDomain() + super(test_er_2D, self).setUp() +class test_er_3D(domain_3D, edges_regular): """ Test :meth:`bet.calculateP.voronoiHistogram.edges_regular` for a 3D - domain with r_ratio as a double. + domain. """ def setUp(self): - super(test_ers_double_3D, self).createDomain() - super(test_ers_double_3D, self).setUp() + super(test_er_3D, self).createDomain() + super(test_er_3D, self).setUp() class edges_from_points(edges): """ From 3712aaf023b493fbfea5237ce4d51745f1c67c2f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 20 Apr 2015 20:38:23 -0500 Subject: [PATCH 49/85] removed obsolete test --- test/test_calculateP/test_simpleFunP.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index 01caab23..d50faded 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -221,13 +221,6 @@ def setUp(self): super(test_unif_unif_3D, self).createData() super(test_unif_unif_3D, self).setUp() -@unittest.skip("Implement or remove multivariate_gaussian method from module") -class test_multivariate_gaussian(unittest.TestCase): - """ - TODO: Write a test for multivariate_gaussian or remove from module - """ - pass - class normal_normal(prob): """ Set up :meth:`bet.calculateP.simpleFunP.normal_normal` on data domain. From 834f61c9076bda4e8ea2f25f4749fab73b9115f3 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Tue, 21 Apr 2015 12:27:00 -0500 Subject: [PATCH 50/85] making minor changes to samping subpackage --- bet/sampling/adaptiveSampling.py | 86 +-------------------- bet/sampling/basicSampling.py | 5 +- test/test_sampling/test_adaptiveSampling.py | 14 ++-- test/test_sampling/test_basicSampling.py | 14 ++-- 4 files changed, 17 insertions(+), 102 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 8568c93a..6975ba03 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -132,56 +132,6 @@ def run_gen(self, kern_list, rho_D, maximum, param_min, param_max, sort_ind = np.argsort(results_rD) return (results, r_step_size, results_rD, sort_ind, mean_ss) - # TODO This appears to be an unused function - def run_reseed(self, kern_list, rho_D, maximum, param_min, param_max, - t_set, savefile, initial_sample_type="lhs", criterion='center', - reseed=3): - """ - Generates samples using reseeded chains and a list of different - kernels. - - THIS IS NOT OPERATIONAL DO NOT USE. - - :param list() kern_list: List of - :class:~`bet.sampling.adaptiveSampling.kernel` objects. - :param rho_D: probability density on D - :type rho_D: callable function that takes a :class:`np.array` and - returns a :class:`numpy.ndarray` - :param double maximum: maximum value of rho_D - :param param_min: minimum value for each parameter dimension - :type param_min: np.array (ndim,) - :param param_max: maximum value for each parameter dimension - :type param_max: np.array (ndim,) - :param t_set: method for creating new parameter steps using - given a step size based on the paramter domain size - :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` - :param string savefile: filename to save samples and data - :param string initial_sample_type: type of initial sample random (or r), - latin hypercube(lhs), or space-filling curve(TBD) - :param string criterion: latin hypercube criterion see - `PyDOE `_ - :rtype: tuple - :returns: ((samples, data), all_step_ratios, num_high_prob_samples, - sorted_incidices_of_num_high_prob_samples, average_step_ratio) - - """ - results = list() - # reseeding sampling - results = list() - r_step_size = list() - results_rD = list() - mean_ss = list() - for kern in kern_list: - (samples, data, step_sizes) = self.reseed_chains( - param_min, param_max, t_set, kern, savefile, - initial_sample_type, criterion, reseed) - results.append((samples, data)) - r_step_size.append(step_sizes) - results_rD.append(int(sum(rho_D(data)/maximum))) - mean_ss.append(np.mean(step_sizes)) - sort_ind = np.argsort(results_rD) - return (results, r_step_size, results_rD, sort_ind, mean_ss) - def run_tk(self, init_ratio, min_ratio, max_ratio, rho_D, maximum, param_min, param_max, kernel, savefile, initial_sample_type="lhs", criterion='center'): @@ -307,9 +257,9 @@ def generalized_chains(self, param_min, param_max, t_set, kern, # Initialize Nx1 vector Step_size = something reasonable (based on size # of domain and transition set type) # Calculate domain size - # TODO The following could probably be done in one line param_left = np.repeat([param_min], self.num_chains_pproc, 0) param_right = np.repeat([param_max], self.num_chains_pproc, 0) + param_width = param_right - param_left # Calculate step_size max_ratio = t_set.max_ratio @@ -395,40 +345,6 @@ def generalized_chains(self, param_min, param_max, t_set, kern, return (samples, data, all_step_ratios) - #TODO MOve this function to a dev branch since it is not implemented. - def reseed_chains(self, param_min, param_max, t_set, kern, - savefile, initial_sample_type="lhs", criterion='center', reseed=1): - """ - Basic adaptive sampling algorithm. - - NOT YET IMPLEMENTED. - - :param string initial_sample_type: type of initial sample random (or r), - latin hypercube(lhs), or space-filling curve(TBD) - :param param_min: minimum value for each parameter dimension - :type param_min: np.array (ndim,) - :param param_max: maximum value for each parameter dimension - :type param_max: np.array (ndim,) - :param t_set: method for creating new parameter steps using - given a step size based on the paramter domain size - :type t_set: :class:~`bet.sampling.adaptiveSampling.transition_set` - :param function kern: functional that acts on the data used to - determine the proposed change to the ``step_size`` - :type kernel: :class:~`bet.sampling.adaptiveSampling.kernel` object. - :param string savefile: filename to save samples and data - :param string criterion: latin hypercube criterion see - `PyDOE `_ - - - :param int reseed: number of times to reseed the chains - :rtype: tuple - :returns: (``parameter_samples``, ``data_samples``) where - ``parameter_samples`` is np.ndarray of shape (num_samples, ndim) - and ``data_samples`` is np.ndarray of shape (num_samples, mdim) - - """ - pass - def kernels(Q_ref, rho_D, maximum): """ Generates a list of kernstic objects. diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index a3a9ca45..7c2439dd 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -105,17 +105,18 @@ def loadmat(save_file, model=None): # load the data from a *.mat file mdat = sio.loadmat(save_file) # load the samples - # TODO: calculate the number of samples rather than loading it if mdat.has_key('samples'): samples = mdat['samples'] + num_samples = samples.shape[0] else: samples = None + num_samples = None # load the data if mdat.has_key('data'): data = mdat['data'] else: data = None - loaded_sampler = sampler(model, mdat['num_samples']) + loaded_sampler = sampler(model, num_samples) return (loaded_sampler, samples, data) class sampler(object): diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index f01f5fb9..5d52e514 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -33,11 +33,12 @@ def test_loadmat_init(): num_chains_pproc2]) num_samples1, num_samples2 = chain_length * np.array([num_chains1, num_chains2]) + + sio.savemat(os.path.join(local_path, 'testfile1'), mdat1) + sio.savemat(os.path.join(local_path, 'testfile2'), mdat2) - sio.savemat('testfile1', mdat1) - sio.savemat('testfile2', mdat2) - - (loaded_sampler1, samples1, data1) = asam.loadmat('testfile1') + (loaded_sampler1, samples1, data1) = asam.loadmat(os.path.join(local_path, + 'testfile1')) nptest.assert_array_equal(samples1, mdat1['samples']) nptest.assert_array_equal(data1, mdat1['data']) assert loaded_sampler1.num_samples == num_samples1 @@ -48,7 +49,8 @@ def test_loadmat_init(): loaded_sampler1.sample_batch_no) assert loaded_sampler1.lb_model == None - (loaded_sampler2, samples2, data2) = asam.loadmat('testfile2', model) + (loaded_sampler2, samples2, data2) = asam.loadmat(os.path.join(local_path, + 'testfile2'), model) nptest.assert_array_equal(samples2, mdat2['samples']) nptest.assert_array_equal(data2, None) assert loaded_sampler2.num_samples == num_samples2 @@ -60,7 +62,7 @@ def test_loadmat_init(): if os.path.exists(os.path.join(local_path, 'testfile1.mat')): os.remove(os.path.join(local_path, 'testfile1.mat')) if os.path.exists(os.path.join(local_path, 'testfile2.mat')): - os.remove(os.path.join(loca_path, 'testfile2.mat')) + os.remove(os.path.join(local_path, 'testfile2.mat')) def verify_samples(model, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type): diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 109c9874..135fcf8f 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -61,8 +61,8 @@ def test_loadmat(): mdat2 = {'samples':np.random.random((6,1)), 'num_samples':6} model = "this is not a model" - sio.savemat('testfile1', mdat1) - sio.savemat('testfile2', mdat2) + sio.savemat(os.path.join(local_path, 'testfile1'), mdat1) + sio.savemat(os.path.join(local_path, 'testfile2'), mdat2) (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') nptest.assert_array_equal(samples1, mdat1['samples']) @@ -78,7 +78,7 @@ def test_loadmat(): if os.path.exists(os.path.join(local_path, 'testfile1.mat')): os.remove(os.path.join(local_path, 'testfile1.mat')) if os.path.exists(os.path.join(local_path, 'testfile2.mat')): - os.remove(os.path.join(loca_path, 'testfile2.mat')) + os.remove(os.path.join(local_path, 'testfile2.mat')) def verify_user_samples(model, sampler, samples, savefile, parallel): # evalulate the model at the samples directly @@ -101,7 +101,7 @@ def verify_user_samples(model, sampler, samples, savefile, parallel): assert samples.shape[0] == sampler.num_samples # did the file get correctly saved? - mdat = sio.loadmat('savefile') + mdat = sio.loadmat(savefile) nptest.assert_array_equal(samples, mdat['samples']) nptest.assert_array_equal(data, mdat['data']) assert samples.shape[0] == sampler.num_samples @@ -147,7 +147,7 @@ def verify_random_samples(model, sampler, sample_type, param_min, param_max, assert samples.shape[0] == sampler.num_samples # did the file get correctly saved? - mdat = sio.loadmat('savefile') + mdat = sio.loadmat(savefile) nptest.assert_array_equal(samples, mdat['samples']) nptest.assert_array_equal(data, mdat['data']) assert samples.shape[0] == sampler.num_samples @@ -201,10 +201,6 @@ def test_init(self): assert self.samplers[0].lb_model == self.models[0] assert bsam.sampler(self.models[0], None).num_samples == None - @unittest.skip("Skipping testing saving") - def test_save(self): - pass - def test_update(self): """ Test :meth:`bet.sampling.basicSampling.sampler.save` From f180113ed30f7cae61f666286c127efb7130be03 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Tue, 21 Apr 2015 20:01:51 -0500 Subject: [PATCH 51/85] finished todos in plotDomains --- bet/postProcess/plotDomains.py | 148 ++++++++++++------ test/test_postProcess/test_plotDomains.py | 178 ++++++++++++++-------- 2 files changed, 217 insertions(+), 109 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index ab91a3a6..82ed80ea 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -2,13 +2,13 @@ This module provides methods used to plot two-dimensional domains and/or two-dimensional slices/projections of domains. -TODO : match method signatures with style in plotP """ import matplotlib.tri as tri import numpy as np import matplotlib.pyplot as plt from matplotlib.lines import Line2D +from itertools import combinations markers = [] for m in Line2D.markers: @@ -20,7 +20,7 @@ colors = ('b', 'g', 'r', 'c', 'm', 'y', 'k') -def scatter_2D(samples, sample_nos, color, p_ref, save, show, +def scatter_2D(samples, sample_nos, color, p_ref, save, interactive, xlabel, ylabel, filename): """ Two-dimensional scatter plot of ``samples`` colored by ``color`` (usually @@ -34,7 +34,7 @@ def scatter_2D(samples, sample_nos, color, p_ref, save, show, :param p_ref: reference parameter value :type p_ref: :class:`np.ndarray` :param boolean save: flag whether or not to save the figure - :param boolean show: flag whether or not to show the figure + :param boolean interactive: flag whether or not to show the figure :param string xlabel: x-axis label :param string ylabel: y-axis label :param string filename: filename to save the figure as @@ -55,12 +55,12 @@ def scatter_2D(samples, sample_nos, color, p_ref, save, show, plt.ylabel(ylabel) plt.savefig(filename, bbox_inches='tight', transparent=True, pad_inches=0) - if show: + if interactive: plt.show() else: plt.close() -def scatter_3D(samples, sample_nos, color, p_ref, save, show, +def scatter_3D(samples, sample_nos, color, p_ref, save, interactive, xlabel, ylabel, zlabel, filename): """ Three-dimensional scatter plot of ``samples`` colored by ``color`` (usually @@ -74,7 +74,7 @@ def scatter_3D(samples, sample_nos, color, p_ref, save, show, :param p_ref: reference parameter value :type p_ref: :class:`np.ndarray` :param boolean save: flag whether or not to save the figure - :param boolean show: flag whether or not to show the figure + :param boolean interactive: flag whether or not to show the figure :param string xlabel: x-axis label :param string ylabel: y-axis label :param string zlabel: z-axis label @@ -100,17 +100,14 @@ def scatter_3D(samples, sample_nos, color, p_ref, save, show, if save: plt.savefig(filename, bbox_inches='tight', transparent=True, pad_inches=0) - if show: + if interactive: plt.show() else: plt.close() def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, - save=True, show=False, lnums=None): + save=True, interactive=False, lnums=None, showdim=None): """ - TODO: add options for higher dimensional visualization or at least for - showing pairwise or tripletwise parameter point clouds - Plot samples in parameter space and colors them either by rho_D or by sample batch number. @@ -125,9 +122,11 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, :param p_ref: reference parameter value :type p_ref: :class:`np.ndarray` :param boolean save: flag whether or not to save the figure - :param boolean show: flag whether or not to show the figure + :param boolean interactive: flag whether or not to show the figure :param list lnums: integers representing parameter domain coordinate numbers + :param int showdim: 2 or 3, flag showing pairwise or tripletwise parameter + sample clouds """ @@ -139,19 +138,31 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, ylabel = r'$\lambda_{'+str(lnums[1])+'}$' savename = 'param_samples_cs.eps' if samples.shape[1] == 2: - scatter_2D(samples, sample_nos, rD, p_ref, save, show, xlabel, ylabel, - savename) + scatter_2D(samples, sample_nos, rD, p_ref, save, interactive, xlabel, + ylabel, savename) elif samples.shape[1] == 3: zlabel = r'$\lambda_{'+str(lnums[2])+'}$' - scatter_3D(samples, sample_nos, rD, p_ref, save, show, xlabel, ylabel, - zlabel, savename) + scatter_3D(samples, sample_nos, rD, p_ref, save, interactive, xlabel, + ylabel, zlabel, savename) + elif samples.shape[1] > 2 and showdim == 2: + for x, y in combinations(lnums, 2): + xlabel = r'$\lambda_{'+str(x)+'}$' + ylabel = r'$\lambda_{'+str(y)+'}$' + savename = 'param_samples_l'+str(x)+'l'+str(y)+'_cs.eps' + scatter_2D(samples[:, [x, y]], sample_nos, rD, p_ref, save, + interactive, xlabel, ylabel, savename) + elif samples.shape[1] > 3 and showdim == 3: + for x, y, z in combinations(lnums, 3): + xlabel = r'$\lambda_{'+str(x)+'}$' + ylabel = r'$\lambda_{'+str(y)+'}$' + zlabel = r'$\lambda_{'+str(z)+'}$' + savename = 'param_samples_l'+str(x)+'l'+str(y)+'l'+str(z)+'_cs.eps' + scatter_3D(samples[:, [x, y, z]], sample_nos, rD, p_ref, save, + interactive, xlabel, ylabel, zlabel, savename) def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, - save=True, show=False, Q_nums=None): + save=True, interactive=False, Q_nums=None, showdim=None): """ - TODO: add options for higher dimensional visualization or at least for - showing pairwise or tripletwise sample point clouds - Plot samples in data space and colors them either by rho_D or by sample batch number. @@ -164,7 +175,10 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, :param Q_ref: reference data value :type Q_ref: :class:`np.ndarray` :param boolean save: flag whether or not to save the figure - :param boolean show: flag whether or not to show the figure + :param boolean interactive: flag whether or not to show the figure + :param list Q_nums: integers representing data domain coordinates + :param int showdim: 2 or 3, flag showing pairwise or tripletwise data + sample clouds """ if rho_D != None: @@ -175,26 +189,39 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, ylabel = r'$q_{'+str(Q_nums[1]+1)+'}$' savename = 'data_samples_cs.eps' if data.shape[1] == 2: - scatter_2D(data, sample_nos, rD, Q_ref, save, show, xlabel, ylabel, - savename) + scatter_2D(data, sample_nos, rD, Q_ref, save, interactive, xlabel, + ylabel, savename) elif data.shape[1] == 3: zlabel = r'$q_{'+str(Q_nums[2]+1)+'}$' - scatter_3D(data, sample_nos, rD, Q_ref, save, show, xlabel, ylabel, - zlabel, savename) + scatter_3D(data, sample_nos, rD, Q_ref, save, interactive, xlabel, + ylabel, zlabel, savename) + elif data.shape[1] > 2 and showdim == 2: + for x, y in combinations(Q_nums, 2): + xlabel = r'$q_{'+str(x)+'}$' + ylabel = r'$q_{'+str(y)+'}$' + savename = 'data_sampqes_q'+str(x)+'q'+str(y)+'_cs.eps' + scatter_2D(data[:, [x, y]], sample_nos, rD, Q_ref, save, + interactive, xlabel, ylabel, savename) + elif data.shape[1] > 3 and showdim == 3: + for x, y, z in combinations(Q_nums, 3): + xlabel = r'$q_{'+str(x)+'}$' + ylabel = r'$q_{'+str(y)+'}$' + zlabel = r'$q_{'+str(z)+'}$' + savename = 'data_sampqes_q'+str(x)+'q'+str(y)+'q'+str(z)+'_cs.eps' + scatter_3D(data[:, [x, y, z]], sample_nos, rD, Q_ref, save, + interactive, xlabel, ylabel, zlabel, savename) def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, img_folder='figs/', ref_markers=None, - ref_colors=None): + ref_colors=None, showdim=None): r""" - TODO: add option for showing all pairs or altering which index for which - all pairs are shown - Plot the data domain D using a triangulation based on the generating samples where :math:`Q={q_1, q_i}` for ``i=Q_nums``, with a marker for various :math:`Q_{ref}`. :param samples: Samples to plot - :type samples: :class:`~numpy.ndarray` of shape (num_samples, ndim) + :type samples: :class:`~numpy.ndarray` of shape (num_samples, ndim). Only + uses the first two dimensions. :param data: Data associated with ``samples`` :type data: :class:`np.ndarray` :param Q_ref: reference data value @@ -203,6 +230,9 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, :param string img_folder: folder to save the plots to :param list ref_markers: list of marker types for :math:`Q_{ref}` :param list ref_colors: list of colors for :math:`Q_{ref}` + :param showdim: default 1. If int then flag to show all combinations with a + given dimension or if ``all`` show all combinations. + :type showdim: int or string """ if ref_markers == None: @@ -211,28 +241,52 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, ref_colors = colors if Q_nums == None: Q_nums = range(data.shape[1]) + if showdim == None: + showdim = 1 triangulation = tri.Triangulation(samples[:, 0], samples[:, 1]) triangles = triangulation.triangles - for i in Q_nums: - - plt.tricontourf(data[:, 0], data[:, i], np.zeros((data.shape[0],)), - triangles=triangles, colors='grey') - plt.autoscale(tight=True) - plt.xlabel(r'$q_1$') - plt.ylabel(r'$q_{'+str(i+1)+r'}$') + + if type(showdim) == int: + for i in Q_nums: + plt.tricontourf(data[:, showdim], data[:, i], + np.zeros((data.shape[0],)), triangles=triangles, + colors='grey') + plt.autoscale(tight=True) + xlabel = r'$q_{'+str(showdim+1)+r'}$' + ylabel = r'$q_{'+str(i+1)+r'}$' + plt.xlabel(xlabel) + plt.ylabel(ylabel) + + filenames = [img_folder+'domain_q'+str(showdim+1)+'_'+str(i+1)+'.eps', + img_folder+'q'+str(showdim+1)+'_q'+str(i+1)+'_domain_Q_cs.eps'] + + show_data_domain_2D(samples, data[:, [showdim, i]], Q_ref[:, + [showdim, i]], ref_markers, ref_colors, xlabel=xlabel, + ylabel=ylabel, triangles=triangles, save=True, + interactive=False, filenames=filenames) + elif showdim == 'all' or showdim == 'ALL': + for x, y in combinations(Q_nums, 2): + plt.tricontourf(data[:, x], data[:, y], np.zeros((data.shape[0],)), + triangles=triangles, colors='grey') + plt.autoscale(tight=True) + xlabel = r'$q_{'+str(x+1)+r'}$' + ylabel = r'$q_{'+str(y+1)+r'}$' + plt.xlabel(xlabel) + plt.ylabel(ylabel) - filenames = [img_folder+'domain_q1_'+str(i)+'.eps', - img_folder+'q1_q'+str(i)+'_domain_Q_cs.eps'] - - show_data_domain_2D(samples, data[:, [0, i]], Q_ref[:, [0, i]], - ref_markers, ref_colors, ylabel=r'$q_{'+str(i+1)+r'}$', - triangles=triangles, save=True, show=False, filenames=filenames) + filenames = [img_folder+'domain_q'+str(x+1)+'_'+str(y+1)+'.eps', + img_folder+'q'+str(x+1)+'_q'+str(y+1)+'_domain_Q_cs.eps'] + + show_data_domain_2D(samples, data[:, [x, y]], Q_ref[:, + [x, y]], ref_markers, ref_colors, xlabel=xlabel, + ylabel=ylabel, triangles=triangles, save=True, + interactive=False, filenames=filenames) def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, ref_colors=None, xlabel=r'$q_1$', ylabel=r'$q_2', - triangles=None, save=True, show=True, filenames=None): + triangles=None, save=True, interactive=True, filenames=None): r""" Plot the data domain D using a triangulation based on the generating samples with a marker for various :math:`Q_{ref}`. Assumes that the first @@ -251,7 +305,7 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, :param triangles: triangulation defined by ``samples`` :type triangles: :class:`tri.Triuangulation.triangles` :param boolean save: flag whether or not to save the figure - :param boolean show: flag whether or not to show the figure + :param boolean interactive: flag whether or not to show the figure :param list filenames: file names for the unmarked and marked domain plots """ @@ -279,11 +333,9 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, if save: plt.savefig(filenames[1], bbox_inches='tight', transparent=True, pad_inches=0) - if show: + if interactive: plt.show() else: plt.close() - - diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index f0ca4f72..978723e8 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -15,40 +15,50 @@ import numpy.testing as nptest from bet.Comm import * -local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") +local_path = os.path.join(os.path.dirname(bet.__file__), + "../test/test_sampling") class test_plotDomains(unittest.TestCase): """ - Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D + Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and + :meth:`bet.postProcess.plotP.calculate_2D_marginal_probs` for a 2D parameter space. """ def setUp(self): """ Set up problem. """ - self.lam_domain=np.array([[0.0,1.0],[0.0,1.0], [0.0, 1.0]]) - self.samples=util.meshgrid_ndim((np.linspace(self.lam_domain[0][0], - self.lam_domain[0][1], 10),np.linspace(self.lam_domain[1][0], - self.lam_domain[1][1], 10), np.linspace(self.lam_domain[1][0], - self.lam_domain[1][1], 10))) + self.lam_domain = np.array([[0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0]]) + self.samples = util.meshgrid_ndim((np.linspace(self.lam_domain[0][0], + self.lam_domain[0][1], 10), np.linspace(self.lam_domain[1][0], + self.lam_domain[1][1], 10), np.linspace(self.lam_domain[1][0], + self.lam_domain[1][1], 10), np.linspace(self.lam_domain[1][0], + self.lam_domain[1][1], 10))) self.data = self.samples*3.0 self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) self.filename = "testfigure" - + QoI_range = np.array([3.0, 3.0, 3.0]) Q_ref = QoI_range*0.5 - bin_size = 0.15*QoI_range - maximum = 1/np.product(bin_size) - def ifun(outputs): - left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) - right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) - left = np.all(np.greater_equal(outputs, left), axis=1) - right = np.all(np.less_equal(outputs, right), axis=1) - inside = np.logial_and(left, right) - max_values = np.repeate(maximum, outputs.shape[0], 0) - return inside.astype('float64')*max_values - self.rho_D = ifun - self.lnums = [1,2,3] + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function. + :param outputs: outputs + :type outputs: :class:`numpy.ndarray` of shape (N, ndim) + :rtype: :class:`numpy.ndarray` of shape (N,) + :returns: 0 if outside of set or positive number if inside set + """ + left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) + right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) + left = np.all(np.greater_equal(outputs, left), axis=1) + right = np.all(np.less_equal(outputs, right), axis=1) + inside = np.logial_and(left, right) + max_values = np.repeate(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.rho_D = ifun + self.lnums = [1, 2, 3] self.markers = [] for m in Line2D.markers: try: @@ -64,7 +74,8 @@ def tearDown(self): """ # remove any files the we create filenames = glob.glob(self.filename+".*") - filenames.append('param_samples_cs.eps') + filenames.extend(glob.glob('param_samples_*cs.eps')) + filenames.extend(glob.glob('data_samples_*cs.eps')) filenames.append('domain_q1_q1_cs.eps') filenames.append('q1_q2_domain_Q_cs.eps') figfiles = glob.glob('figs/*') @@ -78,7 +89,7 @@ def test_scatter_2D(self): Test :meth:`bet.postProcess.plotDomains.scatter_2D` """ sample_nos = [None, 25] - p_ref = [None, self.samples[4,[0, 1]]] + p_ref = [None, self.samples[4, [0, 1]]] save = [True, False] for sn in sample_nos: for pr in p_ref: @@ -86,21 +97,25 @@ def test_scatter_2D(self): yield self.check_scatter_2D, sn, pr, s def check_scatter_2D(self, sample_nos, p_ref, save): + """ + Check to see that the :meth:`bet.postTools.plotDomains.scatter_2D` ran + without generating an error. + """ try: - plotDomains.scatter_2D(self.samples[:,[0, 1]], sample_nos, - self.P_samples, p_ref, save, False, 'XLABEL', 'YLABEL', - self.filename) + plotDomains.scatter_2D(self.samples[:, [0, 1]], sample_nos, + self.P_samples, p_ref, save, False, 'XLABEL', 'YLABEL', + self.filename) go = True except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) - + def test_scatter_3D(self): """ Test :meth:`bet.postProcess.plotDomains.scatter_3D` """ sample_nos = [None, 25] - p_ref = [None, self.samples[4,:]] + p_ref = [None, self.samples[4, :]] save = [True, False] for sn in sample_nos: for pr in p_ref: @@ -108,10 +123,14 @@ def test_scatter_3D(self): yield self.check_scatter_3D, sn, pr, s def check_scatter_3D(self, sample_nos, p_ref, save): + """ + Check to see that the :meth:`bet.postTools.plotDomains.scatter_3D` ran + without generating an error. + """ try: - plotDomains.scatter_3D(self.samples, sample_nos, self.P_samples, - p_ref, save, False, 'XLABEL', 'YLABEL', 'ZLABEL', - self.filename) + plotDomains.scatter_3D(self.samples[:, [0, 1, 2]], sample_nos, + self.P_samples, p_ref, save, False, 'XLABEL', 'YLABEL', + 'ZLABEL', self.filename) go = True except (RuntimeError, TypeError, NameError): go = False @@ -123,21 +142,33 @@ def test_show_param(self): """ sample_nos = [None, 25] save = [True, False] - samples = [self.samples, self.samples[:,[0, 1]]] + samples = [self.samples, self.samples[:, [0, 1]], + self.samples[:, [0, 1, 2]]] lnums = [None, self.lnums] for sample in samples: - for ln in lnums: - for sn in sample_nos: - p_ref = [None, samples[4,:]] - for pr in p_ref: - for s in save: - yield self.check_show_param, samples, pr, sn, s, ln - - def check_show_param(self, samples, sample_nos, p_ref, save, lnums): + showdim = [None] + if sample.shape[0] > 2: + showdim.append(2) + if sample.shape[0] > 3: + showdim.append(3) + for sd in showdim: + for ln in lnums: + for sn in sample_nos: + p_ref = [None, sample[4, :]] + for pr in p_ref: + for s in save: + yield self.check_show_param, samples, pr, sn, s, ln, sd + + def check_show_param(self, samples, sample_nos, p_ref, save, lnums, + showdim): + """ + Check to see that the :meth:`bet.postTools.plotDomains.show_param` ran + without generating an error. + """ try: plotDomains.show_param(samples, self.data, self.rho_D, p_ref, - sample_nos, save, False, lnums) + sample_nos, save, False, lnums, showdim) go = True except (RuntimeError, TypeError, NameError): go = False @@ -149,21 +180,31 @@ def test_show_data(self): """ sample_nos = [None, 25] save = [True, False] - data_sets = [self.data, self.data[:,[0, 1]]] + data_sets = [self.data, self.data[:, [0, 1]]] qnums = [None, self.lnums] for data in data_sets: - for qn in qnums: - for sn in sample_nos: - Q_ref = [None, data[4,:]] - for qr in Q_ref: - for s in save: - yield self.check_show_data, data, sn, qr, s, qn - - def check_show_data(self, data, sample_nos, q_ref, save, qnums): + showdim = [None] + if data.shape[0] > 2: + showdim.append(2) + if data.shape[0] > 3: + showdim.append(3) + for sd in showdim: + for qn in qnums: + for sn in sample_nos: + Q_ref = [None, data[4, :]] + for qr in Q_ref: + for s in save: + yield self.check_show_data, data, sn, qr, s, qn, sd + + def check_show_data(self, data, sample_nos, q_ref, save, qnums, showdim): + """ + Check to see that the :meth:`bet.postTools.plotDomains.show_data` ran + without generating an error. + """ try: plotDomains.show_data(data, self.rho_D, q_ref, - sample_nos, save, False, qnums) + sample_nos, save, False, qnums, showdim) go = True except (RuntimeError, TypeError, NameError): go = False @@ -182,14 +223,18 @@ def test_show_data_domain_2D(self): for rm in ref_markers: for rc in ref_colors: - for t in triangles: - for s in save: - for fn in filenames: - yield self.check_show_data_domain_2D, rm, rc, t, s, - fn + for t in triangles: + for s in save: + for fn in filenames: + yield self.check_show_data_domain_2D, rm, rc, t, s, fn def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, save, filenames): + """ + Check to see that the + :meth:`bet.postTools.plotDomains.show_data_domain_2D` ran + without generating an error. + """ Q_ref = self.data[4, [0, 1]] data = self.data[:, [0, 1]] try: @@ -200,27 +245,38 @@ def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) - + def test_show_data_domain_multi(self): """ Test :meth:`bet.postProcess.plotDomains.show_data_domain_multi` """ os.mkdir('figs/') - Q_nums = [None, [1, 2]] + Q_nums = [None, [1, 2], [1, 2, 3]] ref_markers = [None, self.markers] ref_colors = [None, self.colors] for rm in ref_markers: for rc in ref_colors: for qn in Q_nums: - yield self.check_show_data_domain_multi, rm, rc, qn + showdim = [None, 1] + if len(qn) > 2: + showdim.append('all', 'ALL') + for sd in showdim: + yield self.check_show_data_domain_multi, rm, rc, qn, sd - def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums): - Q_ref = self.data[4,:] + def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums, + showdim): + """ + Check to see that the + :meth:`bet.postTools.plotDomains.show_data_domain_multi` ran + without generating an error. + """ + Q_ref = self.data[4, :] try: plotDomains.show_data_domain_multi(self.samples, self.data, Q_ref, Q_nums, ref_markers=ref_markers, - ref_colors=ref_colors) + ref_colors=ref_colors, showdim=showdim) go = True except (RuntimeError, TypeError, NameError): go = False + nptest.assert_equal(go, True) From 9b09e7938d2e0bf33684205fe6a002bdec69e39f Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 22 Apr 2015 18:21:50 -0500 Subject: [PATCH 52/85] finished testing 2 of 5 kernels --- test/test_sampling/test_adaptiveSampling.py | 517 ++++++++++++++++++-- 1 file changed, 471 insertions(+), 46 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 5d52e514..19e6ecad 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # Lindley Graham 04/07/2015 """ @@ -12,7 +13,8 @@ from bet.Comm import * import bet -local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") +local_path = os.path.join(os.path.dirname(bet.__file__), + "../test/test_sampling") def test_loadmat_init(): """ @@ -20,10 +22,10 @@ def test_loadmat_init(): :meth:`bet.sampling.adaptiveSampling.sampler.init`. """ chain_length = 10 - mdat1 = {'samples':np.random.random((5,1)), - 'data':np.random.random((5,1)), 'num_samples':50, + mdat1 = {'samples':np.random.random((5, 1)), + 'data':np.random.random((5, 1)), 'num_samples':50, 'chain_length':chain_length} - mdat2 = {'samples':np.random.random((6,1)), + mdat2 = {'samples':np.random.random((6, 1)), 'num_samples':60, 'chain_length':chain_length} model = "this is not a model" @@ -64,14 +66,22 @@ def test_loadmat_init(): if os.path.exists(os.path.join(local_path, 'testfile2.mat')): os.remove(os.path.join(local_path, 'testfile2.mat')) -def verify_samples(model, QoI_range, sampler, param_min, param_max, +def verify_samples(QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type): + """ + Run :meth:`bet.sampling.adaptiveSampling.sampler.generalized_chains` and + verify that the samples have the correct dimensions and are containted in + the bounded parameter space. + """ # create indicator function Q_ref = QoI_range*0.5 bin_size = 0.15*QoI_range maximum = 1/np.product(bin_size) def ifun(outputs): + """ + Indicator function + """ left = np.repeat([Q_ref-.5*bin_size], outputs.shape[0], 0) right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) left = np.all(np.greater_equal(outputs, left), axis=1) @@ -128,23 +138,39 @@ class Test_adaptive_sampler(unittest.TestCase): """ def setUp(self): + """ + Set up + """ + # create 1-1 map self.param_min1 = np.zeros((1, )) self.param_max1 = np.zeros((1, )) def map_1t1(x): + """ + 1 to 1 map + """ return x*2.0 # create 3-1 map self.param_min3 = np.zeros((3, )) self.param_max3 = np.ones((3, )) def map_3t1(x): + """ + 3 to 1 map + """ return np.sum(x, 1) # create 3-2 map def map_3t2(x): + """ + 3 to 2 map + """ return np.vstack(([x[:, 0]+x[:, 1], x[:, 2]])).transpose() # create 10-4 map self.param_min10 = np.zeros((10, )) - self.param_min10 = np.ones((10, )) + self.param_max10 = np.ones((10, )) def map_10t4(x): + """ + 10 to 4 map + """ x1 = x[:, 0] + x[:, 1] x2 = x[:, 2] + x[:, 3] x3 = x[:, 4] + x[:, 5] @@ -168,16 +194,25 @@ def map_10t4(x): self.samplers.append(asam.sampler(num_samples, chain_length, model)) + self.param_min_list = [self.param_min1, self.param_min1, + self.param_min3, self.param_min3, self.param_min10] + self.param_max_list = [self.param_max1, self.param_max1, + self.param_max3, self.param_max3, self.param_max10] + + self.test_list = zip(self.models, self.QoI_range, self.samplers, + self.param_min_list, self.param_max_list, self.savefiles) + + def tearDown(self): for f in self.savefiles: if os.path.exists(f+".mat"): os.remove(f+".mat") if size > 1: for f in self.savefiles: - for proc in range(size): - proc_savefile = os.path.join(local_path, - os.path.dirname(f), "proc{}{}".format(rank, - os.path.basename(f))) + proc_savefile = os.path.join(local_path, os.path.dirname(f), + "proc{}{}".format(rank, os.path.basename(f))) + if os.path.exists(proc_savefile): + os.remove(proc_savefile) def test_update(self): """ @@ -192,85 +227,475 @@ def test_update(self): np.repeat(range(self.samplers[0].num_chains), self.samplers[0].chain_length, 0)) - @unittest.skip("Implement me") def test_run_gen(self): + """ + Run :meth:`bet.sampling.adaptiveSampling.sampler.run_gen` and verify + that the output has the correct dimensions. + """ # sampler.run_gen(kern_list, rho_D, maximum, param_min, param_max, # t_set, savefile, initial_sample_type) # returns list where each member is a tuple ((samples, data), # all_step_ratios, num_high_prob_samples, # sorted_indices_of_num_high_prob_samples, average_step_ratio) - pass - @unittest.skip("Implement me") + # create indicator function + inputs = self.test_list[3] + _, QoI_range, sampler, param_min, param_max, savefile = inputs + + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + + # create rhoD_kernel + kernel_rD = asam.rhoD_kernel(maximum, ifun) + kern_list = [kernel_rD]*2 + + # create t_set + t_set = asam.transition_set(.5, .5**5, 1.0) + + # run run_gen + output = sampler.run_gen(kern_list, ifun, maximum, param_min, + param_max, t_set, savefile) + + results, r_step_size, results_rD, sort_ind, mean_ss = output + + for out in output: + assert len(out) == 2 + + for samples, data in results: + assert samples.shape == (sampler.num_samples, len(param_min)) + assert data.shape == (sampler.num_samples, len(QoI_range)) + for step_sizes in r_step_size: + assert step_sizes.shape == (sampler.num_chains, + sampler.chain_length) + for num_hps in results_rD: + assert type(num_hps) == int + for inds in sort_ind: + assert np.issubdtype(type(inds), int) + for asr in mean_ss: + assert asr > t_set.min_ratio + assert asr < t_set.max_ratio + def test_run_tk(self): + """ + Run :meth:`bet.sampling.adaptiveSampling.sampler.run_tk` and verify + that the output has the correct dimensions. + """ # sampler.run_tk(init_ratio, min_raio, max_ratio, rho_D, maximum, # param_min, param_max, kernel, savefile, intial_sample_type) # returns list where each member is a tuple ((samples, data), # all_step_ratios, num_high_prob_samples, # sorted_indices_of_num_high_prob_samples, average_step_ratio) - pass - @unittest.skip("Implement me") + inputs = self.test_list[3] + _, QoI_range, sampler, param_min, param_max, savefile = inputs + + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + + # create rhoD_kernel + kernel_rD = asam.rhoD_kernel(maximum, ifun) + + # create t_set + init_ratio = [1.0, .5, .25] + min_ratio = [.5**2, .5**5, .5**7] + max_ratio = [1.0, .75, .5] + + # run run_gen + output = sampler.run_tk(init_ratio, min_ratio, max_ratio, ifun, maximum, param_min, + param_max, kernel_rD, savefile) + + results, r_step_size, results_rD, sort_ind, mean_ss = output + + for out in output: + assert len(out) == 3 + + for samples, data in results: + assert samples.shape == (sampler.num_samples, len(param_min)) + assert data.shape == (sampler.num_samples, len(QoI_range)) + for step_sizes in r_step_size: + assert step_sizes.shape == (sampler.num_chains, + sampler.chain_length) + for num_hps in results_rD: + assert type(num_hps) == int + for inds in sort_ind: + assert np.issubdtype(type(inds), int) + for asr, mir, mar in zip(mean_ss, min_ratio, max_ratio): + assert asr > mir + assert asr < mar + def test_run_inc_dec(self): + """ + Run :meth:`bet.sampling.adaptiveSampling.sampler.run_inc_dec` and verify + that the output has the correct dimensions. + """ # sampler.run_inc_dec(increase, decrease, tolerance, rho_D, maximum, # param_min, param_max, t_set, savefile, initial_sample_type) # returns list where each member is a tuple ((samples, data), # all_step_ratios, num_high_prob_samples, # sorted_indices_of_num_high_prob_samples, average_step_ratio) - pass + inputs = self.test_list[3] + _, QoI_range, sampler, param_min, param_max, savefile = inputs + + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + + # create rhoD_kernel + increase = [2.0, 3.0, 5.0] + decrease = [.7, .5, .2] + tolerance = [1e-3, 1e-4, 1e-7] + + # create t_set + t_set = asam.transition_set(.5, .5**5, 1.0) + + # run run_gen + output = sampler.run_inc_dec(increase, decrease, tolerance, ifun, maximum, param_min, + param_max, t_set, savefile) + + results, r_step_size, results_rD, sort_ind, mean_ss = output + + for out in output: + assert len(out) == 3 + + for samples, data in results: + assert samples.shape == (sampler.num_samples, len(param_min)) + assert data.shape == (sampler.num_samples, len(QoI_range)) + for step_sizes in r_step_size: + assert step_sizes.shape == (sampler.num_chains, + sampler.chain_length) + for num_hps in results_rD: + assert type(num_hps) == int + for inds in sort_ind: + assert np.issubdtype(type(inds), int) + for asr in mean_ss: + assert asr > t_set.min_ratio + assert asr < t_set.max_ratio def test_generalized_chains(self): """ Test :met:`bet.sampling.adaptiveSampling.sampler.generalized_chains` for three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). """ - param_min_list = [self.param_min1, self.param_min1, self.param_min3, - self.param_min3, self.param_min10] - param_max_list = [self.param_max1, self.param_max1, self.param_max3, - self.param_max3, self.param_max10] # create a transition set t_set = asam.transition_set(.5, .5**5, 1.0) - test_list = zip(self.models, self.QoI_range, self.samplers, - param_min_list, param_max_list, self.savefiles) - - for model, QoI_range, sampler, param_min, param_max, savefile, rho_D in test_list: + for _, QoI_range, sampler, param_min, param_max, savefile, _ in self.test_list: for initial_sample_type in ["random", "r", "lhs"]: - yield verify_samples, model, QoI_range, sampler, - param_min, param_max, t_set, savefile, initial_sample_type + yield verify_samples, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type -@unittest.skip("Implement me") -def test_kernels(): - pass +class test_kernels(unittest.TestCase): + """ + Tests kernels for a 1d, 2d, 4d data space. + """ + def setUp(self): + """ + Set up + """ + self.QoI_range = [np.array([3.0]), + np.array([2.0, 1.0]), np.array([2.0, 2.0, 2.0, 4.0])] + + def test_list(self): + """ + Run test for a 1d, 2d, and 4d data space. + """ + for QoI_range in self.QoI_range: + Q_ref = QoI_range*0.5 + bin_size = 0.15*QoI_range + maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.verify_indiv(Q_ref, ifun, maximum) + + def verify_indiv(self, Q_ref, rhoD, maximum): + """ + Test that the list of kernels is correctly created. + """ + kern_list = asam.kernels(Q_ref, rhoD, maximum) + assert len(kern_list) == 4 + assert type(kern_list[0]) == asam.maxima_mean_kernel + assert type(kern_list[1]) == asam.rhoD_kernel + assert type(kern_list[2]) == asam.maxima_kernel + assert type(kern_list[3]) == asam.multi_dist_kernel + +class data_1D(object): + """ + Sets up 1D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 1))*10.0 + self.Q_ref = np.array([5.0]) + self.data_domain = np.expand_dims(np.array([0.0, 10.0]), axis=0) + self.mdim = 1 + bin_size = 0.15*self.data_domain[:, 1] + self.maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + self.Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + self.Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(self.maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.rho_D = ifun + +class data_2D(object): + """ + Sets up 2D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 2))*10.0 + self.Q_ref = np.array([5.0, 5.0]) + self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0]]) + self.mdim = 2 + bin_size = 0.15*self.data_domain[:, 1] + self.maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + self.Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + self.Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(self.maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.rho_D = ifun + + +class data_3D(object): + """ + Sets up 3D data domain problem. + """ + def createData(self): + """ + Set up data. + """ + self.data = np.random.random((100, 3))*10.0 + self.Q_ref = np.array([5.0, 5.0, 5.0]) + self.data_domain = np.array([[0.0, 10.0], [0.0, 10.0], [0.0, 10.0]]) + self.mdim = 3 + bin_size = 0.15*self.data_domain[:, 1] + self.maximum = 1/np.product(bin_size) + def ifun(outputs): + """ + Indicator function + """ + inside = np.logical_and(np.all(np.greater_equal(outputs, + self.Q_ref-.5*bin_size), axis=1), np.all(np.less_equal(outputs, + self.Q_ref+.5*bin_size), axis=1)) + max_values = np.repeat(self.maximum, outputs.shape[0], 0) + return inside.astype('float64')*max_values + self.rho_D = ifun + + +class kernel(object): + """ + Test :class:`bet.sampling.adaptiveSampling.kernel` + """ + def setUp(self): + """ + Set up + """ + self.kernel = asam.kernel() -@unittest.skip("Implement me") -class test_transition_set(unittest.TestCase): - @unittest.skip("Implement me") def test_init(self): - pass - @unittest.skip("Implement me") - def test_step(self): - pass + """ + Test the initalization of :class:`bet.sampling.adaptiveSampling.kernel` + """ + assert self.kernel.TOL == 1e-8 + assert self.kernel.increase == 1.0 + assert self.kernel.decrease == 1.0 + + def test_delta_step(self): + """ + Test the delta_step method of + :class:`bet.sampling.adaptiveSampling.kernel` + """ + kern_new, proposal = self.kernel.delta_step(self.data) + assert kern_new == None + assert proposal.shape == (self.data.shape[0],) + + +class test_kernel_1D(kernel, data_1D): + """ + Test :class:`bet.sampling.adaptiveSampling.kernel` on a 1D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_kernel_1D, self).createData() + super(test_kernel_1D, self).setUp() + +class test_kernel_2D(kernel, data_2D): + """ + Test :class:`bet.sampling.adaptiveSampling.kernel` on a 2D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_kernel_2D, self).createData() + super(test_kernel_2D, self).setUp() + +class test_kernel_3D(kernel, data_3D): + """ + Test :class:`bet.sampling.adaptiveSampling.kernel` on a 3D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_kernel_3D, self).createData() + super(test_kernel_3D, self).setUp() + + +class rhoD_kernel(kernel): + """ + Test :class:`bet.sampling.adaptiveSampling.rhoD_kernel` + """ + def setUp(self): + """ + Set up + """ + self.kernel = asam.rhoD_kernel(self.maximum, self.rho_D) -@unittest.skip("Implement me") -class kernel(unittest.TestCase): - @unittest.skip("Implement me") def test_init(self): - pass + """ + Test the initalization of :class:`bet.sampling.adaptiveSampling.kernel` + """ + assert self.kernel.TOL == 1e-8 + assert self.kernel.increase == 2.0 + assert self.kernel.decrease == 0.5 + assert self.kernel.MAX == self.maximum + assert self.kernel.rho_D == self.rho_D + assert self.kernel.sort_ascending == False + def test_delta_step(self): - pass + """ + Test the delta_step method of + :class:`bet.sampling.adaptiveSampling.kernel` + """ + kern_new, proposal = self.kernel.delta_step(self.data) + nptest.assert_array_equal(kern_new, self.rho_D(self.data)) + assert proposal == None + + data = np.vstack([self.Q_ref+3.0, self.Q_ref, self.Q_ref-3.0]) + data_new = np.vstack([self.Q_ref, self.Q_ref+3.0, self.Q_ref-3.0]) + kern_old = self.rho_D(data) + kern_new, proposal = self.kernel.delta_step(data_new, kern_old) + nptest.assert_array_equal(proposal, [0.5, 2.0, 1.0]) + +class test_rhoD_kernel_1D(rhoD_kernel, data_1D): + """ + Test :class:`bet.sampling.adaptiveSampling.rhoD_kernel` on a 1D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_rhoD_kernel_1D, self).createData() + super(test_rhoD_kernel_1D, self).setUp() + +class test_rhoD_kernel_2D(rhoD_kernel, data_2D): + """ + Test :class:`bet.sampling.adaptiveSampling.rhoD_kernel` on a 2D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_rhoD_kernel_2D, self).createData() + super(test_rhoD_kernel_2D, self).setUp() + +class test_rhoD_kernel_3D(rhoD_kernel, data_3D): + """ + Test :class:`bet.sampling.adaptiveSampling.rhoD_kernel` on a 3D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_rhoD_kernel_3D, self).createData() + super(test_rhoD_kernel_3D, self).setUp() @unittest.skip("Implement me") -class test_rhoD_kernel(kernel): +class maxima_kernel(kernel): + """ + Write me + """ pass @unittest.skip("Implement me") -class test_maxima_kernel(kernel): +class maxima_mean_kernel(kernel): + """ + Write me + """ pass @unittest.skip("Implement me") -class test_maxima_mean_kernel(kernel): +class multi_dist_kernel(kernel): + """ + Write me + """ pass + @unittest.skip("Implement me") -class test_multi_dist_kernel(kernel): - pass +class test_transition_set(unittest.TestCase): + """ + Write me + """ + @unittest.skip("Implement me") + def test_init(self): + """ + Write me + """ + pass + @unittest.skip("Implement me") + def test_step(self): + """ + Write me + """ + pass From 88e28b7db6240c74c95b683abff95a62e5b0779a Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 22 Apr 2015 20:04:08 -0500 Subject: [PATCH 53/85] outlined maxima and maxima_mean kernel tests --- test/test_sampling/test_adaptiveSampling.py | 157 ++++++++++++++++++-- 1 file changed, 148 insertions(+), 9 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 19e6ecad..9e5421d0 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -602,7 +602,7 @@ def setUp(self): def test_init(self): """ - Test the initalization of :class:`bet.sampling.adaptiveSampling.kernel` + Test the initalization of :class:`bet.sampling.adaptiveSampling.rhoD_kernel` """ assert self.kernel.TOL == 1e-8 assert self.kernel.increase == 2.0 @@ -614,7 +614,7 @@ def test_init(self): def test_delta_step(self): """ Test the delta_step method of - :class:`bet.sampling.adaptiveSampling.kernel` + :class:`bet.sampling.adaptiveSampling.rhoD_kernel` """ kern_new, proposal = self.kernel.delta_step(self.data) nptest.assert_array_equal(kern_new, self.rho_D(self.data)) @@ -659,19 +659,158 @@ def setUp(self): super(test_rhoD_kernel_3D, self).createData() super(test_rhoD_kernel_3D, self).setUp() -@unittest.skip("Implement me") class maxima_kernel(kernel): """ - Write me + Test :class:`bet.sampling.adaptiveSampling.maxima_kernel` """ - pass + def setUp(self): + """ + Set up + """ + self.kernel = asam.maxima_kernel(np.vstack([self.Q_ref, self.Q_ref+.5]), self.rho_D) -@unittest.skip("Implement me") -class maxima_mean_kernel(kernel): + def test_init(self): + """ + Test the initalization of :class:`bet.sampling.adaptiveSampling.maxima_kernel` + """ + assert self.kernel.TOL == 1e-8 + assert self.kernel.increase == 2.0 + assert self.kernel.decrease == 0.5 + nptest.assert_equal(self.kernel.MAXIMA, np.vstack([self.Q_ref, + self.Q_ref+.5])) + assert self.kernel.num_maxima == 2 + nptest.assert_equal(self.kernel.rho_max, + self.rho_D(np.vstack([self.Q_ref, self.Q_ref+.5]))) + assert self.kernel.sort_ascending == True + + def test_delta_step(self): + """ + Test the delta_step method of + :class:`bet.sampling.adaptiveSampling.maxima_kernel` + """ + data_old = np.vstack([self.Q_ref+3.0, self.Q_ref, self.Q_ref-3.0]) + kern_old, proposal = self.kernel.delta_step(data_old) + + # TODO: check kern_old + #nptest.assert_array_equal(kern_old, np.zeros((self.data.shape[0],)) + assert proposal == None + + data_new = np.vstack([self.Q_ref, self.Q_ref+3.0, self.Q_ref-3.0]) + kern_new, proposal = self.kernel.delta_step(data_new, kern_old) + + #TODO: check kern_new + #nptest.assert_array_eqyal(kern_new, something) + nptest.assert_array_equal(proposal, [0.5, 2.0, 1.0]) + +class test_maxima_kernel_1D(maxima_kernel, data_1D): """ - Write me + Test :class:`bet.sampling.adaptiveSampling.maxima_kernel` on a 1D data space. """ - pass + def setUp(self): + """ + Set up + """ + super(test_maxima_kernel_1D, self).createData() + super(test_maxima_kernel_1D, self).setUp() + +class test_maxima_kernel_2D(maxima_kernel, data_2D): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_kernel` on a 2D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_maxima_kernel_2D, self).createData() + super(test_maxima_kernel_2D, self).setUp() + +class test_maxima_kernel_3D(maxima_kernel, data_3D): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_kernel` on a 3D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_maxima_kernel_3D, self).createData() + super(test_maxima_kernel_3D, self).setUp() + + +class maxima_mean_kernel(maxima_kernel): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` + """ + def setUp(self): + """ + Set up + """ + self.kernel = asam.maxima_mean_kernel(np.vstack([self.Q_ref, self.Q_ref+.5]), self.rho_D) + + def test_init(self): + """ + Test the initalization of + :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` + """ + assert self.kernel.radius == None + assert self.kernel.mean == None + assert self.kernel.current_clength == 0 + super(maxima_mean_kernel, self).test_init() + + def test_reset(self): + """ + Test the method + :meth:`bet.sampling.adaptiveSampling.maxima_mean_kernel.reset` + """ + self.kernel.reset() + assert self.kernel.radius == None + assert self.kernel.mean == None + assert self.kernel.current_clength == 0 + + def test_delta_step(self): + """ + Test the delta_step method of + :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` + """ + super(maxima_mean_kernel, self).test_delta_step() + # TODO + # check self.current_clength + # check self.radius + # check self.mean + +class test_maxima_mean_kernel_1D(maxima_mean_kernel, data_1D): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` on a 1D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_maxima_mean_kernel_1D, self).createData() + super(test_maxima_mean_kernel_1D, self).setUp() + +class test_maxima_mean_kernel_2D(maxima_mean_kernel, data_2D): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` on a 2D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_maxima_mean_kernel_2D, self).createData() + super(test_maxima_mean_kernel_2D, self).setUp() + +class test_maxima_mean_kernel_3D(maxima_mean_kernel, data_3D): + """ + Test :class:`bet.sampling.adaptiveSampling.maxima_mean_kernel` on a 3D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_maxima_mean_kernel_3D, self).createData() + super(test_maxima_mean_kernel_3D, self).setUp() + + @unittest.skip("Implement me") class multi_dist_kernel(kernel): From f692b0a8ebedccd846c64528b487cc6bb7612f39 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 23 Apr 2015 12:36:54 -0500 Subject: [PATCH 54/85] removed multi_dist_kernel --- bet/sampling/adaptiveSampling.py | 105 -------------------- test/test_sampling/test_adaptiveSampling.py | 12 +-- 2 files changed, 1 insertion(+), 116 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 6975ba03..cbad3bc7 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -17,8 +17,6 @@ import math, os from bet.Comm import * -size = comm.Get_size() -rank = comm.Get_rank() def loadmat(save_file, lb_model=None): """ @@ -364,7 +362,6 @@ def kernels(Q_ref, rho_D, maximum): kern_list.append(maxima_mean_kernel(np.array([Q_ref]), rho_D)) kern_list.append(rhoD_kernel(maximum, rho_D)) kern_list.append(maxima_kernel(np.array([Q_ref]), rho_D)) - kern_list.append(multi_dist_kernel()) return kern_list class transition_set(object): @@ -726,106 +723,4 @@ def delta_step(self, data_new, kern_old=None): return (kern_new, proposal) -class multi_dist_kernel(kernel): - """ - The goal is to make a sampling that is robust to different types of - distributions on QoI, i.e., we do not know a priori where the regions of - high probability are in D. This class provides a method for determining the - proposed step size as follows. We keep track of the change of the QoI - values from one sample to the next compared to the total range of QoI - values explored so far. If a big relative change is detected, then you know - that you have come across a region with larger derivatives and you should - place more samples around there to resolve the induced regions of - generalized contours, i.e., reduce the step size. If the change in QoI - values is relatively small, you are in a region where there is little - sensitivity, so take larger step sizes. - - radius - current estimate of the radius of D (1/2 the diameter of D) - mean - current estimate of the mean QoI - current_clength - current batch number - TOL - a tolerance used to determine if two different values are close - increase - the multiple to increase the step size by - decrease - the multiple to decrease the step size by - - """ - - def __init__(self, tolerance=1E-08, increase=2.0, - decrease=0.5): - """ - Initialization - """ - self.radius = None - self.mean = None - self.current_clength = 0 - super(multi_dist_kernel, self).__init__(tolerance, increase, - decrease) - - def reset(self): - """ - Resets the the batch number and the estimates of the mean and maximum - distance from the mean. - """ - self.radius = None - self.mean = None - self.current_clength = 0 - - def delta_step(self, data_new, kern_old=None): - """ - This method determines the proposed change in step size. - - :param data_new: QoI for a given batch of samples - :type data_new: :class:`np.array` of shape (num_chains, mdim) - :param kern_old: QoI evaluated at previous step - :rtype: tuple - :returns: (kern_new, proposal) - - """ - # Evaluate kernel for new data. - kern_new = data_new - self.current_clength = self.current_clength + 1 - - if kern_old == None: - proposal = None - # calculate the mean - self.mean = np.mean(data_new, 0) - # calculate the distance from the mean - vec_from_mean = kern_new - np.repeat([self.mean], - kern_new.shape[0], 0) - # estimate the radius of D - self.radius = np.max(np.linalg.norm(vec_from_mean, 2, 1)) - else: - # update the estimate of the mean - self.mean = (self.current_clength-1)*self.mean + np.mean(data_new, 0) - self.mean = self.mean / self.current_clength - # calculate the distance from the mean - vec_from_mean = kern_new - np.repeat([self.mean], - kern_new.shape[0], 0) - # esitmate the radius of D - self.radius = max(np.max(np.linalg.norm(vec_from_mean, 2, 1)), - self.radius) - # calculate the relative change in QoI - kern_diff = (kern_new-kern_old) - # normalize by the radius of D - kern_diff = np.linalg.norm(vec_from_mean, 2, 1)#/self.radius - # Compare to kernel for old data. - # Is the kernel NOT close? - kern_close = np.logical_not(np.isclose(kern_diff, 0, - atol=self.TOL)) - # Is the kernel greater/lesser? - kern_greater = np.logical_and(kern_diff > 0, kern_close) - kern_lesser = np.logical_and(kern_diff < 0, kern_close) - # Determine step size - proposal = np.ones(kern_diff.shape) - proposal[kern_greater] = self.decrease - proposal[kern_lesser] = self.increase - return (kern_new, proposal) - - - diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 9e5421d0..30161c76 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -445,11 +445,10 @@ def verify_indiv(self, Q_ref, rhoD, maximum): Test that the list of kernels is correctly created. """ kern_list = asam.kernels(Q_ref, rhoD, maximum) - assert len(kern_list) == 4 + assert len(kern_list) == 3 assert type(kern_list[0]) == asam.maxima_mean_kernel assert type(kern_list[1]) == asam.rhoD_kernel assert type(kern_list[2]) == asam.maxima_kernel - assert type(kern_list[3]) == asam.multi_dist_kernel class data_1D(object): """ @@ -811,15 +810,6 @@ def setUp(self): super(test_maxima_mean_kernel_3D, self).setUp() - -@unittest.skip("Implement me") -class multi_dist_kernel(kernel): - """ - Write me - """ - pass - - @unittest.skip("Implement me") class test_transition_set(unittest.TestCase): """ From ca79016cf94058bebbeedd6fc5e6f7148c0c7579 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 23 Apr 2015 15:07:55 -0500 Subject: [PATCH 55/85] finished sampling tests, checking that tests run in parallel correctly --- test/test_sampling/test_adaptiveSampling.py | 84 ++++++++++++++++++--- test/test_sampling/test_basicSampling.py | 6 +- 2 files changed, 79 insertions(+), 11 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 30161c76..74b23c3b 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -810,21 +810,87 @@ def setUp(self): super(test_maxima_mean_kernel_3D, self).setUp() -@unittest.skip("Implement me") -class test_transition_set(unittest.TestCase): +class transition_set(object): """ - Write me + Tests :class:`bet.sampling.adaptiveSamplinng.transition_set` """ - @unittest.skip("Implement me") + def setUp(self): + """ + Set Up + """ + self.t_set = asam.transition_set(.5, .5**5, 1.0) + def test_init(self): """ - Write me + Tests the initialization of :class:`bet.sampling.adaptiveSamplinng.transition_set` """ - pass - @unittest.skip("Implement me") + assert self.t_set.init_ratio == .5 + assert self.t_set.min_ratio == .5**5 + assert self.t_set.max_ratio == 1.0 + def test_step(self): """ - Write me + Tests the method + :meth:`bet.sampling.adaptiveSampling.transition_set.step` + """ + # define step_ratio, param_width, param_left, param_right, samples_old + # from data + param_left = np.repeat([self.data_domain[:, 0]], self.data.shape[0], 0) + param_right = np.repeat([self.data_domain[:, 1]], self.data.shape[0], 0) + param_width = param_right - param_left + + step_ratio = 0.5*np.ones(self.data.shape[0],) + step_ratio[self.data.shape[0]/2:] = .1 + step_size = np.repeat([step_ratio], param_width.shape[1], + 0).transpose()*param_width + # take a step + samples_new = self.t_set.step(step_ratio, param_width, param_left, + param_right, self.data) + + # make sure the proposed steps are inside the domain + # check dimensions of samples + assert samples_new.shape == self.data.shape + + # are the samples in bounds? + assert np.all(samples_new <= param_right) + assert np.all(samples_new >= param_left) + + # make sure the proposed steps are inside the box defined around their + # generating old samples + assert np.all(samples_new <= self.data+0.5*step_size) + assert np.all(samples_new >= self.data-0.5*step_size) + + +class test_transition_set_1D(transition_set, data_1D): + """ + Test :class:`bet.sampling.adaptiveSampling.transition_set` on a 1D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_transition_set_1D, self).createData() + super(test_transition_set_1D, self).setUp() + +class test_transition_set_2D(transition_set, data_2D): + """ + Test :class:`bet.sampling.adaptiveSampling.transition_set` on a 2D data space. + """ + def setUp(self): + """ + Set up + """ + super(test_transition_set_2D, self).createData() + super(test_transition_set_2D, self).setUp() + +class test_transition_set_3D(transition_set, data_3D): + """ + Test :class:`bet.sampling.adaptiveSampling.transition_set` on a 3D data space. + """ + def setUp(self): + """ + Set up """ - pass + super(test_transition_set_3D, self).createData() + super(test_transition_set_3D, self).setUp() diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 135fcf8f..73727a3d 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -64,13 +64,15 @@ def test_loadmat(): sio.savemat(os.path.join(local_path, 'testfile1'), mdat1) sio.savemat(os.path.join(local_path, 'testfile2'), mdat2) - (loaded_sampler1, samples1, data1) = bsam.loadmat('testfile1') + (loaded_sampler1, samples1, data1) = bsam.loadmat(os.path.join(local_path, + 'testfile1')) nptest.assert_array_equal(samples1, mdat1['samples']) nptest.assert_array_equal(data1, mdat1['data']) assert loaded_sampler1.num_samples == 5 assert loaded_sampler1.lb_model == None - (loaded_sampler2, samples2, data2) = bsam.loadmat('testfile2', model) + (loaded_sampler2, samples2, data2) = bsam.loadmat(os.path.join(local_path, + 'testfile2'), model) nptest.assert_array_equal(samples2, mdat2['samples']) nptest.assert_array_equal(data2, None) assert loaded_sampler2.num_samples == 6 From 36a9de1ee8f9c887a7e64774f4872ffa9daf8614 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 23 Apr 2015 15:37:39 -0500 Subject: [PATCH 56/85] fixed error in util get_global_arrays when shape is provided --- bet/util.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/bet/util.py b/bet/util.py index 4cd9d188..9bbe7f80 100644 --- a/bet/util.py +++ b/bet/util.py @@ -70,7 +70,6 @@ def get_global_values(array, shape=None): # Figure out the subtype of the elements of the array dtype = array.dtype mpi_dtype = False - print dtype for ptype in possible_types.iterkeys(): if np.issubdtype(dtype, ptype): mpi_dtype = True @@ -87,10 +86,9 @@ def get_global_values(array, shape=None): else: # do an uppercase Allgather whole_a = np.empty(shape, dtype=dtype) - print dtype comm.Allgather([array, possible_types[dtype]], [whole_a, possible_types[dtype]]) - return array + return whole_a def fix_dimensions_vector(vector): """ @@ -136,10 +134,7 @@ def fix_dimensions_domain(domain): """ if not isinstance(domain, np.ndarray): if len(domain) == 2: - print domain domain = np.expand_dims(domain, axis=0) - print domain - print domain.shape else: raise TypeError("The length must be at least 2.") elif len(domain.shape) == 1 and domain.shape[0] == 2: From 3403b8bc8904eb56666f982a948ecf7b1bf09579 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 23 Apr 2015 17:19:45 -0500 Subject: [PATCH 57/85] fixed loadmat issues, need to make sure all *.mat files are properly cleaned up from test_adaptiveSampling --- bet/sampling/adaptiveSampling.py | 4 +++- test/test_sampling/test_adaptiveSampling.py | 14 +++++++++++--- test/test_sampling/test_basicSampling.py | 4 ++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index cbad3bc7..029e9d6a 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -35,15 +35,17 @@ def loadmat(save_file, lb_model=None): # load the samples if mdat.has_key('samples'): samples = mdat['samples'] + num_samples = samples.shape[0] else: samples = None + num_samples = np.squeeze(mdat['num_samples']) # load the data if mdat.has_key('data'): data = mdat['data'] else: data = None # recreate the sampler - new_sampler = sampler(mdat['num_samples'], + new_sampler = sampler(num_samples, np.squeeze(mdat['chain_length']), lb_model) return (new_sampler, samples, data) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 74b23c3b..b31b6383 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -16,16 +16,18 @@ local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") +@unittest.skipIf(size > 1, 'Only run in serial') def test_loadmat_init(): """ Tests :meth:`bet.sampling.adaptiveSampling.loadmat` and :meth:`bet.sampling.adaptiveSampling.sampler.init`. """ + np.random.seed(1) chain_length = 10 - mdat1 = {'samples':np.random.random((5, 1)), - 'data':np.random.random((5, 1)), 'num_samples':50, + mdat1 = {'samples':np.random.random((50, 1)), + 'data':np.random.random((50, 1)), 'num_samples':50, 'chain_length':chain_length} - mdat2 = {'samples':np.random.random((6, 1)), + mdat2 = {'samples':np.random.random((60, 1)), 'num_samples':60, 'chain_length':chain_length} model = "this is not a model" @@ -211,8 +213,14 @@ def tearDown(self): for f in self.savefiles: proc_savefile = os.path.join(local_path, os.path.dirname(f), "proc{}{}".format(rank, os.path.basename(f))) + print proc_savefile if os.path.exists(proc_savefile): os.remove(proc_savefile) + proc_savefile = os.path.join(local_path, os.path.dirname(f), + "p{}proc{}{}".format(rank, rank, os.path.basename(f))) + if os.path.exists(proc_savefile): + os.remove(proc_savefile) + print proc_savefile def test_update(self): """ diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 73727a3d..b51cd3f5 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -9,6 +9,7 @@ import bet.sampling.basicSampling as bsam import scipy.io as sio import bet +from bet.Comm import size local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") @@ -52,10 +53,13 @@ def rho_D(my_data): nptest.assert_array_equal(np.array([3, 3, 3, 3]), bsam.in_high_prob_multi(results_list, rho_D, maximum)) + +@unittest.skipIf(size > 1, 'Only run in serial') def test_loadmat(): """ Tests :meth:`bet.sampling.basicSampling.loadmat` """ + np.random.seed(1) mdat1 = {'samples':np.random.random((5,1)), 'data':np.random.random((5,1)), 'num_samples':5} mdat2 = {'samples':np.random.random((6,1)), 'num_samples':6} From 284790215ecc167c12406748a73a57f317f1a9d7 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 12:23:56 -0500 Subject: [PATCH 58/85] now files from test_adaptiveSampling.py are being properly cleaned up --- test/test_sampling/test_adaptiveSampling.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index b31b6383..a1310efd 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -212,12 +212,12 @@ def tearDown(self): if size > 1: for f in self.savefiles: proc_savefile = os.path.join(local_path, os.path.dirname(f), - "proc{}{}".format(rank, os.path.basename(f))) + "proc{}{}.mat".format(rank, os.path.basename(f))) print proc_savefile if os.path.exists(proc_savefile): os.remove(proc_savefile) proc_savefile = os.path.join(local_path, os.path.dirname(f), - "p{}proc{}{}".format(rank, rank, os.path.basename(f))) + "p{}proc{}{}.mat".format(rank, rank, os.path.basename(f))) if os.path.exists(proc_savefile): os.remove(proc_savefile) print proc_savefile From 11408b21fae8c707a41a8b79e9789d56445b598e Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 14:55:52 -0500 Subject: [PATCH 59/85] updated docstrings to make sure matches method/function calls etc --- bet/calculateP/__init__.py | 16 ++++---- bet/calculateP/calculateP.py | 14 +++---- bet/calculateP/simpleFunP.py | 63 ++++++++++++++---------------- bet/calculateP/voronoiHistogram.py | 32 +++++++++------ bet/postProcess/postTools.py | 2 +- bet/sampling/adaptiveSampling.py | 61 +++++++++++++++++++++++++---- bet/sampling/basicSampling.py | 12 ++++-- doc/bet.rst | 1 - 8 files changed, 128 insertions(+), 73 deletions(-) diff --git a/bet/calculateP/__init__.py b/bet/calculateP/__init__.py index 62c859d3..5bd16370 100644 --- a/bet/calculateP/__init__.py +++ b/bet/calculateP/__init__.py @@ -1,14 +1,14 @@ -r""" -This subpackage provides classes and methods for calulating the probability -measure :math:`P_{\Lambda}`. +r""" +This subpackage provides classes and methods for calulating the +probability measure :math:`P_{\Lambda}`. -* :mod:`~bet.calculateP.calculateP` provides methods for approximating probability - densities -* :mod:`~bet.calculateP.simpleFunP` provides methods for creating simple function - approximations of probability densisties +* :mod:`~bet.calculateP.calculateP` provides methods for approximating + probability densities +* :mod:`~bet.calculateP.simpleFunP` provides methods for creating simple + function approximations of probability densisties * :mod:`~bet.calculateP.voronoiHistogram` provides methods for creating the generating points for cells that define a regular grid for use by :meth:`numpy.histogramdd` and for determining their volumes, etc. This - module is only for use by :mod:`~bet.calculateP.simpleFunP`. + module is only for use by :mod:`~bet.calculateP.simpleFunP`. """ __all__ = ['calculateP', 'simpleFunP', 'voronoiHistogram'] diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index 73aeebca..232205a1 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -1,6 +1,6 @@ -r""" -This module provides methods for calulating the probability -measure :math:`P_{\Lambda}`. +r""" +This module provides methods for calulating the probability measure +:math:`P_{\Lambda}`. * :mod:`~bet.calculateP.prob_emulated` provides a skeleton class and calculates the probability for a set of emulation points. @@ -17,8 +17,8 @@ def emulate_iid_lebesgue(lam_domain, num_l_emulate): """ - Parition the parameter space using emulated samples into many voronoi cells. - These samples are iid so that we can apply the standard MC + Parition the parameter space using emulated samples into many voronoi + cells. These samples are iid so that we can apply the standard MC assumuption/approximation :param lam_domain: The domain for each parameter for the model. @@ -170,8 +170,8 @@ def prob_mc(samples, data, rho_D_M, d_distr_samples, parition of D to for the simple function approximation :type d_distr_samples: :class:`~numpy.ndarray` of shape (M, mdim) :param d_Tree: :class:`~scipy.spatial.KDTree` for d_distr_samples - :param int num_l_emulate: The number of iid samples used to parition the - parameter space + :param lambda_emulate: Samples used to partition the parameter space + :rtype: tuple of :class:`~numpy.ndarray` of sizes (num_samples,), (num_samples,), (ndim, num_l_emulate), (num_samples,), (num_l_emulate,) :returns: (P, lam_vol, lambda_emulate, io_ptr, emulate_ptr) where P is the diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index 70469a72..9819ffde 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -50,30 +50,29 @@ def unif_unif(data, Q_ref, M=50, bin_ratio=0.2, num_d_emulate=1E6): the :class:`~scipy.spatial.KDTree` for d_distr_samples """ data = util.fix_dimensions_data(data) - bin_size = (np.max(data, 0) - np.min(data,0))*bin_ratio + bin_size = (np.max(data, 0) - np.min(data, 0))*bin_ratio r''' Create M samples defining M Voronoi cells (i.e., "bins") in D used to define the simple function approximation :math:`\rho_{\mathcal{D},M}`. This does not have to be random, but here we assume this to be the case. - We can choose these samples deterministically but that fails to scale - with dimension efficiently. + We can choose these samples deterministically but that fails to scale with + dimension efficiently. Note that these M samples are chosen for the sole purpose of determining the bins used to create the approximation to :math:`rho_{\mathcal{D}}`. - We call these M samples "d_distr_samples" because they are samples - on the data space and the distr implies these samples are chosen - to create the approximation to the probability measure (distribution) - on D. + We call these M samples "d_distr_samples" because they are samples on the + data space and the distr implies these samples are chosen to create the + approximation to the probability measure (distribution) on D. - Note that we create these samples in a set containing the hyperrectangle - in order to get output cells with zero probability. If all of the - d_dstr_samples were taken from within the support of :math:`\rho_{\mathcal{D}}` - then each of the M bins would have positive probability. This would - in turn imply that the support of :math:`\rho_{\Lambda}` is all of - :math:`\Lambda`. + Note that we create these samples in a set containing the hyperrectangle in + order to get output cells with zero probability. If all of the + d_dstr_samples were taken from within the support of + :math:`\rho_{\mathcal{D}}` then each of the M bins would have positive + probability. This would in turn imply that the support of + :math:`\rho_{\Lambda}` is all of :math:`\Lambda`. ''' if rank == 0: d_distr_samples = 1.5*bin_size*(np.random.random((M, @@ -128,7 +127,6 @@ def normal_normal(Q_ref, M, std, num_d_emulate=1E6): :math:`\rho_{\mathcal{D},M}` The choice of M is something of an "art" - play around with it and you can get reasonable results with a relatively small number here like 50. - :param:w int num_d_emulate: Number of samples used to emulate using an MC assumption :param Q_ref: :math:`Q(\lambda_{reference})` @@ -226,7 +224,6 @@ def unif_normal(Q_ref, M, std, num_d_emulate=1E6): the :class:`~scipy.spatial.KDTree` for d_distr_samples """ - import scipy.stats as stats r'''Create M smaples defining M bins in D used to define :math:`\rho_{\mathcal{D},M}` rho_D is assumed to be a multi-variate normal distribution with mean Q_ref and standard deviation std.''' @@ -310,29 +307,28 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) r""" Creates a simple function approximation of :math:`\rho_{\mathcal{D},M}` where :math:`\rho_{\mathcal{D},M}` is a uniform probability density - centered at Q_ref with bin_size of the width - of D. + centered at Q_ref with bin_size of the width of D. Since rho_D is a uniform distribution on a hyperrectanlge we should be able to represent it exactly with ``M = 3^mdim`` or rather ``len(d_distr_samples) == 3^mdim``. - :param bin_size: The size used to determine the width of the - uniform distribution - :type bin_size: double or list() - :param int num_d_emulate: Number of samples used to emulate using an MC + :param bin_size: The size used to determine the width of the uniform + distribution + :type bin_size: double or list() + :param int num_d_emulate: Number of samples used to emulate using an MC assumption - :param data: Array containing QoI data where the QoI is mdim diminsional - :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) - :param Q_ref: :math:`Q(\lambda_{reference})` - :type Q_ref: :class:`~numpy.ndarray` of size (mdim,) - :param list() center_pts_per_edge: number of center points per edge and - additional two points will be added to create the bounding layer - - :rtype: tuple - :returns: (rho_D_M, d_distr_samples, d_Tree) where ``rho_D_M`` is (M,) and - ``d_distr_samples`` are (M, mdim) :class:`~numpy.ndarray` and `d_Tree` - is the :class:`~scipy.spatial.KDTree` for d_distr_samples + :param data: Array containing QoI data where the QoI is mdim diminsional + :type data: :class:`~numpy.ndarray` of size (num_samples, mdim) + :param Q_ref: :math:`Q(\lambda_{reference})` + :type Q_ref: :class:`~numpy.ndarray` of size (mdim,) + :param list() center_pts_per_edge: number of center points per edge + and additional two points will be added to create the bounding layer + + :rtype: tuple :returns: (rho_D_M, d_distr_samples, d_Tree) where + ``rho_D_M`` is (M,) and ``d_distr_samples`` are (M, mdim) + :class:`~numpy.ndarray` and `d_Tree` is the :class:`~scipy.spatial.KDTree` + for d_distr_samples """ data = util.fix_dimensions_data(data) @@ -351,7 +347,7 @@ def uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge=1) if np.any(np.less(bin_size, 0)): print 'Warning: center_pts_per_edge must be greater than 0' - sur_domain = np.array([np.min(data, 0),np.max(data, 0)]).transpose() + sur_domain = np.array([np.min(data, 0), np.max(data, 0)]).transpose() points, _, rect_domain = vHist.center_and_layer1_points_binsize(center_pts_per_edge, Q_ref, bin_size, sur_domain) @@ -393,7 +389,6 @@ def uniform_hyperrectangle(data, Q_ref, bin_ratio, center_pts_per_edge=1): if not isinstance(bin_ratio, collections.Iterable): bin_ratio = bin_ratio*np.ones((data.shape[1], )) - sur_domain = np.array([np.min(data, 0),np.max(data, 0)]).transpose() bin_size = (np.max(data, 0) - np.min(data, 0))*bin_ratio return uniform_hyperrectangle_binsize(data, Q_ref, bin_size, center_pts_per_edge) diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index a9641d23..b7932168 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -1,9 +1,16 @@ # -*- coding: utf-8 -*- +""" +This module provides methods for creating the edges and generating point for +regular (hyperrectangle) multidimensional voronoi cells and for determining the +volumes of these cells. +""" + import numpy as np from scipy import spatial import bet.util as util -def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_domain): +def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, + sur_domain): """ Generates a regular grid of center points that define the voronoi tesselation of exactly the interior of a hyperrectangle centered at @@ -27,15 +34,15 @@ def center_and_layer1_points_binsize(center_pts_per_edge, center, r_size, sur_do :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: (points, interior_and_layer1, rect_domain) where where points is an - :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 - is a list() of dim :class:`numpy.ndarray`s of shape + :returns: (points, interior_and_layer1, rect_domain) where where points is + an :class:`numpy.ndarray` of shape (num_points, dim), + interior_and_layer1 is a list() of dim :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,), rect_domain is a :class:`numpy.ndarray` of shape (mdim, 2) """ # determine the hyperrectangle (rect_domain) defined by center and r_size - rect_width = r_size*np.ones(sur_domain[:,0].shape) + rect_width = r_size*np.ones(sur_domain[:, 0].shape) rect_domain = np.column_stack([center - .5*rect_width, center + .5*rect_width]) if np.all(np.greater(r_size, rect_width)): @@ -82,9 +89,9 @@ def center_and_layer1_points(center_pts_per_edge, center, r_ratio, sur_domain): :type sur_domain: :class:`numpy.ndarray` of shape (mdim, 2) :rtype: tuple - :returns: (points, interior_and_layer1, rect_domain) where where points is an - :class:`numpy.ndarray` of shape (num_points, dim), interior_and_layer1 - is a list() of dim :class:`numpy.ndarray`s of shape + :returns: (points, interior_and_layer1, rect_domain) where where points is + an :class:`numpy.ndarray` of shape (num_points, dim), + interior_and_layer1 is a list() of dim :class:`numpy.ndarray`s of shape (center_pts_per_edge+2,), rect_domain is a :class:`numpy.ndarray` of shape (mdim, 2). @@ -191,8 +198,9 @@ def histogramdd_volumes(edges, points): :rtype: tuple of (H, volume, edges) :returns: H is the result of :meth:`np.histogramdd(points, edges, - normed=True)`, volumes is a :class:`numpy.ndarray` of shape (len(points),) - continaing the finite volumes associated with ``points`` + normed=True)`, volumes is a :class:`numpy.ndarray` of shape + (len(points),) continaing the finite volumes associated with + ``points`` """ # adjust edges @@ -244,8 +252,8 @@ def simple_fun_uniform(points, volumes, rect_domain): axis=1), np.all(np.less_equal(points, rect_domain[:, 1]), axis=1)) rho_D_M = np.zeros(volumes.shape) - rho_D_M[inside] = volumes[inside]/np.sum(volumes[inside]) # normalize on Lambda not D - + # normalize on Lambda not D + rho_D_M[inside] = volumes[inside]/np.sum(volumes[inside]) d_Tree = spatial.KDTree(points) return (rho_D_M, points, d_Tree) diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index e1e9c842..6f9dd65d 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -40,7 +40,7 @@ def sort_by_rho(P_samples, samples, lam_vol=None, data=None): if data != None: if len(data.shape) == 1: data = np.expand_dims(data, axis=1) - data = data[indices,:] + data = data[indices, :] return (P_samples, samples, lam_vol, data) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 029e9d6a..3ef7378d 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -24,8 +24,8 @@ def loadmat(save_file, lb_model=None): :class:`~bet.sampling.adaptiveSampling.sampler` object. :param string save_file: file name - :param model: runs the model at a given set of parameter samples and - returns data + :param lb_model: runs the model at a given set of parameter samples, (N, + ndim), and returns data (N, mdim) :rtype: tuple :returns: (sampler, samples, data) @@ -65,6 +65,11 @@ class sampler(bsam.sampler): def __init__(self, num_samples, chain_length, lb_model): """ Initialization + + :param int num_samples: Total number of samples + :param int chain_length: Number of samples per chain + :param lb_model: runs the model at a given set of parameter samples, (N, + ndim), and returns data (N, mdim) """ super(sampler, self).__init__(lb_model, num_samples) self.chain_length = chain_length @@ -356,8 +361,7 @@ def kernels(Q_ref, rho_D, maximum): a class:`np.ndarray` :param double maximum: maximum value of rho_D :rtype: list() - :returns: [maxima_mean_kernel, rhoD_kernel, maxima_kernel, - multi_dist_kernel] + :returns: [maxima_mean_kernel, rhoD_kernel, maxima_kernel] """ kern_list = list() @@ -387,6 +391,11 @@ class transition_set(object): def __init__(self, init_ratio, min_ratio, max_ratio): """ Initialization + + :param double init_ratio: initial step ratio + :param double min_ratio: minimum step_ratio + :param double max_ratio: maximum step_ratio + """ self.init_ratio = init_ratio self.min_ratio = min_ratio @@ -402,7 +411,13 @@ def step(self, step_ratio, param_width, param_left, param_right, :param step_ratio: define maximum step_size = ``step_ratio*param_width`` :type step_ratio: :class:`np.array` of shape (num_samples,) :param param_width: width of the parameter domain - :type param_width: np.array (ndim,) + :type param_width: :class:`np.ndarray` of shape (ndim,) + :param param_left: minimum boundary of the parameter domain + :type param_left: :class:`np.ndarray` of shape (ndim, N) where N is the + length of ``step_ratio`` + :param param_right: maximum boundary of the parameter domain + :type param_right: :class:`np.ndarray` of shape (ndim, N) where N is the + length of ``step_ratio`` :param samples_old: Parameter samples from the previous step. :type samples_old: :class:`~numpy.ndarray` of shape (num_samples, ndim) @@ -438,7 +453,7 @@ class kernel(object): this is simply a skeleton parent class it does not change the step size at all. - tolerance + TOL a tolerance used to determine if two different values are close increase the multiple to increase the step size by @@ -449,6 +464,11 @@ class kernel(object): def __init__(self, tolerance=1E-08, increase=1.0, decrease=1.0): """ Initialization + + :param double tolerance: Tolerance for comparing two values + :param double increase: The multiple to increase the step size by + :param double decrease: The multiple to decrease the step size by + """ self.TOL = tolerance self.increase = increase @@ -496,6 +516,13 @@ def __init__(self, maximum, rho_D, tolerance=1E-08, increase=2.0, decrease=0.5): """ Initialization + + :param double maximum: maximum value of rho_D + :param function rho_D: probability density on D + :param double tolerance: Tolerance for comparing two values + :param double increase: The multiple to increase the step size by + :param double decrease: The multiple to decrease the step size by + """ self.MAX = maximum self.rho_D = rho_D @@ -549,7 +576,7 @@ class maxima_kernel(kernel): maxima locations of the maxima of rho_D on D - np.array of shape (num_maxima, mdim) + :class:`np.nsarray` of shape (num_maxima, mdim) rho_max rho_D(maxima), list of maximum values of rho_D tolerance @@ -565,6 +592,16 @@ def __init__(self, maxima, rho_D, tolerance=1E-08, increase=2.0, decrease=0.5): """ Initialization + + :param maxima: locations of the maxima of rho_D on D + :type maxima: :class:`np.ndarray` of chape (num_maxima, mdim) + :param rho_D: probability density on D + :type rho_D: callable function that takes a :class:`np.array` and returns + a class:`np.ndarray` + :param double tolerance: Tolerance for comparing two values + :param double increase: The multiple to increase the step size by + :param double decrease: The multiple to decrease the step size by + """ self.MAXIMA = maxima self.num_maxima = maxima.shape[0] @@ -644,6 +681,16 @@ def __init__(self, maxima, rho_D, tolerance=1E-08, increase=2.0, decrease=0.5): """ Initialization + + :param maxima: locations of the maxima of rho_D on D + :type maxima: :class:`np.ndarray` of chape (num_maxima, mdim) + :param rho_D: probability density on D + :type rho_D: callable function that takes a :class:`np.array` and returns + a class:`np.ndarray` + :param double tolerance: Tolerance for comparing two values + :param double increase: The multiple to increase the step size by + :param double decrease: The multiple to decrease the step size by + """ self.radius = None self.mean = None diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 7c2439dd..43cee957 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -28,6 +28,7 @@ def compare_yield(sort_ind, sample_quality, run_param, column_headings=None): samples are sorted :param list() run_param: zipped list of :class:`~numpy.ndarray`s containing information used to generate the sets of samples to be displayed + :param list() column_headings: Column headings to print to screen """ if column_headings == None: @@ -47,6 +48,7 @@ def in_high_prob(data, rho_D, maximum, sample_nos=None): :param rho_D: probability density on D :type rho_D: callable function that takes a :class:`np.array` and returns a :class:`np.ndarray` + :param float maximum: maximum (or average) value of ``rho_D`` :param list sample_nos: sample numbers to plot :rtype: int @@ -74,6 +76,7 @@ def in_high_prob_multi(results_list, rho_D, maximum, sample_nos_list=None): :param rho_D: probability density on D :type rho_D: callable function that takes a :class:`np.array` and returns a :class:`np.ndarray` + :param float maximum: maximum (or average) value of ``rho_D`` :param list sample_nos_list: list of sample numbers to plot (list of lists) :rtype: list of int @@ -134,6 +137,10 @@ class sampler(object): def __init__(self, lb_model, num_samples=None): """ Initialization + + :param lb_model: Interface to physics-based model takes an input of + shape (N, ndim) and returns an output of shape (N, mdim) + :param int num_samples: N, number of samples (optional) """ self.num_samples = num_samples self.lb_model = lb_model @@ -178,6 +185,7 @@ def random_samples(self, sample_type, param_min, param_max, :param param_max: maximum value for each parameter dimension :type param_max: np.array (ndim,) :param string savefile: filename to save samples and data + :param int num_samples: N, number of samples (optional) :param string criterion: latin hypercube criterion see `PyDOE `_ :param boolean parallel: Flag for parallel implementation. Uses @@ -227,14 +235,12 @@ def user_samples(self, samples, savefile, parallel=False): # Update the number of samples self.num_samples = samples.shape[0] - size = comm.Get_size() - rank = comm.Get_rank() # Solve the model at the samples if not(parallel) or size == 1: data = self.lb_model(samples) elif parallel and self.num_samples%size == 0: - if len(samples.shape) == 1: + if len(samples.shape) == 1: my_samples = np.empty((samples.shape[0]/size, )) else: my_samples = np.empty((samples.shape[0]/size, samples.shape[1])) diff --git a/doc/bet.rst b/doc/bet.rst index cd1d45fe..971c45d9 100644 --- a/doc/bet.rst +++ b/doc/bet.rst @@ -7,7 +7,6 @@ Subpackages .. toctree:: bet.calculateP - bet.loadBalance bet.postProcess bet.sampling From 6cd97a3bb6b88252c698054c7541e97bc9d86344 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 15:31:03 -0500 Subject: [PATCH 60/85] updateing docmentation to address issue #10 --- doc/index.rst | 1 + doc/overview.rst | 22 +++++++++------------- doc/parallel.rst | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 5 ++++- 4 files changed, 63 insertions(+), 14 deletions(-) create mode 100644 doc/parallel.rst diff --git a/doc/index.rst b/doc/index.rst index 82bd345c..3b852567 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -13,6 +13,7 @@ Contents: :glob: overview + parallel examples/* examples/linearMap/* examples/fromFileMap/* diff --git a/doc/overview.rst b/doc/overview.rst index 579a324e..26ea4e36 100644 --- a/doc/overview.rst +++ b/doc/overview.rst @@ -8,9 +8,9 @@ Installation ------------ The code currently resides at `GitHub -`_. +`_. If you have a -`zip file `_ you can install +`zip file `_ you can install BET using:: python setup.py install @@ -28,20 +28,16 @@ The package layout is as follows:: bet/ calculateP/ - calculateP.py - simpleFunP.py - voronoiHistogram.py + calculateP + simpleFunP + voronoiHistogram sampling/ - basicSampling.py - adaptiveSampling.py + basicSampling + adaptiveSampling postProcess/ - plotP.py - plotDomains.py + plotP + plotDomains postTools - loadBalance/ # !!! IN ACTIVE DEVELOPMENT !!! - lb_PADCIRC.py - load_balance.py - lb_DIAMOND.py Code Overview -------------- diff --git a/doc/parallel.rst b/doc/parallel.rst new file mode 100644 index 00000000..c67d7a06 --- /dev/null +++ b/doc/parallel.rst @@ -0,0 +1,49 @@ +.. _parallel: + +======== +Parallel +======== + +Installation +------------ + +Running this code in parallel requires the installation of `MPI for Python +`_ which requires that your system has mpi installed. + +Affected Packages +----------------- + +The modules that have parallel capabilities are as follows:: + + bet/ + util + calculateP/ + calculateP + simpleFunP + sampling/ + basicSampling + adaptiveSampling + postProcess/ + plotP + postTools + +util +~~~~ +The module :mod:`~bet.util` provides the method +:meth:`~bet.util.get_global_values` to globalize local arrays into an array of +global values on all processors. + +calculateP +~~~~~~~~~~ +All methods in the module :mod:`~bet.calculateP.calculateP` benifit from +parallel execution. Only local arrays are returned for ``P``, use +:meth:`~bet.util.get_global_values` to globalize local arrays. + +In the module :mod:`~bet.calculateP.simpleFunP` the methods +:meth:`~bet.calculateP.simpleFunP.unif_unif`, +:meth:`~bet.calculateP.simpleFunP.normal_normal`, and +:meth:`~bet.calculateP.simpleFunP.unif_normal` benifit from parallel +execution. + +sampling +~~~~~~~~ diff --git a/setup.py b/setup.py index 5a4cedd8..f45b989b 100644 --- a/setup.py +++ b/setup.py @@ -9,5 +9,8 @@ description='Butler, Estep, Tavener method', author='Steven Mattis', author_email='steve.a.mattis@gmail.com', + liscense='GNU LGPL', url='https://github.com/UT-CHG/BET', - packages=['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess']) + packages=['bet', 'bet.sampling', 'bet.calculateP', 'bet.postProcess'], + install_requires=['matplotlib', 'mpl_toolkits', 'pyDOE', 'scipy', + 'numpy']) From ceafa638f59e255dc2ad0476b16de703b7b8e43b Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 16:18:42 -0500 Subject: [PATCH 61/85] updated finished writing parallel instructions --- doc/parallel.rst | 51 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/doc/parallel.rst b/doc/parallel.rst index c67d7a06..0a5d5b73 100644 --- a/doc/parallel.rst +++ b/doc/parallel.rst @@ -8,7 +8,24 @@ Installation ------------ Running this code in parallel requires the installation of `MPI for Python -`_ which requires that your system has mpi installed. +`_ which requires that your system has mpi +installed. + +Running in parallel +------------------- + +Depending on what modules, methods, and/or functions from BET your script uses +small or no changes will need to be made to run your script in parallel. To run +your script in parallel you will have to use:: + + $ mpirun -np NUM_PROCS python YOUR_SCRIPT.py + +instead of :: + + $ python YOUR_SCRIPT.py + +You might need to make sure your globalize your arrays or make sure to choose +the ``parallel`` flag on some functions to ensure correct execution. Affected Packages ----------------- @@ -35,15 +52,43 @@ global values on all processors. calculateP ~~~~~~~~~~ -All methods in the module :mod:`~bet.calculateP.calculateP` benifit from +All methods in the module :mod:`~bet.calculateP.calculateP` benefit from parallel execution. Only local arrays are returned for ``P``, use :meth:`~bet.util.get_global_values` to globalize local arrays. In the module :mod:`~bet.calculateP.simpleFunP` the methods :meth:`~bet.calculateP.simpleFunP.unif_unif`, :meth:`~bet.calculateP.simpleFunP.normal_normal`, and -:meth:`~bet.calculateP.simpleFunP.unif_normal` benifit from parallel +:meth:`~bet.calculateP.simpleFunP.unif_normal` benefit from parallel execution. sampling ~~~~~~~~ +If you are using a model with parallel capabilities we recommend that you write +your own python interface to handle running multiple parallel copies of your +model simulatenously. If your model is serial then you might benefit from +parallel execution of scripts that use +:class:`bet.sampling.basicSampling.sampler` or +:class:`bet.sampling.adaptiveSampling.sampler`. The method +:meth:`~bet.sampling.basicSampling.sampler.user_samples` has a parallel option +(must be specified in the method call) which will partition the samples over +several processors and return a globalized set of results. The method +:meth:`~bet.sampling.adaptiveSampling.sampler.generalized_chains` divides up +the chains among the availiable processors and returns a globalized result. + +postProcess +~~~~~~~~~~~ +In :mod:`~bet.postProcess.plotP` the methods +:meth:`~bet.postProcess.plotP.calculate_1D_marginal_probs` and +:meth:`~bet.postProcess.plotP.calculate_2D_marginal_probs` benefit from +parallel execution. The methods :meth:`~bet.postProcess.plotP.plot_1D_marginal_probs` and +:meth:`~bet.postProcess.plotP.plot_2D_marginal_probs` will only execute on the +rank 0 processor. + +In :mod:`~bet.postProcess.postTools` the methods +:meth:`~bet.postProcess.postTools.save_parallel_probs_csv`, +:meth:`~bet.postProcess.postTools.collect_parallel_probs_csv`, +:meth:`~bet.postProcess.postTools.save_parallel_probs_mat`, and +:meth:`~bet.postProcess.postTools.collect_parallel_probs_mat` provide tools to +save and collect probabitlies on separate processors as appropriately named files. + From 3a9d6070ddcfa4770292a00e10a7fbe5ed411d13 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 18:50:32 -0500 Subject: [PATCH 62/85] Addressed comment in pull request #56, minor changes --- bet/sampling/adaptiveSampling.py | 2 +- doc/conf.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 3ef7378d..a9ab06c1 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -576,7 +576,7 @@ class maxima_kernel(kernel): maxima locations of the maxima of rho_D on D - :class:`np.nsarray` of shape (num_maxima, mdim) + :class:`np.ndarray` of shape (num_maxima, mdim) rho_max rho_D(maxima), list of maximum values of rho_D tolerance diff --git a/doc/conf.py b/doc/conf.py index 7b276b48..dd62cedf 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -32,7 +32,9 @@ intersphinx_mapping = {'python': ('https://docs.python.org/2.7', None), 'polyadcirc' : ('http://ut-chg.github.io/PolyADCIRC', None), 'matplotlib':('http://matplotlib.sourceforge.net', None), - 'numpy':('http://docs.scipy.org/doc/numpy',None) + 'numpy':('http://docs.scipy.org/doc/numpy',None), + 'np':('http://docs.scipy.org/doc/numpy',None), + 'scipy':('http://docs.scipy.org/doc/scipy',None) } todo_include_todos = True From e5035f9e7ae018423d56607dd2b8465c6ea4efd7 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 19:20:35 -0500 Subject: [PATCH 63/85] updated version in conf.py and setup.py. no tagging on non-master branches --- doc/conf.py | 4 ++-- setup.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index dd62cedf..c7de5658 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -60,9 +60,9 @@ # built documents. # # The short X.Y version. -version = '0.0' +version = '0.2' # The full version, including alpha/beta/rc tags. -release = '0.0' +release = '0.2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.py b/setup.py index f45b989b..222021e6 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from distutils.core import setup setup(name='bet', - version='0.0', + version='0.2.0', description='Butler, Estep, Tavener method', author='Steven Mattis', author_email='steve.a.mattis@gmail.com', From e5a29176e735cfb9de866f52647735a5bd0433eb Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Mon, 27 Apr 2015 21:20:42 -0500 Subject: [PATCH 64/85] Moved compare_yield, in_high_prob, and in_high_prob_multi from sampling to postProcess. Updated tests accordingly --- bet/postProcess/postTools.py | 76 +++++++++++++++++++++++ bet/sampling/basicSampling.py | 79 ------------------------ test/test_postProcess/test_postTools.py | 79 +++++++++++++++++++++++- test/test_sampling/test_basicSampling.py | 40 ------------ 4 files changed, 154 insertions(+), 120 deletions(-) diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index 6f9dd65d..c79b1b4e 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -199,3 +199,79 @@ def collect_parallel_probs_mat(file_prefix, num_files, save=False, sio.savemat(file_prefix + "all", file_dict, do_compression=compress) return (P, lam) + +def compare_yield(sort_ind, sample_quality, run_param, column_headings=None): + """ + + Compare the quality of samples where ``sample_quality`` is the measure of + quality by which the sets of samples have been indexed and ``sort_ind`` is + an array of the sorted indicies. + + :param list() sort_ind: indicies that index ``sample_quality`` in sorted + order + :param list() sample_quality: a measure of quality by which the sets of + samples are sorted + :param list() run_param: zipped list of :class:`~numpy.ndarray`s containing + information used to generate the sets of samples to be displayed + :param list() column_headings: Column headings to print to screen + + """ + if column_headings == None: + column_headings = "Run parameters" + print "Sample Set No., Quality, "+ str(column_headings) + for i in reversed(sort_ind): + print i, sample_quality[i], np.round(run_param[i], 3) + +def in_high_prob(data, rho_D, maximum, sample_nos=None): + """ + + Estimates the number of samples in high probability regions of D. + + :param data: Data associated with ``samples`` + :type data: :class:`np.ndarray` + :param rho_D: probability density on D + :type rho_D: callable function that takes a :class:`np.array` and returns a + :class:`np.ndarray` + :param float maximum: maximum (or average) value of ``rho_D`` + :param list sample_nos: sample numbers to plot + + :rtype: int + :returns: Estimate of number of samples in the high probability area. + + """ + if sample_nos == None: + sample_nos = range(data.shape[0]) + if len(data.shape) == 1: + rD = rho_D(data[sample_nos]) + else: + rD = rho_D(data[sample_nos, :]) + adjusted_total_prob = int(sum(rD)/maximum) + print "Samples in box "+str(adjusted_total_prob) + return adjusted_total_prob + +def in_high_prob_multi(results_list, rho_D, maximum, sample_nos_list=None): + """ + + Estimates the number of samples in high probability regions of D for a list + of results. + + :param list results_list: list of (results, data) tuples + :param rho_D: probability density on D + :type rho_D: callable function that takes a :class:`np.array` and returns a + :class:`np.ndarray` + :param float maximum: maximum (or average) value of ``rho_D`` + :param list sample_nos_list: list of sample numbers to plot (list of lists) + + :rtype: list of int + :returns: Estimate of number of samples in the high probability area. + + """ + adjusted_total_prob = list() + if sample_nos_list: + for result, sample_nos in zip(results_list, sample_nos_list): + adjusted_total_prob.append(in_high_prob(result[1], rho_D, maximum, + sample_nos)) + else: + for result in results_list: + adjusted_total_prob.append(in_high_prob(result[1], rho_D, maximum)) + return adjusted_total_prob diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 43cee957..6cc8ecbe 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -14,85 +14,6 @@ import bet.util as util from bet.Comm import * -def compare_yield(sort_ind, sample_quality, run_param, column_headings=None): - """ - TODO: Maybe move to bet.postProcessing.postTools - - Compare the quality of samples where ``sample_quality`` is the measure of - quality by which the sets of samples have been indexed and ``sort_ind`` is - an array of the sorted indicies. - - :param list() sort_int: indicies that index ``sample_quality`` in sorted - order - :param list() sample_quality: a measure of quality by which the sets of - samples are sorted - :param list() run_param: zipped list of :class:`~numpy.ndarray`s containing - information used to generate the sets of samples to be displayed - :param list() column_headings: Column headings to print to screen - - """ - if column_headings == None: - column_headings = "Run parameters" - print "Sample Set No., Quality, "+ column_headings - for i in reversed(sort_ind): - print i, sample_quality[i], np.round(run_param[i], 3) - -def in_high_prob(data, rho_D, maximum, sample_nos=None): - """ - TODO: Maybe move to bet.postProcessing.postTools - - Estimates the number of samples in high probability regions of D. - - :param data: Data associated with ``samples`` - :type data: :class:`np.ndarray` - :param rho_D: probability density on D - :type rho_D: callable function that takes a :class:`np.array` and returns a - :class:`np.ndarray` - :param float maximum: maximum (or average) value of ``rho_D`` - :param list sample_nos: sample numbers to plot - - :rtype: int - :returns: Estimate of number of samples in the high probability area. - - """ - if sample_nos == None: - sample_nos = range(data.shape[0]) - if len(data.shape) == 1: - rD = rho_D(data[sample_nos]) - else: - rD = rho_D(data[sample_nos, :]) - adjusted_total_prob = int(sum(rD)/maximum) - print "Samples in box "+str(adjusted_total_prob) - return adjusted_total_prob - -def in_high_prob_multi(results_list, rho_D, maximum, sample_nos_list=None): - """ - TODO: Maybe move to bet.postProcessing.postTools - - Estimates the number of samples in high probability regions of D for a list - of results. - - :param list results_list: list of (results, data) tuples - :param rho_D: probability density on D - :type rho_D: callable function that takes a :class:`np.array` and returns a - :class:`np.ndarray` - :param float maximum: maximum (or average) value of ``rho_D`` - :param list sample_nos_list: list of sample numbers to plot (list of lists) - - :rtype: list of int - :returns: Estimate of number of samples in the high probability area. - - """ - adjusted_total_prob = list() - if sample_nos_list: - for result, sample_nos in zip(results_list, sample_nos_list): - adjusted_total_prob.append(in_high_prob(result[1], rho_D, maximum, - sample_nos)) - else: - for result in results_list: - adjusted_total_prob.append(in_high_prob(result[1], rho_D, maximum)) - return adjusted_total_prob - def loadmat(save_file, model=None): """ Loads data from ``save_file`` into a diff --git a/test/test_postProcess/test_postTools.py b/test/test_postProcess/test_postTools.py index e29e42ef..59ba6bce 100644 --- a/test/test_postProcess/test_postTools.py +++ b/test/test_postProcess/test_postTools.py @@ -14,9 +14,86 @@ import bet.util as util from bet.Comm import * +def test_in_high_prob(): + """ + + Tests :meth:`bet.postProcess.postTools.in_high_prob` + """ + def rho_D(my_data): + return my_data/4.0 + data = np.array([0, 1, 0, 1, 1, 1]) + maximum = np.max(rho_D(data)) + print "maximum", maximum + assert 4 == postTools.in_high_prob(data, rho_D, maximum) + assert 3 == postTools.in_high_prob(data, rho_D, maximum, [3, 4, 5]) + assert 2 == postTools.in_high_prob(data, rho_D, maximum, [0, 1, 2, 3]) + assert 1 == postTools.in_high_prob(data, rho_D, maximum, [0, 2, 4]) + assert 0 == postTools.in_high_prob(data, rho_D, maximum, [0, 2]) + +def test_in_high_prob_multi(): + """ + + Tests :meth:`bet.postProcess.postTools.in_high_prob_multi` + + """ + def rho_D(my_data): + return my_data/4.0 + data1 = np.array([0, 1, 0, 1, 1, 0]) + data2 = np.ones(data1.shape)-data1 + maximum = np.max(rho_D(data1)) + + print "maximum", maximum + results_list = [[None, data1], [None, data2], [None, data1], [None, data2]] + sample_nos_list = [[3, 4, 5], [3, 4, 5], [0, 2, 4], [0, 2, 4]] + + nptest.assert_array_equal(np.array([2, 1, 1, 2]), + postTools.in_high_prob_multi(results_list, rho_D, maximum, + sample_nos_list)) + nptest.assert_array_equal(np.array([3, 3, 3, 3]), + postTools.in_high_prob_multi(results_list, rho_D, maximum)) + +def test_compare_yield_CH(): + """ + + Tests :meth:`bet.postProcess.postTools.compare_yield` with column headings + + """ + sample_quality = np.random.random((10,)) + sort_ind = np.argsort(sample_quality) + run_param = [] + for i in range(10): + run_param.append(np.random.random((4,))) + column_headings = ['swallow', 'coconut', 'ni', 'shrubbery'] + try: + postTools.compare_yield(sort_ind, sample_quality, run_param, + column_headings) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + +def test_compare_yield(): + """ + + Tests :meth:`bet.postProcess.postTools.compare_yield` without column headings + + """ + sample_quality = np.random.random((10,)) + sort_ind = np.argsort(sample_quality) + run_param = [] + for i in range(10): + run_param.append(np.random.random((4,))) + try: + postTools.compare_yield(sort_ind, sample_quality, run_param) + go = True + except (RuntimeError, TypeError, NameError): + go = False + nptest.assert_equal(go, True) + + class Test_PostTools(unittest.TestCase): """ - Test :meth:`bet.postProcess.postTools`. + Test :mod:`bet.postProcess.postTools`. """ def setUp(self): """ diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index b51cd3f5..107f0903 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -13,46 +13,6 @@ local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") -def test_in_high_prob(): - """ - TODO :maybe move to test.test_postProcessing.test_postTools - - Tests :meth:`bet.sampling.basicSampling.in_high_prob` - """ - def rho_D(my_data): - return my_data/4.0 - data = np.array([0, 1, 0, 1, 1, 1]) - maximum = np.max(rho_D(data)) - print "maximum", maximum - assert 4 == bsam.in_high_prob(data, rho_D, maximum) - assert 3 == bsam.in_high_prob(data, rho_D, maximum, [3, 4, 5]) - assert 2 == bsam.in_high_prob(data, rho_D, maximum, [0, 1, 2, 3]) - assert 1 == bsam.in_high_prob(data, rho_D, maximum, [0, 2, 4]) - assert 0 == bsam.in_high_prob(data, rho_D, maximum, [0, 2]) - -def test_in_high_prob_multi(): - """ - TODO :maybe move to test.test_postProcessing.test_postTools - - Tests :meth:`bet.sampling.basicSampling.in_high_prob_multi` - - """ - def rho_D(my_data): - return my_data/4.0 - data1 = np.array([0, 1, 0, 1, 1, 0]) - data2 = np.ones(data1.shape)-data1 - maximum = np.max(rho_D(data1)) - - print "maximum", maximum - results_list = [[None, data1], [None, data2], [None, data1], [None, data2]] - sample_nos_list = [[3, 4, 5], [3, 4, 5], [0, 2, 4], [0, 2, 4]] - - nptest.assert_array_equal(np.array([2, 1, 1, 2]), - bsam.in_high_prob_multi(results_list, rho_D, maximum, - sample_nos_list)) - nptest.assert_array_equal(np.array([3, 3, 3, 3]), - bsam.in_high_prob_multi(results_list, rho_D, maximum)) - @unittest.skipIf(size > 1, 'Only run in serial') def test_loadmat(): From 5f638aa89f578fb2b7e68ad243b416d079d70b75 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 29 Apr 2015 15:58:13 -0500 Subject: [PATCH 65/85] fixed errors in sampling tests and basicSampling --- bet/sampling/basicSampling.py | 21 ++---- test/test_sampling/test_adaptiveSampling.py | 13 ++-- test/test_sampling/test_basicSampling.py | 77 +++++++++++++-------- 3 files changed, 60 insertions(+), 51 deletions(-) diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 6cc8ecbe..8abfc698 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -124,6 +124,7 @@ def random_samples(self, sample_type, param_min, param_max, param_left = np.repeat([param_min], num_samples, 0) param_right = np.repeat([param_max], num_samples, 0) samples = (param_right-param_left) + print samples.shape if sample_type == "lhs": samples = samples * lhs(param_min.shape[-1], @@ -160,28 +161,14 @@ def user_samples(self, samples, savefile, parallel=False): # Solve the model at the samples if not(parallel) or size == 1: data = self.lb_model(samples) - elif parallel and self.num_samples%size == 0: - if len(samples.shape) == 1: - my_samples = np.empty((samples.shape[0]/size, )) - else: - my_samples = np.empty((samples.shape[0]/size, samples.shape[1])) - comm.Scatter([samples, MPI.DOUBLE], [my_samples, MPI.DOUBLE]) - my_data = self.lb_model(my_samples) - if len(my_data.shape) == 1: - data = np.empty((self.num_samples,), - dtype=np.float64) - else: - data = np.empty((self.num_samples, my_data.shape[1]), - dtype=np.float64) - comm.Allgather([my_data, MPI.DOUBLE], [data, MPI.DOUBLE]) elif parallel: my_len = self.num_samples/size if rank != size-1: my_index = range(0+rank*my_len, (rank+1)*my_len) else: my_index = range(0+rank*my_len, self.num_samples) - if len(my_samples.shape) == 1: - my_samples = samples[my_index, :] + if len(samples.shape) == 1: + my_samples = samples[my_index] else: my_samples = samples[my_index, :] my_data = self.lb_model(my_samples) @@ -194,6 +181,8 @@ def user_samples(self, samples, savefile, parallel=False): if len(data.shape) == 1: data = np.expand_dims(data, axis=1) + print samples.shape + mdat = dict() self.update_mdict(mdat) mdat['samples'] = samples diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index a1310efd..5412740b 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -88,8 +88,8 @@ def ifun(outputs): right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) left = np.all(np.greater_equal(outputs, left), axis=1) right = np.all(np.less_equal(outputs, right), axis=1) - inside = np.logial_and(left, right) - max_values = np.repeate(maximum, outputs.shape[0], 0) + inside = np.logical_and(left, right) + max_values = np.repeat(maximum, outputs.shape[0], 0) return inside.astype('float64')*max_values # create rhoD_kernel @@ -132,7 +132,7 @@ def ifun(outputs): assert sampler.num_samples == mdat['num_samples'] assert sampler.num_chains == mdat['num_chains'] nptest.assert_array_equal(sampler.sample_batch_no, - mdat['sampler_batch_no']) + np.squeeze(mdat['sample_batch_no'])) class Test_adaptive_sampler(unittest.TestCase): """ @@ -159,7 +159,7 @@ def map_3t1(x): """ 3 to 1 map """ - return np.sum(x, 1) + return np.expand_dims(np.sum(x, 1), axis=1) # create 3-2 map def map_3t2(x): """ @@ -414,9 +414,10 @@ def test_generalized_chains(self): # create a transition set t_set = asam.transition_set(.5, .5**5, 1.0) - for _, QoI_range, sampler, param_min, param_max, savefile, _ in self.test_list: + for _, QoI_range, sampler, param_min, param_max, savefile in self.test_list: for initial_sample_type in ["random", "r", "lhs"]: - yield verify_samples, QoI_range, sampler, param_min, param_max, t_set, savefile, initial_sample_type + verify_samples(QoI_range, sampler, param_min, param_max, t_set, + savefile, initial_sample_type) class test_kernels(unittest.TestCase): """ diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 107f0903..1b9a7d42 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -3,13 +3,12 @@ This module contains unittests for :mod:`~bet.sampling.basicSampling:` """ -import unittest, os +import unittest, os, bet, pyDOE import numpy.testing as nptest import numpy as np import bet.sampling.basicSampling as bsam import scipy.io as sio -import bet -from bet.Comm import size +from bet.Comm import * local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") @@ -57,7 +56,7 @@ def verify_user_samples(model, sampler, samples, savefile, parallel): if len(data.shape) == 1: data = np.expand_dims(data, axis=1) if len(samples.shape) == 1: - samples = np.expan_dims(samples, axis=1) + samples = np.expand_dims(samples, axis=1) # compare the samples nptest.assert_array_equal(samples, my_samples) @@ -67,24 +66,25 @@ def verify_user_samples(model, sampler, samples, savefile, parallel): assert samples.shape[0] == sampler.num_samples # did the file get correctly saved? - mdat = sio.loadmat(savefile) - nptest.assert_array_equal(samples, mdat['samples']) - nptest.assert_array_equal(data, mdat['data']) - assert samples.shape[0] == sampler.num_samples + if rank == 0: + mdat = sio.loadmat(savefile) + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + comm.Barrier() def verify_random_samples(model, sampler, sample_type, param_min, param_max, num_samples, savefile, parallel): # recreate the samples if num_samples == None: - num_samples = self.num_samples + num_samples = sampler.num_samples param_left = np.repeat([param_min], num_samples, 0) param_right = np.repeat([param_max], num_samples, 0) samples = (param_right-param_left) if sample_type == "lhs": - samples = samples * lhs(param_min.shape[-1], num_samples, criterion) + samples = samples * pyDOE.lhs(param_min.shape[-1], num_samples) elif sample_type == "random" or "r": np.random.seed(1) - samples = samples * np.random(param_left.shape) + samples = samples * np.random.random(param_left.shape) samples = samples + param_left # evalulate the model at the samples directly data = model(samples) @@ -111,12 +111,14 @@ def verify_random_samples(model, sampler, sample_type, param_min, param_max, nptest.assert_array_equal(data, my_data) # did num_samples get updated? assert samples.shape[0] == sampler.num_samples + assert num_samples == sampler.num_samples # did the file get correctly saved? - - mdat = sio.loadmat(savefile) - nptest.assert_array_equal(samples, mdat['samples']) - nptest.assert_array_equal(data, mdat['data']) - assert samples.shape[0] == sampler.num_samples + + if rank == 0: + mdat = sio.loadmat(savefile) + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + comm.Barrier() class Test_basic_sampler(unittest.TestCase): @@ -140,7 +142,7 @@ def map_3t2(x): return np.vstack(([x[:, 0]+x[:, 1], x[:, 2]])).transpose() # create 10-4 map self.param_min10 = np.zeros((10, )) - self.param_min10 = np.ones((10, )) + self.param_max10 = np.ones((10, )) def map_10t4(x): x1 = x[:, 0] + x[:, 1] x2 = x[:, 2] + x[:, 3] @@ -155,9 +157,25 @@ def map_10t4(x): self.samplers.append(bsam.sampler(model, num_samples)) def tearDown(self): - for f in self.savefiles: - if os.path.exists(os.path.join(local_path, f, ".mat")): - os.remove(os.path.join(local_path, f, ".mat")) + """ + Clean up extra files + """ + if rank == 0: + for f in self.savefiles: + if os.path.exists(f+".mat"): + os.remove(f+".mat") + if size > 1: + for f in self.savefiles: + proc_savefile = os.path.join(local_path, os.path.dirname(f), + "proc{}{}.mat".format(rank, os.path.basename(f))) + print proc_savefile + if os.path.exists(proc_savefile): + os.remove(proc_savefile) + proc_savefile = os.path.join(local_path, os.path.dirname(f), + "p{}proc{}{}.mat".format(rank, rank, os.path.basename(f))) + if os.path.exists(proc_savefile): + os.remove(proc_savefile) + print proc_savefile def test_init(self): """ @@ -177,7 +195,7 @@ def test_update(self): def test_user_samples(self): """ - Test :meth:`bet.sampling.basicSampling.sampler.random_samples` for + Test :meth:`bet.sampling.basicSampling.sampler.user_samples` for three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). """ # create a list of different sets of samples @@ -189,11 +207,12 @@ def test_user_samples(self): for model, sampler, samples, savefile in test_list: for parallel in [False, True]: - yield verify_user_samples, model, sampler, samples, savefile, parallel - + verify_user_samples(model, sampler, samples, savefile, + parallel) + def test_random_samples(self): """ - Test :met:`bet.sampling.basicSampling.sampler.random_samples` for three + Test :meth:`bet.sampling.basicSampling.sampler.random_samples` for three different QoI maps (1 to 1, 3 to 1, 3 to 2, 10 to 4). """ param_min_list = [self.param_min1, self.param_min1, self.param_min3, @@ -201,14 +220,14 @@ def test_random_samples(self): param_max_list = [self.param_max1, self.param_max1, self.param_max3, self.param_max3, self.param_max10] + test_list = zip(self.models, self.samplers, param_min_list, - param_max_list, - self.savefiles) + param_max_list, self.savefiles) for model, sampler, param_min, param_max, savefile in test_list: for sample_type in ["random", "r", "lhs"]: for num_samples in [None, 25]: for parallel in [False, True]: - yield verify_random_samples, model, sampler, - param_min, param_max, savefile, num_samples, - parallel + verify_random_samples(model, sampler, sample_type, + param_min, param_max, num_samples, savefile, + parallel) From ee0eecfd15b381104b2cacd0f02ce60135197c49 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 29 Apr 2015 15:59:13 -0500 Subject: [PATCH 66/85] removed extra print statements --- bet/sampling/basicSampling.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index 8abfc698..b7c4c0e3 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -124,7 +124,6 @@ def random_samples(self, sample_type, param_min, param_max, param_left = np.repeat([param_min], num_samples, 0) param_right = np.repeat([param_max], num_samples, 0) samples = (param_right-param_left) - print samples.shape if sample_type == "lhs": samples = samples * lhs(param_min.shape[-1], @@ -181,7 +180,6 @@ def user_samples(self, samples, savefile, parallel=False): if len(data.shape) == 1: data = np.expand_dims(data, axis=1) - print samples.shape mdat = dict() self.update_mdict(mdat) From 4db0e437373a610473439ae49b6f2abaf9641080 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 29 Apr 2015 17:22:48 -0500 Subject: [PATCH 67/85] working on getting tests that were using yield to run properly and fixing associated errors --- bet/postProcess/plotDomains.py | 13 ++++++--- test/test_postProcess/test_plotDomains.py | 32 ++++++++++++++--------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 82ed80ea..5ecb8a44 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -9,6 +9,7 @@ import matplotlib.pyplot as plt from matplotlib.lines import Line2D from itertools import combinations +from mpl_toolkits.mplot3d import Axes3D markers = [] for m in Line2D.markers: @@ -132,6 +133,8 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, if rho_D != None: rD = rho_D(data) + else: + rD = np.ones(data.shape[0]) if lnums == None: lnums = 1+np.array(range(samples.shape[1])) xlabel = r'$\lambda_{'+str(lnums[0])+'}$' @@ -149,7 +152,7 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, xlabel = r'$\lambda_{'+str(x)+'}$' ylabel = r'$\lambda_{'+str(y)+'}$' savename = 'param_samples_l'+str(x)+'l'+str(y)+'_cs.eps' - scatter_2D(samples[:, [x, y]], sample_nos, rD, p_ref, save, + scatter_2D(samples[:, [x-1, y-1]], sample_nos, rD, p_ref, save, interactive, xlabel, ylabel, savename) elif samples.shape[1] > 3 and showdim == 3: for x, y, z in combinations(lnums, 3): @@ -157,7 +160,7 @@ def show_param(samples, data, rho_D=None, p_ref=None, sample_nos=None, ylabel = r'$\lambda_{'+str(y)+'}$' zlabel = r'$\lambda_{'+str(z)+'}$' savename = 'param_samples_l'+str(x)+'l'+str(y)+'l'+str(z)+'_cs.eps' - scatter_3D(samples[:, [x, y, z]], sample_nos, rD, p_ref, save, + scatter_3D(samples[:, [x-1, y-1, z-1]], sample_nos, rD, p_ref, save, interactive, xlabel, ylabel, zlabel, savename) def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, @@ -297,7 +300,7 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, :param data: Data associated with ``samples`` :type data: :class:`np.ndarray` :param Q_ref: reference data value - :type Q_ref: :class:`np.ndarray` + :type Q_ref: :class:`np.ndarray` of shape (M, 2) :param list ref_markers: list of marker types for :math:`Q_{ref}` :param list ref_colors: list of colors for :math:`Q_{ref}` :param string xlabel: x-axis label @@ -328,6 +331,10 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, pad_inches=0) # Add truth markers for i in xrange(Q_ref.shape[0]): + print i + print Q_ref.shape + print len(ref_colors) + print len(ref_markers) plt.scatter(Q_ref[i, 0], Q_ref[i, 1], s=60, c=ref_colors[i], marker=ref_markers[i]) if save: diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index 978723e8..d83cab0b 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -38,7 +38,7 @@ def setUp(self): self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) self.filename = "testfigure" - QoI_range = np.array([3.0, 3.0, 3.0]) + QoI_range = np.array([3.0, 3.0, 3.0, 3.0]) Q_ref = QoI_range*0.5 bin_size = 0.15*QoI_range maximum = 1/np.product(bin_size) @@ -54,8 +54,8 @@ def ifun(outputs): right = np.repeat([Q_ref+.5*bin_size], outputs.shape[0], 0) left = np.all(np.greater_equal(outputs, left), axis=1) right = np.all(np.less_equal(outputs, right), axis=1) - inside = np.logial_and(left, right) - max_values = np.repeate(maximum, outputs.shape[0], 0) + inside = np.logical_and(left, right) + max_values = np.repeat(maximum, outputs.shape[0], 0) return inside.astype('float64')*max_values self.rho_D = ifun self.lnums = [1, 2, 3] @@ -94,7 +94,7 @@ def test_scatter_2D(self): for sn in sample_nos: for pr in p_ref: for s in save: - yield self.check_scatter_2D, sn, pr, s + self.check_scatter_2D(sn, pr, s) def check_scatter_2D(self, sample_nos, p_ref, save): """ @@ -120,7 +120,7 @@ def test_scatter_3D(self): for sn in sample_nos: for pr in p_ref: for s in save: - yield self.check_scatter_3D, sn, pr, s + self.check_scatter_3D(sn, pr, s) def check_scatter_3D(self, sample_nos, p_ref, save): """ @@ -158,7 +158,8 @@ def test_show_param(self): p_ref = [None, sample[4, :]] for pr in p_ref: for s in save: - yield self.check_show_param, samples, pr, sn, s, ln, sd + self.check_show_param(sample, sn, pr, s, ln, + sd) def check_show_param(self, samples, sample_nos, p_ref, save, lnums, showdim): @@ -195,7 +196,7 @@ def test_show_data(self): Q_ref = [None, data[4, :]] for qr in Q_ref: for s in save: - yield self.check_show_data, data, sn, qr, s, qn, sd + self.check_show_data(data, sn, qr, s, qn, sd) def check_show_data(self, data, sample_nos, q_ref, save, qnums, showdim): """ @@ -203,7 +204,11 @@ def check_show_data(self, data, sample_nos, q_ref, save, qnums, showdim): without generating an error. """ try: - plotDomains.show_data(data, self.rho_D, q_ref, + if data.shape[1] == 4: + plotDomains.show_data(data, self.rho_D, q_ref, + sample_nos, save, False, qnums, showdim) + else: + plotDomains.show_data(data, None, q_ref, sample_nos, save, False, qnums, showdim) go = True except (RuntimeError, TypeError, NameError): @@ -226,7 +231,7 @@ def test_show_data_domain_2D(self): for t in triangles: for s in save: for fn in filenames: - yield self.check_show_data_domain_2D, rm, rc, t, s, fn + self.check_show_data_domain_2D(rm, rc, t, s, fn) def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, save, filenames): @@ -235,7 +240,7 @@ def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, :meth:`bet.postTools.plotDomains.show_data_domain_2D` ran without generating an error. """ - Q_ref = self.data[4, [0, 1]] + Q_ref = self.data[[1, 4], [0, 1]] data = self.data[:, [0, 1]] try: plotDomains.show_data_domain_2D(self.samples, data, Q_ref, @@ -250,7 +255,8 @@ def test_show_data_domain_multi(self): """ Test :meth:`bet.postProcess.plotDomains.show_data_domain_multi` """ - os.mkdir('figs/') + if not os.path.exists('figs/'): + os.mkdir('figs/') Q_nums = [None, [1, 2], [1, 2, 3]] ref_markers = [None, self.markers] ref_colors = [None, self.colors] @@ -258,10 +264,10 @@ def test_show_data_domain_multi(self): for rc in ref_colors: for qn in Q_nums: showdim = [None, 1] - if len(qn) > 2: + if qn and len(qn) > 2: showdim.append('all', 'ALL') for sd in showdim: - yield self.check_show_data_domain_multi, rm, rc, qn, sd + self.check_show_data_domain_multi(rm, rc, qn, sd) def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums, showdim): From 3fc287706de2b5a107eb68e62a4cfdb8368d89b9 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 29 Apr 2015 20:21:42 -0500 Subject: [PATCH 68/85] fixed plotDomains tests that relied on yield --- bet/postProcess/plotDomains.py | 51 +++++++++++++++-------- test/test_postProcess/test_plotDomains.py | 19 ++++++--- 2 files changed, 47 insertions(+), 23 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 5ecb8a44..02eea9a4 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -10,6 +10,7 @@ from matplotlib.lines import Line2D from itertools import combinations from mpl_toolkits.mplot3d import Axes3D +import bet.util as util markers = [] for m in Line2D.markers: @@ -176,7 +177,7 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, :type rho_D: callable function that takes a :class:`np.array` and returns a :class:`np.ndarray` :param Q_ref: reference data value - :type Q_ref: :class:`np.ndarray` + :type Q_ref: :class:`np.ndarray` of shape (mdim,) :param boolean save: flag whether or not to save the figure :param boolean interactive: flag whether or not to show the figure :param list Q_nums: integers representing data domain coordinates @@ -186,32 +187,45 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, """ if rho_D != None: rD = rho_D(data) + else: + rD = np.ones(data.shape[0]) if Q_nums == None: Q_nums = range(data.shape[1]) xlabel = r'$q_{'+str(Q_nums[0]+1)+'}$' ylabel = r'$q_{'+str(Q_nums[1]+1)+'}$' savename = 'data_samples_cs.eps' if data.shape[1] == 2: - scatter_2D(data, sample_nos, rD, Q_ref, save, interactive, xlabel, + q_ref = None + if type(Q_ref) == np.ndarray: + q_ref = Q_ref[Q_nums[:2]] + scatter_2D(data, sample_nos, rD, q_ref, save, interactive, xlabel, ylabel, savename) elif data.shape[1] == 3: zlabel = r'$q_{'+str(Q_nums[2]+1)+'}$' - scatter_3D(data, sample_nos, rD, Q_ref, save, interactive, xlabel, + if type(Q_ref) == np.ndarray: + q_ref = Q_ref[Q_nums[:3]] + scatter_3D(data, sample_nos, rD, q_ref, save, interactive, xlabel, ylabel, zlabel, savename) elif data.shape[1] > 2 and showdim == 2: for x, y in combinations(Q_nums, 2): - xlabel = r'$q_{'+str(x)+'}$' - ylabel = r'$q_{'+str(y)+'}$' - savename = 'data_sampqes_q'+str(x)+'q'+str(y)+'_cs.eps' - scatter_2D(data[:, [x, y]], sample_nos, rD, Q_ref, save, + xlabel = r'$q_{'+str(x+1)+'}$' + ylabel = r'$q_{'+str(y+1)+'}$' + savename = 'data_sampqes_q'+str(x+1)+'q'+str(y+1)+'_cs.eps' + q_ref = None + if type(Q_ref) == np.ndarray: + q_ref = Q_ref[[x, y]] + scatter_2D(data[:, [x, y]], sample_nos, rD, q_ref, save, interactive, xlabel, ylabel, savename) elif data.shape[1] > 3 and showdim == 3: for x, y, z in combinations(Q_nums, 3): - xlabel = r'$q_{'+str(x)+'}$' - ylabel = r'$q_{'+str(y)+'}$' - zlabel = r'$q_{'+str(z)+'}$' - savename = 'data_sampqes_q'+str(x)+'q'+str(y)+'q'+str(z)+'_cs.eps' - scatter_3D(data[:, [x, y, z]], sample_nos, rD, Q_ref, save, + xlabel = r'$q_{'+str(x+1)+'}$' + ylabel = r'$q_{'+str(y+1)+'}$' + zlabel = r'$q_{'+str(z+1)+'}$' + q_ref = None + if type(Q_ref) == np.ndarray: + q_ref = Q_ref[[x, y, z]] + savename = 'data_sampqes_q'+str(x+1)+'q'+str(y+1)+'q'+str(z+1)+'_cs.eps' + scatter_3D(data[:, [x, y, z]], sample_nos, rD, q_ref, save, interactive, xlabel, ylabel, zlabel, savename) def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, @@ -228,7 +242,7 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, :param data: Data associated with ``samples`` :type data: :class:`np.ndarray` :param Q_ref: reference data value - :type Q_ref: :class:`np.ndarray` + :type Q_ref: :class:`np.ndarray` of shape (M, mdim)` :param list Q_nums: dimensions of the QoI to plot :param string img_folder: folder to save the plots to :param list ref_markers: list of marker types for :math:`Q_{ref}` @@ -247,6 +261,8 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, if showdim == None: showdim = 1 + Q_ref = util.fix_dimensions_data(Q_ref, data.shape[1]) + triangulation = tri.Triangulation(samples[:, 0], samples[:, 1]) triangles = triangulation.triangles @@ -289,7 +305,7 @@ def show_data_domain_multi(samples, data, Q_ref, Q_nums=None, def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, ref_colors=None, xlabel=r'$q_1$', ylabel=r'$q_2', - triangles=None, save=True, interactive=True, filenames=None): + triangles=None, save=True, interactive=False, filenames=None): r""" Plot the data domain D using a triangulation based on the generating samples with a marker for various :math:`Q_{ref}`. Assumes that the first @@ -321,6 +337,9 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, triangles = triangulation.triangles if filenames == None: filenames = ['domain_q1_q2_cs.eps', 'q1_q2_domain_Q_cs.eps'] + + Q_ref = util.fix_dimensions_data(Q_ref, 2) + # Create figure plt.tricontourf(data[:, 0], data[:, 1], np.zeros((data.shape[0],)), triangles=triangles, colors='grey') @@ -331,10 +350,6 @@ def show_data_domain_2D(samples, data, Q_ref, ref_markers=None, pad_inches=0) # Add truth markers for i in xrange(Q_ref.shape[0]): - print i - print Q_ref.shape - print len(ref_colors) - print len(ref_markers) plt.scatter(Q_ref[i, 0], Q_ref[i, 1], s=60, c=ref_colors[i], marker=ref_markers[i]) if save: diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index d83cab0b..56e19de1 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -182,7 +182,7 @@ def test_show_data(self): sample_nos = [None, 25] save = [True, False] data_sets = [self.data, self.data[:, [0, 1]]] - qnums = [None, self.lnums] + qnums = [None, [0, 1, 2]]#self.lnums] for data in data_sets: showdim = [None] @@ -212,8 +212,15 @@ def check_show_data(self, data, sample_nos, q_ref, save, qnums, showdim): sample_nos, save, False, qnums, showdim) go = True except (RuntimeError, TypeError, NameError): + print "ERROR" + print data.shape + print q_ref + print sample_nos + print save + print qnums + print showdim go = False - nptest.assert_equal(go, True) + nptest.assert_equal(go, True) def test_show_data_domain_2D(self): """ @@ -240,7 +247,9 @@ def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, :meth:`bet.postTools.plotDomains.show_data_domain_2D` ran without generating an error. """ - Q_ref = self.data[[1, 4], [0, 1]] + Q_ref = self.data[:, [0, 1]] + Q_ref = Q_ref[[1,4],:] + print Q_ref.shape data = self.data[:, [0, 1]] try: plotDomains.show_data_domain_2D(self.samples, data, Q_ref, @@ -265,7 +274,7 @@ def test_show_data_domain_multi(self): for qn in Q_nums: showdim = [None, 1] if qn and len(qn) > 2: - showdim.append('all', 'ALL') + showdim.extend(['all', 'ALL']) for sd in showdim: self.check_show_data_domain_multi(rm, rc, qn, sd) @@ -276,7 +285,7 @@ def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums, :meth:`bet.postTools.plotDomains.show_data_domain_multi` ran without generating an error. """ - Q_ref = self.data[4, :] + Q_ref = self.data[[4, 2], :] try: plotDomains.show_data_domain_multi(self.samples, self.data, Q_ref, Q_nums, ref_markers=ref_markers, From 31f235603bb53c0e50ab6e07b0f5dbd2c2130394 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 30 Apr 2015 20:58:39 -0500 Subject: [PATCH 69/85] fixed file removal after tests --- bet/postProcess/plotDomains.py | 4 ++-- test/test_postProcess/test_plotDomains.py | 19 ++++++++++++++++++- test/test_postProcess/test_plotP.py | 9 ++++++--- test/test_sampling/test_adaptiveSampling.py | 21 +++++++-------------- 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 02eea9a4..4fe1f84a 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -210,7 +210,7 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, for x, y in combinations(Q_nums, 2): xlabel = r'$q_{'+str(x+1)+'}$' ylabel = r'$q_{'+str(y+1)+'}$' - savename = 'data_sampqes_q'+str(x+1)+'q'+str(y+1)+'_cs.eps' + savename = 'data_samples_q'+str(x+1)+'q'+str(y+1)+'_cs.eps' q_ref = None if type(Q_ref) == np.ndarray: q_ref = Q_ref[[x, y]] @@ -224,7 +224,7 @@ def show_data(data, rho_D=None, Q_ref=None, sample_nos=None, q_ref = None if type(Q_ref) == np.ndarray: q_ref = Q_ref[[x, y, z]] - savename = 'data_sampqes_q'+str(x+1)+'q'+str(y+1)+'q'+str(z+1)+'_cs.eps' + savename = 'data_samples_q'+str(x+1)+'q'+str(y+1)+'q'+str(z+1)+'_cs.eps' scatter_3D(data[:, [x, y, z]], sample_nos, rD, q_ref, save, interactive, xlabel, ylabel, zlabel, savename) diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index 56e19de1..e8bdbfbd 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -13,11 +13,12 @@ from matplotlib.lines import Line2D import numpy as np import numpy.testing as nptest -from bet.Comm import * +from bet.Comm import size local_path = os.path.join(os.path.dirname(bet.__file__), "../test/test_sampling") +@unittest.skipIf(size > 1, 'Only run in serial') class test_plotDomains(unittest.TestCase): """ Test :meth:`bet.postProcess.plotP.calculate_1D_marginal_probs` and @@ -76,13 +77,28 @@ def tearDown(self): filenames = glob.glob(self.filename+".*") filenames.extend(glob.glob('param_samples_*cs.eps')) filenames.extend(glob.glob('data_samples_*cs.eps')) + + filenames.extend(glob.glob(self.filename+".*")) + filenames.extend(glob.glob( 'param_samples_*cs.eps')) + filenames.extend(glob.glob(os.path.join(local_path, + 'data_samples_*cs.eps'))) + + + filenames.append('domain_q1_q2_cs.eps') filenames.append('domain_q1_q1_cs.eps') filenames.append('q1_q2_domain_Q_cs.eps') + filenames.append('q1_q1_domain_Q_cs.eps') figfiles = glob.glob('figs/*') + figfiles.extend(glob.glob(os.path.join(local_path, 'figs/*'))) filenames.extend(figfiles) + for f in filenames: if os.path.exists(os.path.join(local_path, f)): os.remove(os.path.join(local_path, f)) + if os.path.exists(f): + os.remove(f) + if os.path.exists("figs"): + os.rmdir("figs") def test_scatter_2D(self): """ @@ -98,6 +114,7 @@ def test_scatter_2D(self): def check_scatter_2D(self, sample_nos, p_ref, save): """ + Check to see that the :meth:`bet.postTools.plotDomains.scatter_2D` ran without generating an error. """ diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index ff0c85ce..69a1d25f 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -163,8 +163,10 @@ def test_plot_marginals_1D(self): try: plotP.plot_1D_marginal_probs(marginals, bins,self.lam_domain, filename = "file", interactive=False) go = True - os.remove("file_1D_0.eps") - os.remove("file_1D_1.eps") + if os.path.exists("file_1D_0.eps"): + os.remove("file_1D_0.eps") + if os.path.exists("file_1D_1.eps"): + os.remove("file_1D_1.eps") except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) @@ -182,7 +184,8 @@ def test_plot_marginals_2D(self): try: plotP.plot_2D_marginal_probs(marginals, bins,self.lam_domain, filename = "file", interactive=False) go = True - os.remove("file_2D_0_1.eps") + if os.path.exists("file_2D_0_1.eps"): + os.remove("file_2D_0_1.eps") except (RuntimeError, TypeError, NameError): go = False nptest.assert_equal(go, True) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 5412740b..1ad88fbb 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -5,7 +5,7 @@ This module contains unittests for :mod:`~bet.sampling.adaptiveSampling` """ -import unittest, os +import unittest, os, glob import numpy.testing as nptest import numpy as np import bet.sampling.adaptiveSampling as asam @@ -121,7 +121,7 @@ def ifun(outputs): # did the savefiles get created? (proper number, contain proper keys) mdat = {} if size > 1: - mdat = sio.loadmat(os.path.join(local_path, os.path.dirname(savefile), + mdat = sio.loadmat(os.path.join(os.path.dirname(savefile), "proc{}{}".format(rank, os.path.basename(savefile)))) else: mdat = sio.loadmat(savefile) @@ -209,18 +209,11 @@ def tearDown(self): for f in self.savefiles: if os.path.exists(f+".mat"): os.remove(f+".mat") - if size > 1: - for f in self.savefiles: - proc_savefile = os.path.join(local_path, os.path.dirname(f), - "proc{}{}.mat".format(rank, os.path.basename(f))) - print proc_savefile - if os.path.exists(proc_savefile): - os.remove(proc_savefile) - proc_savefile = os.path.join(local_path, os.path.dirname(f), - "p{}proc{}{}.mat".format(rank, rank, os.path.basename(f))) - if os.path.exists(proc_savefile): - os.remove(proc_savefile) - print proc_savefile + proc_savefiles = glob.glob("p{}*.mat".format(rank)) + proc_savefiles.extend(glob.glob("proc{}*.mat".format(rank))) + for pf in proc_savefiles: + if os.path.exists(pf): + os.remove(pf) def test_update(self): """ From 1e402be2de4893ce7d2d9d7759abbd965082f731 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 7 May 2015 16:06:55 -0500 Subject: [PATCH 70/85] updating examples --- examples/fromFileMap/sandbox_test_2D.py | 10 +++++----- examples/linearMap/linearMapUniformSampling.py | 7 +++++-- examples/matfiles/Q_2D.mat | Bin 0 -> 41481 bytes examples/matfiles/Q_3D.mat | Bin 0 -> 767744 bytes examples/matfiles/sandbox2d.mat | Bin 0 -> 297330 bytes examples/matfiles/sandbox3d.mat | Bin 0 -> 451161 bytes 6 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 examples/matfiles/Q_2D.mat create mode 100644 examples/matfiles/Q_3D.mat create mode 100644 examples/matfiles/sandbox2d.mat create mode 100644 examples/matfiles/sandbox3d.mat diff --git a/examples/fromFileMap/sandbox_test_2D.py b/examples/fromFileMap/sandbox_test_2D.py index 86d02132..e1fc663e 100755 --- a/examples/fromFileMap/sandbox_test_2D.py +++ b/examples/fromFileMap/sandbox_test_2D.py @@ -4,6 +4,7 @@ import polyadcirc.pyADCIRC.basic as basic import bet.sampling.adaptiveSampling as asam import bet.sampling.basicSampling as bsam +import bet.postProcess.postTools as ptools import scipy.io as sio from scipy.interpolate import griddata @@ -71,8 +72,7 @@ def rho_D(outputs): kernel_mm = asam.maxima_mean_kernel(np.array([Q_ref]), rho_D) kernel_rD = asam.rhoD_kernel(maximum, rho_D) kernel_m = asam.maxima_kernel(np.array([Q_ref]), rho_D) -kernel_md = asam.multi_dist_kernel() -kern_list = [kernel_mm, kernel_rD, kernel_m, kernel_md] +kern_list = [kernel_mm, kernel_rD, kernel_m] # Create sampler chain_length = 125 @@ -104,11 +104,11 @@ def rho_D(outputs): # Compare the quality of several sets of samples print "Compare yield of sample sets with various kernels" -bsam.compare_yield(gen_results[3], gen_results[2], gen_results[4]) +ptools.compare_yield(gen_results[3], gen_results[2], gen_results[4]) print "Compare yield of sample sets with various transition sets bounds" -bsam.compare_yield(tk_results[3], tk_results[2], tk_results[4]) +ptools.compare_yield(tk_results[3], tk_results[2], tk_results[4]) print "Compare yield of sample sets with variouos increase/decrease ratios" -bsam.compare_yield(incdec_results[3], incdec_results[2], incdec_results[4]) +ptools.compare_yield(incdec_results[3], incdec_results[2], incdec_results[4]) # Read in points_ref and plot results p_ref = mdat['points_true'] diff --git a/examples/linearMap/linearMapUniformSampling.py b/examples/linearMap/linearMapUniformSampling.py index 553704c4..743f4858 100644 --- a/examples/linearMap/linearMapUniformSampling.py +++ b/examples/linearMap/linearMapUniformSampling.py @@ -127,8 +127,11 @@ # calculate probablities (P, lambda_emulate, io_ptr, emulate_ptr) = calculateP.prob_emulated(samples=samples, - data=data, rho_D_M = d_distr_prob, d_distr_samples = d_distr_samples, - lam_domain=lam_domain, lambda_emulate=lambda_emulate, d_Tree=d_Tree) + data=data, + rho_D_M=d_distr_prob, + d_distr_samples=d_distr_samples, + lambda_emulate=lambda_emulate, + d_Tree=d_Tree) # calculate 2d marginal probs ''' Suggested changes for user: diff --git a/examples/matfiles/Q_2D.mat b/examples/matfiles/Q_2D.mat new file mode 100644 index 0000000000000000000000000000000000000000..575f361579badfa60fea085bbcb12cfb269b7945 GIT binary patch literal 41481 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 UW3PS1=8tw9(unj60AsO%WN6(N00000 literal 0 HcmV?d00001 diff --git a/examples/matfiles/Q_3D.mat b/examples/matfiles/Q_3D.mat new file mode 100644 index 0000000000000000000000000000000000000000..6f091664313ec1e9b62ea4b769068a26dfa23b40 GIT binary patch literal 767744 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%0A>d|Yg{1@T$I8k7 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 z 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 z g1HpKlKC-jc#3Vh)-vu_vRi&YAK{~SIA4GpU(VxNCrX3K#qpt>u%60IDOq*ucn z4I0{y`gq~`EpM?ELR*S>YP;cd7#k1#0-yEb&%>thQJy~#7EYY=+561g;M1burzPHh z_#54Kox|K1bvv&U=UsM~@js0U+*MzUtyK`P1z7WOGS5>IXEcxg%?hu(8)9szJQDCf>5p^rOV|Nj)(c{EjP7zS{KoFYX?<{?6oghJ_% zF=LT%MF~Yn#>}&j%w(1!gj9w?C1f58p%Ox52#FHPefD3^I(N0!{hjB1zi;nT9=tzn z>+DJ7zPl#;a!8W@@!7*SNMsWertWg2iub5)nj?wq_(6c8(uqWtJ=Maw=u9Gi{#(Cu zzZ;3X-`Qm^tviYQ)c)nI9#axIhIf`_?h=WtTOVqmXHFsunwp*KL(Z@KjuW&XksWR{ zep#?2k(-p0F8sVoBJ)R+y0==B$Qy1-dxepH@+99K*Gc5c;biY28xomiM2ecymP8gh z#QtF!z7VmBemMscSyP|Yyz3_Ze>0aZ=fP*QW64?zd4j|K-5&T1COfSpTu9{EiQF#* za0-v`r3=HE-PH3d1wPB=SX<7^B=UqvfvhWBrHauJe8}ipLI17rjg8&QwS!N|{&klA zH8`$Jok>A{Yv#I802d!EZO})!+*%T<1&~em`z}zSF9R*R3NJXH>2&23!gsGQ&y^mo zxkr5~C*XQX5-_=h6m)1|xelM3@XpCMuIRCTjoJDZiOklxrKiP%L_TA0FFkmLL>3(s zs~kpu{bGGppWvD~MV2F5k;wIN^Se*MH~e5fEhk)D7ncN%!DT@^sb+}&#_sJ~=|R>$ zGx5o`Bav5J^Ny7w1vb^?N0HUVX>q3LaWQ$at_8lGb8^*!aHR*<*I2^!dhd^i`pC_) zrr}id*ZfPm^9oW@Cvi*)J+3CsMpJu|$RGDIJw6KO>ajfx8tCsT58X*4_}N_`Zy2x>{F@w{m>&1&pd-7oOC9OE7fquGP#_jL2plG$L|av zhmRfltc?Cv19I;1Aun8vex3wh*A?>91*Cy*?9~?R+h&E?6@R2cOTWejGMHri{5X8~ zI5+!={#v8#_FjQ6J?psFFno71*v-b!-#^wtFB$ab`^r+98?LE@yRMGN7`i687-Z@9 zsJLACZl!fdy@StYgN57B8|UxE*P$Tzg6f4=zM#L{BUNl1=ucQ*f|ocCZ%^^oxS}`D z`+w>K@R?mdr#}F$fRd9BUEpHn_!j>jnKn3;xCI`QZsRa1B&BtEBpuSnp44Lw-<=a@ zxy9jA%-R^;4^NR;21NpT?5vs1StaHzV7D&`K4sn_gCMxXwd$PL;Y_N(8OZKWB4@O6 zhf<=q+}7;c{qWKHh^E9LUum!(ut$HgzDY^z@GZu6*to+NpkT(BDyoZ+2F2v2;^Lr69Wm^wcIW=lM!sVJ^7t%*)bfAfNj!mmGmFDBAe6 z4ty^nwq@ACH{7A{eAb6VR{y+IaR;9%ITGWA{LpLqL1PYh-sZX=xewors_NT8q&Tfo za4ve(Y3Xmej7(9O<5NLzPBR8~@{s>R$Qeh8zK%YcI*q*8)-)TAEOW8t$RV8d)eNcV z@8fzunF%==ES+BjpIBLa`&;ba1yzL#4rF`Nd5MEK&&zSEClA2Yv$N*!Azu>N#ec0} z1imVF&s%AMm={k51`BD49Ds|uqj6N+>EMq*EI5YAn{SNI1wIlh!B zjKVpj+7&>Y--BxtW}!$uYN{t1a6O(moO=&RvCB$@1dsMxQ2q@ZBHR@=}1yLMKkP8u|G0_O3nH zLnnd$B~Ij+%Hlg)^vGh>b=4yn^9$rFTf=i`BsfNO9rt{wKgZSz+@n6JpF$IG-?wQk zoVtzk)o@$O?HbOTiCS~^0C69TQ|)?7d@s3=pTDAi(&icWD)e43MQw8uds@wY>_s5* zj=A3XHhdp}gR9+b_#WS71OKCfcbuYua~9v@>uF#0>)6kLa$lx=_>X${T(3dD|90v) zOu>KdmNPv+<}c$Bmu!ps^SZUPL_Z(Xf|2+_&LVQoT)|3SYo= zoz_M8oDEtEWw94AnylQ%(0g_sO^*!rfUVZ3{}+7L@)@lP=siY9=9w>i5>gcU*>L&M z70MF#c<+JvIv02|Sib6*!FS`g(b07H@;*<#?ZckhwM(2=hVSN$9hXay%c+Bh_rmAR zW!B%1OrDUJ+JLW;=CtZOdVKGe^{@gy{=5D4is)_kdZ#WUe43PlLZ!s}&p<>@9(>=b z1T#Lvr*GmPMLe%r_tq3XgwH?B?e{A7^n1o9jVtgSelb-~+}~-eVoDE@l6BW5)Zlae z{qUqad>M`jg!%jQ734;HqLTuAY3Iw%EhDu{fBp1^&+bk_z-y!%uco{N_H=mI z+~pkhlAnZtLClGn`)E~cOXHcGf8JX7b>&|lJ9 zIW0E$y2e#YT(EzJlv?v*@I_2D9wdMc>Y-11j1<}uTgp&PJtb{PG8Vp!mF1H!SM0) z*^}Mi6FN7kQ;0cJ9M`SMhciD^&p8-QzBTQ&aX42u=8G)hE3nWD(134e&esV$xNgU$ zG<71^I9^w0!S_4aGd=`9<9@Ekh44*fR`Z&pzg6q$Q+zllrx|(8x5BqsYB<0NpV~FD zk8J?X`@GPYBhn?&gDwJ2TAup{r-^$#V>v1wzKa(_cnh$92`v%vZ{W*gxuIx@b27wj zpX34`L&)7CPx!hH7_5b2&K$*FlY{8bXxN9e1Lwk_>YU7Xd7 z=buRQ*0yK1)⁡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�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%0AZyAH;Kk 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 H(rh^8>m%g~b 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%0DL~ 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

XC47Stq=mcRAkF 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
vaTZ@{kIGL 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 Date: Thu, 7 May 2015 21:00:12 -0500 Subject: [PATCH 71/85] fromFile and linearMap examples work --- examples/fromFileMap/sandbox_test_3D.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/fromFileMap/sandbox_test_3D.py b/examples/fromFileMap/sandbox_test_3D.py index 3137fd9a..93f67e80 100755 --- a/examples/fromFileMap/sandbox_test_3D.py +++ b/examples/fromFileMap/sandbox_test_3D.py @@ -5,6 +5,7 @@ import polyadcirc.pyADCIRC.basic as basic import bet.sampling.adaptiveSampling as asam import bet.sampling.basicSampling as bsam +import bet.postProcess.postTools as ptools import scipy.io as sio from scipy.interpolate import griddata @@ -71,8 +72,7 @@ def rho_D(outputs): kernel_mm = asam.maxima_mean_kernel(np.array([Q_ref]), rho_D) kernel_rD = asam.rhoD_kernel(maximum, rho_D) kernel_m = asam.maxima_kernel(np.array([Q_ref]), rho_D) -kernel_md = asam.multi_dist_kernel() -heur_list = [kernel_mm, kernel_rD, kernel_m, kernel_md] +heur_list = [kernel_mm, kernel_rD, kernel_m] # Create sampler chain_length = 125 @@ -106,11 +106,11 @@ def rho_D(outputs): result_list = [gen_results, tk_results, incdec_results] print "Compare yield of sample sets with various kernels" -bsam.compare_yield(gen_results[3], gen_results[2], gen_results[4]) +ptools.compare_yield(gen_results[3], gen_results[2], gen_results[4]) print "Compare yield of sample sets with various transition sets bounds" -bsam.compare_yield(tk_results[3], tk_results[2], tk_results[4]) +ptools.compare_yield(tk_results[3], tk_results[2], tk_results[4]) print "Compare yield of sample sets with variouos increase/decrease ratios" -bsam.compare_yield(incdec_results[3], incdec_results[2], incdec_results[4]) +ptools.compare_yield(incdec_results[3], incdec_results[2], incdec_results[4]) # Read in points_ref and plot results p_ref = mdat['points_true'] From 14fcc0b24301e274a00e9da345455b487146b3fd Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Thu, 7 May 2015 21:11:19 -0500 Subject: [PATCH 72/85] updating fromADCIRC examples --- examples/fromADCIRCMap/Q_1D_serial.py | 6 +++--- examples/fromADCIRCMap/adaptive_2D.py | 3 ++- examples/fromADCIRCMap/adaptive_3D.py | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/fromADCIRCMap/Q_1D_serial.py b/examples/fromADCIRCMap/Q_1D_serial.py index 5afbf2a8..19d19784 100644 --- a/examples/fromADCIRCMap/Q_1D_serial.py +++ b/examples/fromADCIRCMap/Q_1D_serial.py @@ -43,7 +43,7 @@ def postprocess(station_nums, ref_num): # Calculate P on lambda emulate (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, - rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + rho_D_M, d_distr_samples, lambda_emulate, d_Tree) print "Calculating prob_emulated" mdict['P0'] = P0 mdict['lem0'] = lem0 @@ -53,7 +53,7 @@ def postprocess(station_nums, ref_num): # Calclate P on the actual samples with assumption that voronoi cells have # equal size (P1, lam_vol1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, lam_domain, d_Tree) + rho_D_M, d_distr_samples, d_Tree) print "Calculating prob" mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 @@ -64,7 +64,7 @@ def postprocess(station_nums, ref_num): # Calculate P on the actual samples estimating voronoi cell volume with MC # integration (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) print "Calculating prob_mc" mdict['P3'] = P3 mdict['lam_vol3'] = lam_vol3 diff --git a/examples/fromADCIRCMap/adaptive_2D.py b/examples/fromADCIRCMap/adaptive_2D.py index 9cc5d255..3a2fb5d4 100755 --- a/examples/fromADCIRCMap/adaptive_2D.py +++ b/examples/fromADCIRCMap/adaptive_2D.py @@ -7,6 +7,7 @@ import bet.sampling.adaptiveSampling as asam import bet.sampling.basicSampling as bsam import scipy.io as sio +import bet.postProcess.postTools as ptools adcirc_dir = '/work/01837/lcgraham/v50_subdomain/work' grid_dir = adcirc_dir + '/ADCIRC_landuse/Inlet_b2/inputs/poly_walls' @@ -114,7 +115,7 @@ def rho_D(outputs): param_max, transition_set, kernel, sample_save_file, initial_sample_type) -bsam.in_high_prob(data, rho_D, maximum) +ptools.in_high_prob(data, rho_D, maximum) print np.mean(all_step_ratios) diff --git a/examples/fromADCIRCMap/adaptive_3D.py b/examples/fromADCIRCMap/adaptive_3D.py index 8766974f..8310ece7 100755 --- a/examples/fromADCIRCMap/adaptive_3D.py +++ b/examples/fromADCIRCMap/adaptive_3D.py @@ -7,6 +7,7 @@ import bet.sampling.adaptiveSampling as asam import bet.sampling.basicSampling as bsam import scipy.io as sio +import bet.postProcess.postTools as ptools adcirc_dir = '/work/01837/lcgraham/v50_subdomain/work' grid_dir = adcirc_dir + '/ADCIRC_landuse/Inlet_b2/inputs/poly_walls' @@ -112,7 +113,7 @@ def rho_D(outputs): (samples, data, step_sizes) = sampler.generalized_chains(param_min, param_max, transition_set, kernel_rD, sample_save_file, initial_sample_type) -bsam.in_high_prob(data, rho_D, maximum) +ptools.in_high_prob(data, rho_D, maximum) From 90d3b794475b482c6f25627180f993aedbdd8705 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 8 May 2015 15:34:37 -0500 Subject: [PATCH 73/85] updating examples --- examples/fromADCIRCMap/Q_1D_parallel.py | 92 +++++++++++++++++++ examples/fromADCIRCMap/Q_1D_serial.py | 5 +- examples/fromADCIRCMap/Q_2D_parallel.py | 90 ++++++++++++++++++ .../fromADCIRCMap/{Q_2D.py => Q_2D_serial.py} | 11 +-- examples/fromADCIRCMap/Q_3D_parallel.py | 28 +++--- examples/fromADCIRCMap/Q_3D_serial.py | 2 +- 6 files changed, 204 insertions(+), 24 deletions(-) create mode 100644 examples/fromADCIRCMap/Q_1D_parallel.py create mode 100644 examples/fromADCIRCMap/Q_2D_parallel.py rename examples/fromADCIRCMap/{Q_2D.py => Q_2D_serial.py} (87%) diff --git a/examples/fromADCIRCMap/Q_1D_parallel.py b/examples/fromADCIRCMap/Q_1D_parallel.py new file mode 100644 index 00000000..958c5632 --- /dev/null +++ b/examples/fromADCIRCMap/Q_1D_parallel.py @@ -0,0 +1,92 @@ +import bet.calculateP.calculateP as calcP +import bet.calculateP.simpleFunP as sfun +import numpy as np +import scipy.io as sio +from bet.Comm import rank +import bet.util as util + +# Import "Truth" +mdat = sio.loadmat('Q_2D') +Q = mdat['Q'] +Q_ref = mdat['Q_true'] + +# Import Data +samples = mdat['points'].transpose() +lam_domain = np.array([[0.07, .15], [0.1, 0.2]]) + +print "Finished loading data" + +def postprocess(station_nums, ref_num): + + filename = 'P_q'+str(station_nums[0]+1)+'_q' + if len(station_nums) == 3: + filename += '_q'+str(station_nums[2]+1) + filename += '_ref_'+str(ref_num+1) + + data = Q[:, station_nums] + q_ref = Q_ref[ref_num, station_nums] + + # Create Simple function approximation + # Save points used to parition D for simple function approximation and the + # approximation itself (this can be used to make close comparisions...) + (rho_D_M, d_distr_samples, d_Tree) = sfun.uniform_hyperrectangle(data, + q_ref, bin_ratio=0.15, + center_pts_per_edge=np.ones((data.shape[1],))) + + num_l_emulate = 1e6 + lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) + print "Finished emulating lambda samples" + + if rank == 0: + mdict = dict() + mdict['rho_D_M'] = rho_D_M + mdict['d_distr_samples'] = d_distr_samples + mdict['num_l_emulate'] = num_l_emulate + #mdict['lambda_emulate'] = lambda_emulate + + # Calculate P on lambda emulate + (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, + rho_D_M, d_distr_samples, lambda_emulate, d_Tree) + + if rank == 0: + print "Calculating prob_emulated" + mdict['P0'] = util.get_global_values(P0) + mdict['lem0'] = lem0 + mdict['io_ptr0'] = io_ptr0 + mdict['emulate_ptr0'] = emulate_ptr0 + + # Calclate P on the actual samples with assumption that voronoi cells have + # equal size + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, + rho_D_M, d_distr_samples, d_Tree) + if rank == 0: + print "Calculating prob" + mdict['P1'] = util.get_global_values(P1) + mdict['lam_vol1'] = lam_vol1 + mdict['lem1'] = samples + mdict['io_ptr1'] = io_ptr1 + + # Calculate P on the actual samples estimating voronoi cell volume with MC + # integration + (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) + if rank == 0: + print "Calculating prob_mc" + mdict['P3'] = util.get_global_values(P3) + mdict['lam_vol3'] = lam_vol3 + mdict['io_ptr3'] = io_ptr3 + mdict['emulate_ptr3'] = emulate_ptr3 + # Export P and compare to MATLAB solution visually + sio.savemat(filename, mdict, do_compression=True) + +# Post-process and save P and emulated points +ref_nums = [6, 11, 15] # 7, 12, 16 +stations = [1, 4, 5] # 2, 5, 6 + +ref_nums, stations = np.meshgrid(ref_nums, stations) +ref_nums = ref_nums.ravel() +stations = stations.ravel() + +for tnum, stat in zip(ref_nums, stations): + postprocess([0], tnum) + diff --git a/examples/fromADCIRCMap/Q_1D_serial.py b/examples/fromADCIRCMap/Q_1D_serial.py index 19d19784..48f28072 100644 --- a/examples/fromADCIRCMap/Q_1D_serial.py +++ b/examples/fromADCIRCMap/Q_1D_serial.py @@ -19,7 +19,7 @@ def postprocess(station_nums, ref_num): filename = 'P_q'+str(station_nums[0]+1)+'_q' if len(station_nums) == 3: filename += '_q'+str(station_nums[2]+1) - filename += '_truth_'+str(ref_num+1) + filename += '_ref_'+str(ref_num+1) data = Q[:, station_nums] q_ref = Q_ref[ref_num, station_nums] @@ -52,14 +52,13 @@ def postprocess(station_nums, ref_num): # Calclate P on the actual samples with assumption that voronoi cells have # equal size - (P1, lam_vol1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, rho_D_M, d_distr_samples, d_Tree) print "Calculating prob" mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 mdict['lem1'] = samples mdict['io_ptr1'] = io_ptr1 - mdict['emulate_ptr1'] = emulate_ptr1 # Calculate P on the actual samples estimating voronoi cell volume with MC # integration diff --git a/examples/fromADCIRCMap/Q_2D_parallel.py b/examples/fromADCIRCMap/Q_2D_parallel.py new file mode 100644 index 00000000..da1d665b --- /dev/null +++ b/examples/fromADCIRCMap/Q_2D_parallel.py @@ -0,0 +1,90 @@ +import bet.calculateP.calculateP as calcP +import bet.calculateP.simpleFunP as sfun +import numpy as np +import scipy.io as sio +import bet.util as util +from bet.Comm import rank + +# Import "Truth" +mdat = sio.loadmat('Q_2D') +Q = mdat['Q'] +Q_ref = mdat['Q_true'] + +# Import Data +samples = mdat['points'].transpose() +lam_domain = np.array([[0.07, .15], [0.1, 0.2]]) + +print "Finished loading data" + +def postprocess(station_nums, ref_num): + + filename = 'P_q'+str(station_nums[0]+1)+'_q'+str(station_nums[1]+1) + if len(station_nums) == 3: + filename += '_q'+str(station_nums[2]+1) + filename += '_ref_'+str(ref_num+1) + + data = Q[:, station_nums] + q_ref = Q_ref[ref_num, station_nums] + + # Create Simple function approximation + # Save points used to parition D for simple function approximation and the + # approximation itself (this can be used to make close comparisions...) + (rho_D_M, d_distr_samples, d_Tree) = sfun.uniform_hyperrectangle(data, + q_ref, bin_ratio=0.15, + center_pts_per_edge=np.ones((data.shape[1],))) + + num_l_emulate = 1e6 + lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) + + if rank == 0: + print "Finished emulating lambda samples" + mdict = dict() + mdict['rho_D_M'] = rho_D_M + mdict['d_distr_samples'] = d_distr_samples + mdict['num_l_emulate'] = num_l_emulate + + # Calculate P on lambda emulate + (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, + rho_D_M, d_distr_samples, lambda_emulate, d_Tree) + if rank == 0: + print "Calculating prob_emulated" + mdict['P0'] = P0 + mdict['lem0'] = lem0 + mdict['io_ptr0'] = io_ptr0 + mdict['emulate_ptr0'] = emulate_ptr0 + + # Calclate P on the actual samples with assumption that voronoi cells have + # equal size + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, + rho_D_M, d_distr_samples, d_Tree) + if rank == 0: + print "Calculating prob" + mdict['P1'] = P1 + mdict['lam_vol1'] = lam_vol1 + mdict['lem1'] = samples + mdict['io_ptr1'] = io_ptr1 + + # Calculate P on the actual samples estimating voronoi cell volume with MC + # integration + (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) + if rank == 0: + print "Calculating prob_mc" + mdict['P3'] = P3 + mdict['lam_vol3'] = lam_vol3 + mdict['io_ptr3'] = io_ptr3 + mdict['emulate_ptr3'] = emulate_ptr3 + # Export P and compare to MATLAB solution visually + sio.savemat(filename, mdict, do_compression=True) + +# Post-process and save P and emulated points +ref_nums = [6, 11, 15] # 7, 12, 16 +stations = [1, 4, 5] # 2, 5, 6 + +ref_nums, stations = np.meshgrid(ref_nums, stations) +ref_nums = ref_nums.ravel() +stations = stations.ravel() + +for tnum, stat in zip(ref_nums, stations): + postprocess([0, stat], tnum) + diff --git a/examples/fromADCIRCMap/Q_2D.py b/examples/fromADCIRCMap/Q_2D_serial.py similarity index 87% rename from examples/fromADCIRCMap/Q_2D.py rename to examples/fromADCIRCMap/Q_2D_serial.py index d701e618..acd802a2 100644 --- a/examples/fromADCIRCMap/Q_2D.py +++ b/examples/fromADCIRCMap/Q_2D_serial.py @@ -19,7 +19,7 @@ def postprocess(station_nums, ref_num): filename = 'P_q'+str(station_nums[0]+1)+'_q'+str(station_nums[1]+1) if len(station_nums) == 3: filename += '_q'+str(station_nums[2]+1) - filename += '_truth_'+str(ref_num+1) + filename += '_ref_'+str(ref_num+1) data = Q[:, station_nums] q_ref = Q_ref[ref_num, station_nums] @@ -43,7 +43,7 @@ def postprocess(station_nums, ref_num): # Calculate P on lambda emulate (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, - rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + rho_D_M, d_distr_samples, lambda_emulate, d_Tree) print "Calculating prob_emulated" mdict['P0'] = P0 mdict['lem0'] = lem0 @@ -52,19 +52,18 @@ def postprocess(station_nums, ref_num): # Calclate P on the actual samples with assumption that voronoi cells have # equal size - (P1, lam_vol1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, lam_domain, d_Tree) + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, + rho_D_M, d_distr_samples, d_Tree) print "Calculating prob" mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 mdict['lem1'] = samples mdict['io_ptr1'] = io_ptr1 - mdict['emulate_ptr1'] = emulate_ptr1 # Calculate P on the actual samples estimating voronoi cell volume with MC # integration (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) print "Calculating prob_mc" mdict['P3'] = P3 mdict['lam_vol3'] = lam_vol3 diff --git a/examples/fromADCIRCMap/Q_3D_parallel.py b/examples/fromADCIRCMap/Q_3D_parallel.py index a90659fc..bf73f2d1 100644 --- a/examples/fromADCIRCMap/Q_3D_parallel.py +++ b/examples/fromADCIRCMap/Q_3D_parallel.py @@ -2,11 +2,9 @@ import bet.calculateP.simpleFunP as sfun import numpy as np import scipy.io as sio -from mpi4py import MPI from bet import util -comm = MPI.COMM_WORLD -rank = comm.Get_rank() +from bet.Comm import comm, rank # Import "Truth" mdat = sio.loadmat('Q_3D') @@ -43,19 +41,21 @@ def postprocess(station_nums, ref_num): # Calculate P on the actual samples estimating voronoi cell volume with MC # integration (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) print "Calculating prob_mc" - mdict = dict() - mdict['rho_D_M'] = rho_D_M - mdict['d_distr_samples'] = d_distr_samples - mdict['lambda_emulate'] = util.get_global_values(lambda_emulate) - mdict['num_l_emulate'] = mdict['lambda_emulate'].shape[1] - mdict['P3'] = util.get_global_values(P3) - mdict['lam_vol3'] = util.get_global_values(lam_vol3) - mdict['io_ptr3'] = util.get_global_values(io_ptr3) - mdict['emulate_ptr3'] = emulate_ptr3 - + if rank == 0: + mdict = dict() + mdict['rho_D_M'] = rho_D_M + mdict['d_distr_samples'] = d_distr_samples + mdict['lambda_emulate'] = util.get_global_values(lambda_emulate) + mdict['num_l_emulate'] = mdict['lambda_emulate'].shape[1] + mdict['P3'] = util.get_global_values(P3) + mdict['lam_vol3'] = lam_vol3 + mdict['io_ptr3'] = io_ptr3 + mdict['emulate_ptr3'] = emulate_ptr3 + + # Export P and compare to MATLAB solution visually sio.savemat(filename, mdict, do_compression=True) diff --git a/examples/fromADCIRCMap/Q_3D_serial.py b/examples/fromADCIRCMap/Q_3D_serial.py index 4efdeba4..34dfbdbc 100644 --- a/examples/fromADCIRCMap/Q_3D_serial.py +++ b/examples/fromADCIRCMap/Q_3D_serial.py @@ -37,7 +37,7 @@ def postprocess(station_nums, ref_num): # Calclate P on the actual samples with assumption that voronoi cells have # equal size (P1, lam_vol1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, lam_domain, d_Tree) + rho_D_M, d_distr_samples, d_Tree) print "Calculating prob" mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 From 6870b67e5c90f2218cc764cf5ea3f83fdfe0a174 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 8 May 2015 15:50:27 -0500 Subject: [PATCH 74/85] changed truth to reference --- examples/fromADCIRCMap/Q_3D_parallel.py | 2 +- examples/fromADCIRCMap/Q_3D_serial.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/fromADCIRCMap/Q_3D_parallel.py b/examples/fromADCIRCMap/Q_3D_parallel.py index bf73f2d1..c1a1ed5a 100644 --- a/examples/fromADCIRCMap/Q_3D_parallel.py +++ b/examples/fromADCIRCMap/Q_3D_parallel.py @@ -22,7 +22,7 @@ def postprocess(station_nums, ref_num): filename = 'P_q'+str(station_nums[0]+1)+'_q'+str(station_nums[1]+1) if len(station_nums) == 3: filename += '_q'+str(station_nums[2]+1) - filename += '_truth_'+str(ref_num+1) + filename += '_ref_'+str(ref_num+1) data = Q[:, station_nums] q_ref = Q_ref[ref_num, station_nums] diff --git a/examples/fromADCIRCMap/Q_3D_serial.py b/examples/fromADCIRCMap/Q_3D_serial.py index 34dfbdbc..4840c815 100644 --- a/examples/fromADCIRCMap/Q_3D_serial.py +++ b/examples/fromADCIRCMap/Q_3D_serial.py @@ -19,7 +19,7 @@ def postprocess(station_nums, ref_num): filename = 'P_q'+str(station_nums[0]+1)+'_q'+str(station_nums[1]+1) if len(station_nums) == 3: filename += '_q'+str(station_nums[2]+1) - filename += '_truth_'+str(ref_num+1) + filename += '_ref_'+str(ref_num+1) data = Q[:, station_nums] q_ref = Q_ref[ref_num, station_nums] From be726ebf5f65f62e6b9a42ebe7d8f425b90df6d5 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 8 May 2015 16:47:15 -0500 Subject: [PATCH 75/85] simplified filenames --- bet/sampling/adaptiveSampling.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index a9ab06c1..9557e1f3 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -256,7 +256,7 @@ def generalized_chains(self, param_min, param_max, t_set, kern, """ if size > 1: - savefile = os.path.join(os.path.dirname(savefile), + psavefile = os.path.join(os.path.dirname(savefile), "proc{}{}".format(rank, os.path.basename(savefile))) # Initialize Nx1 vector Step_size = something reasonable (based on size @@ -275,7 +275,7 @@ def generalized_chains(self, param_min, param_max, t_set, kern, # hypercube/space-filling curve to fully explore parameter space - not # necessarily random). Call these Samples_old. (samples_old, data_old) = super(sampler, self).random_samples( - initial_sample_type, param_min, param_max, savefile, + initial_sample_type, param_min, param_max, psavefile, self.num_chains, criterion) self.num_samples = self.chain_length * self.num_chains comm.Barrier() @@ -324,7 +324,7 @@ def generalized_chains(self, param_min, param_max, t_set, kern, mdat['step_ratios'] = all_step_ratios mdat['samples'] = samples mdat['data'] = data - super(sampler, self).save(mdat, "p"+str(rank)+savefile) + super(sampler, self).save(mdat, psavefile) MYsamples_old = samples_new From 93725af472c03886ab8a9625223983acf2126da4 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 13 May 2015 13:16:26 -0500 Subject: [PATCH 76/85] shortened example --- examples/fromADCIRCMap/Q_3D_parallel.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/fromADCIRCMap/Q_3D_parallel.py b/examples/fromADCIRCMap/Q_3D_parallel.py index c1a1ed5a..f8841629 100644 --- a/examples/fromADCIRCMap/Q_3D_parallel.py +++ b/examples/fromADCIRCMap/Q_3D_parallel.py @@ -67,19 +67,19 @@ def postprocess(station_nums, ref_num): postprocess(station_nums, ref_num) # q1, q5 ref 15 -station_nums = [0, 4] # 1, 5 -postprocess(station_nums, ref_num) +#station_nums = [0, 4] # 1, 5 +#postprocess(station_nums, ref_num) # q1, q5, q12 ref 16 -station_nums = [0, 4, 11] # 1, 5, 12 -postprocess(station_nums, ref_num) +#station_nums = [0, 4, 11] # 1, 5, 12 +#postprocess(station_nums, ref_num) -station_nums = [0, 8, 6] # 1, 5, 12 -postprocess(station_nums, ref_num) +#station_nums = [0, 8, 6] # 1, 5, 12 +#postprocess(station_nums, ref_num) -station_nums = [0, 8, 11] # 1, 5, 12 -postprocess(station_nums, ref_num) +#station_nums = [0, 8, 11] # 1, 5, 12 +#postprocess(station_nums, ref_num) From c86c53654b7aff8c703a69ff2b8e6b8fb0714607 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Wed, 13 May 2015 20:01:35 -0500 Subject: [PATCH 77/85] updated adaptive sampling tests --- examples/fromADCIRCMap/Q_1D_parallel.py | 6 ++++-- test/test_sampling/test_adaptiveSampling.py | 23 +++++++++------------ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/examples/fromADCIRCMap/Q_1D_parallel.py b/examples/fromADCIRCMap/Q_1D_parallel.py index 958c5632..48e1e155 100644 --- a/examples/fromADCIRCMap/Q_1D_parallel.py +++ b/examples/fromADCIRCMap/Q_1D_parallel.py @@ -87,6 +87,8 @@ def postprocess(station_nums, ref_num): ref_nums = ref_nums.ravel() stations = stations.ravel() -for tnum, stat in zip(ref_nums, stations): - postprocess([0], tnum) +postprocess([0],11) + +#for tnum, stat in zip(ref_nums, stations): +# postprocess([0], tnum) diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 1ad88fbb..9bd72918 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -120,19 +120,16 @@ def ifun(outputs): # did the savefiles get created? (proper number, contain proper keys) mdat = {} - if size > 1: - mdat = sio.loadmat(os.path.join(os.path.dirname(savefile), - "proc{}{}".format(rank, os.path.basename(savefile)))) - else: + if rank == 0: mdat = sio.loadmat(savefile) - nptest.assert_array_equal(samples, mdat['samples']) - nptest.assert_array_equal(data, mdat['data']) - nptest.assert_array_equal(all_step_ratios, mdat['step_ratios']) - assert sampler.chain_length == mdat['chain_length'] - assert sampler.num_samples == mdat['num_samples'] - assert sampler.num_chains == mdat['num_chains'] - nptest.assert_array_equal(sampler.sample_batch_no, - np.squeeze(mdat['sample_batch_no'])) + nptest.assert_array_equal(samples, mdat['samples']) + nptest.assert_array_equal(data, mdat['data']) + nptest.assert_array_equal(all_step_ratios, mdat['step_ratios']) + assert sampler.chain_length == mdat['chain_length'] + assert sampler.num_samples == mdat['num_samples'] + assert sampler.num_chains == mdat['num_chains'] + nptest.assert_array_equal(sampler.sample_batch_no, + np.squeeze(mdat['sample_batch_no'])) class Test_adaptive_sampler(unittest.TestCase): """ @@ -207,7 +204,7 @@ def map_10t4(x): def tearDown(self): for f in self.savefiles: - if os.path.exists(f+".mat"): + if rank == 0 and os.path.exists(f+".mat"): os.remove(f+".mat") proc_savefiles = glob.glob("p{}*.mat".format(rank)) proc_savefiles.extend(glob.glob("proc{}*.mat".format(rank))) From 473f896f68f8cb05a98968a0f62bd56d77aae0c9 Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Thu, 14 May 2015 22:38:50 -0500 Subject: [PATCH 78/85] Fixes todos in plotP and postTools --- bet/postProcess/plotP.py | 101 ++++-------------- bet/postProcess/postTools.py | 6 +- .../linearMap/linearMapUniformSampling.py | 6 +- test/test_postProcess/test_plotP.py | 4 +- 4 files changed, 28 insertions(+), 89 deletions(-) diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index 9209e937..30331548 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -2,42 +2,11 @@ This module provides methods for plotting probabilities. """ -# NOTE: We need nbins+1 because of plotting considerations. -""" -TODO: Make sure plots are transparent when saving them. Copy or emulate code -for saving the plots from plotDomains.py -""" - from bet.Comm import * import matplotlib.pyplot as plt import numpy as np import copy, math -def plot_voronoi_probs(P_samples, samples, lam_domain, nbins=20, - plot_surface=False): - """ - This makes plots of the joint probabilies of input probability measure - defined by P_samples for 2d cases. post_process - is an input that only - applies to the 2d case w.r.t. the Voronoi cells. - - :param P_samples: Probabilities. - :type P_samples: :class:'~numpy.ndarray' of shape (num_samples,) - :param samples: The samples in parameter space for which the model was run. - :type samples: :class:'~numpy.ndarray' of shape (num_samples, ndim) - :param lam_domain: The domain for each parameter for the model. - :type lam_domain: :class:'~numpy.ndarray' of shape (ndim, 2) - :param nbins: Number of bins in each direction. - :type nbins: :int - - """ - lam_dim = lam_domain.shape[0] - - if lam_dim == 2: # Plot Voronoi tesselations, otherwise plot 2d - #projections/marginals of the joint inverse measure - num_samples = samples.shape[0] - #Add fake samples outside of lam_domain to close Voronoi - #tesselations at infinity - # TODO: finish this method def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): @@ -66,35 +35,18 @@ def calculate_1D_marginal_probs(P_samples, samples, lam_domain, nbins=20): if isinstance(nbins, int): nbins = nbins*np.ones(num_dim, dtype=np.int) - """TODO: determine if np.histogram or np.searchsorted is faster and change - to appropiate method. - """ - # Create bins bins = [] for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0]-np.finfo(float).eps, lam_domain[i][1]+np.finfo(float).eps, - nbins[i]+1)) - bin_ptr = np.zeros((num_samples, num_dim), dtype=np.int) - # Bin samples - for j in range(num_dim): - bin_ptr[:, j] = np.searchsorted(bins[j], samples[:, j]) - bin_ptr -= 1 - bins = [] - for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], - nbins[i]+1)) - - # Calculate marginal probabilities + bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], nbins[i]+1)) + + # Calculate marginals marginals = {} for i in range(num_dim): - marg = np.zeros((nbins[i]+1,)) - # This may be sped up with logical indices - for k in range(num_samples): - marg[bin_ptr[k][i]] += P_samples[k] + [marg, _] = np.histogram(samples[:,i], bins=bins[i], weights=P_samples) marg_temp = np.copy(marg) comm.Allreduce([marg, MPI.DOUBLE], [marg_temp, MPI.DOUBLE], op=MPI.SUM) - marginals[i] = marg_temp[:-1] + marginals[i] = marg_temp return (bins, marginals) @@ -116,47 +68,35 @@ def calculate_2D_marginal_probs(P_samples, samples, lam_domain, nbins=20): :returns: (bins, marginals) """ - + if len(samples.shape) == 1: + samples = np.expand_dims(samples, axis=1) num_samples = samples.shape[0] num_dim = samples.shape[1] # Make list of bins if only an integer is given if isinstance(nbins, int): nbins = nbins*np.ones(num_dim, dtype=np.int) - """TODO: determine if np.histogram or np.searchsorted is faster and change - to appropiate method. - """ # Create bins - bins = [] - for i in range(num_dim): - bins.append(np.linspace(lam_domain[i][0]-np.finfo(float).eps, lam_domain[i][1]+np.finfo(float).eps, nbins[i]+1)) - bin_ptr = np.zeros((num_samples, num_dim), dtype=np.int) - # Bin samples - for j in range(num_dim): - bin_ptr[:, j] = np.searchsorted(bins[j], samples[:, j]) - bin_ptr -= 1 - bins = [] for i in range(num_dim): bins.append(np.linspace(lam_domain[i][0], lam_domain[i][1], nbins[i]+1)) - - # Calculate marginal probabilities + + # Calculate marginals marginals = {} for i in range(num_dim): for j in range(i+1, num_dim): - marg = np.zeros((nbins[i]+1, nbins[j]+1)) - # TODO: This may be sped up with logical indices - for k in range(num_samples): - marg[bin_ptr[k][i]][bin_ptr[k][j]] += P_samples[k] + (marg, _) = np.histogramdd(samples[:,[i,j]], bins = [bins[i], bins[j]], weights = P_samples) + marg=np.ascontiguousarray(marg) marg_temp = np.copy(marg) comm.Allreduce([marg, MPI.DOUBLE], [marg_temp, MPI.DOUBLE], op=MPI.SUM) - marginals[(i, j)] = marg_temp[:-1, :-1] + marginals[(i, j)] = marg_temp + return (bins, marginals) def plot_1D_marginal_probs(marginals, bins, lam_domain, - filename="file", lam_ref=None, interactive=True, + filename="file", lam_ref=None, interactive=False, lambda_label=None): """ @@ -197,14 +137,15 @@ def plot_1D_marginal_probs(marginals, bins, lam_domain, label1 = lambda_label[i] ax.set_xlabel(label1) ax.set_ylabel(r'$\rho$') - fig.savefig(filename + "_1D_" + str(i) + ".eps") + fig.savefig(filename + "_1D_" + str(i) + ".eps", transparent=True) if interactive: plt.show() else: plt.close() + plt.clf() def plot_2D_marginal_probs(marginals, bins, lam_domain, - filename="file", lam_ref=None, plot_surface=False, interactive=True, + filename="file", lam_ref=None, plot_surface=False, interactive=False, lambda_label=None): """ @@ -260,7 +201,7 @@ def plot_2D_marginal_probs(marginals, bins, lam_domain, fig.colorbar(quadmesh, ax=ax, label=label_cbar) plt.axis([lam_domain[i][0], lam_domain[i][1], lam_domain[j][0], lam_domain[j][1]]) - fig.savefig(filename + "_2D_" + str(i) + "_" + str(j) + ".eps") + fig.savefig(filename + "_2D_" + str(i) + "_" + str(j) + ".eps", transparent=True) if interactive: plt.show() else: @@ -283,11 +224,12 @@ def plot_2D_marginal_probs(marginals, bins, lam_domain, ax.set_zlabel(r'$P$') plt.backgroundcolor = 'w' fig.colorbar(surf, shrink=0.5, aspect=5, label=r'$P$') - fig.savefig(filename + "_surf_"+str(i)+"_"+str(j)+".eps") + fig.savefig(filename + "_surf_"+str(i)+"_"+str(j)+".eps", transparent=True) if interactive: plt.show() else: plt.close() + plt.clf() def smooth_marginals_1D(marginals, bins, sigma=10.0): """ @@ -351,8 +293,7 @@ def smooth_marginals_2D(marginals, bins, sigma=10.0): marginals_smooth = {} pairs = copy.deepcopy(marginals.keys()) pairs.sort() - #TODO: k is an unused variable - for k, (i, j) in enumerate(pairs): + for (i, j) in pairs: nx = len(bins[i])-1 ny = len(bins[j])-1 dx = bins[i][1] - bins[i][0] diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index c79b1b4e..8c648298 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -1,7 +1,5 @@ """ -TODO: rewrite to match what the module acutally does - -This module provides methods for plotting probabilities. +This module provides methods for postprocessing probabilities and data. """ from bet.Comm import rank import numpy as np @@ -70,8 +68,6 @@ def sample_highest_prob(top_percentile, P_samples, samples, lam_vol=None, """ if len(samples.shape) == 1: samples = np.expand_dims(samples, axis=1) - # TODO: should we trust the user or should we do a quick check of part of - # the array to see if it's already sorted? if sort: (P_samples, samples, lam_vol, data) = sort_by_rho(P_samples, samples, lam_vol, data) diff --git a/examples/linearMap/linearMapUniformSampling.py b/examples/linearMap/linearMapUniformSampling.py index 553704c4..c2825adc 100644 --- a/examples/linearMap/linearMapUniformSampling.py +++ b/examples/linearMap/linearMapUniformSampling.py @@ -69,6 +69,8 @@ # calc data data= np.dot(samples,Q_map) +np.savetxt('3to2_samples.txt.gz', samples) +np.savetxt('3to2_data.txt.gz', data) ''' Suggested changes for user: @@ -122,13 +124,13 @@ Monte Carlo (it converges like 1/sqrt(n_samples)). ''' #lambda_emulate = samples -lambda_emulate = calculateP.emulate_iid_lebesgue(lam_domain=lam_domain, num_l_emulate = 1E5) +lambda_emulate = calculateP.emulate_iid_lebesgue(lam_domain=lam_domain, num_l_emulate = 1E4) # calculate probablities (P, lambda_emulate, io_ptr, emulate_ptr) = calculateP.prob_emulated(samples=samples, data=data, rho_D_M = d_distr_prob, d_distr_samples = d_distr_samples, - lam_domain=lam_domain, lambda_emulate=lambda_emulate, d_Tree=d_Tree) + lambda_emulate=lambda_emulate, d_Tree=d_Tree) # calculate 2d marginal probs ''' Suggested changes for user: diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index 69a1d25f..3ee69efe 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -30,7 +30,7 @@ def setUp(self): self.lam_domain=np.array([[0.0,1.0]]) num_samples=1000 self.samples = np.linspace(self.lam_domain[0][0], self.lam_domain[0][1], num_samples+1) - self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + self.P_samples = 1.0/float(size)*(1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) def test_1_bin(self): """ @@ -65,7 +65,7 @@ def setUp(self): """ self.lam_domain=np.array([[0.0,1.0],[0.0,1.0]]) self.samples=util.meshgrid_ndim((np.linspace(self.lam_domain[0][0], self.lam_domain[0][1], 10),np.linspace(self.lam_domain[1][0], self.lam_domain[1][1], 10))) - self.P_samples = (1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) + self.P_samples = 1.0/float(size)*(1.0/float(self.samples.shape[0]))*np.ones((self.samples.shape[0],)) def test_1_bin_1D(self): """ From 8791bd7a0e1c42bf967051b568c4c555614f2e00 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 10:59:07 -0500 Subject: [PATCH 79/85] updating examples --- examples/fromADCIRCMap/Q_1D_parallel.py | 47 +++++++++++++++---------- examples/fromADCIRCMap/Q_1D_serial.py | 2 +- examples/fromADCIRCMap/Q_2D_parallel.py | 2 +- examples/fromADCIRCMap/Q_2D_serial.py | 2 +- 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/examples/fromADCIRCMap/Q_1D_parallel.py b/examples/fromADCIRCMap/Q_1D_parallel.py index 48e1e155..229c6bd0 100644 --- a/examples/fromADCIRCMap/Q_1D_parallel.py +++ b/examples/fromADCIRCMap/Q_1D_parallel.py @@ -32,52 +32,61 @@ def postprocess(station_nums, ref_num): (rho_D_M, d_distr_samples, d_Tree) = sfun.uniform_hyperrectangle(data, q_ref, bin_ratio=0.15, center_pts_per_edge=np.ones((data.shape[1],))) + + # Calclate P on the actual samples with assumption that voronoi cells have + # equal size + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, + rho_D_M, d_distr_samples, d_Tree) + if rank == 0: + print "Consolidating prob" + mdict = dict() + mdict['P1'] = util.get_global_values(P1) + mdict['lam_vol1'] = lam_vol1 + mdict['lem1'] = samples + mdict['io_ptr1'] = io_ptr1 + # Export P + sio.savemat(filename, mdict, do_compression=True) - num_l_emulate = 1e6 + """ + num_l_emulate = 1e4 lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) print "Finished emulating lambda samples" if rank == 0: - mdict = dict() mdict['rho_D_M'] = rho_D_M mdict['d_distr_samples'] = d_distr_samples mdict['num_l_emulate'] = num_l_emulate - #mdict['lambda_emulate'] = lambda_emulate - + # Export P + sio.savemat(filename, mdict, do_compression=True) + """ + """ # Calculate P on lambda emulate (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) if rank == 0: - print "Calculating prob_emulated" + print "Consolidating prob_emulated" mdict['P0'] = util.get_global_values(P0) mdict['lem0'] = lem0 mdict['io_ptr0'] = io_ptr0 mdict['emulate_ptr0'] = emulate_ptr0 - - # Calclate P on the actual samples with assumption that voronoi cells have - # equal size - (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, d_Tree) - if rank == 0: - print "Calculating prob" - mdict['P1'] = util.get_global_values(P1) - mdict['lam_vol1'] = lam_vol1 - mdict['lem1'] = samples - mdict['io_ptr1'] = io_ptr1 - + # Export P + sio.savemat(filename, mdict, do_compression=True) + """ + """ # Calculate P on the actual samples estimating voronoi cell volume with MC # integration (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) if rank == 0: - print "Calculating prob_mc" + print "Consolidating prob_mc" mdict['P3'] = util.get_global_values(P3) mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 mdict['emulate_ptr3'] = emulate_ptr3 - # Export P and compare to MATLAB solution visually + # Export P sio.savemat(filename, mdict, do_compression=True) + """ # Post-process and save P and emulated points ref_nums = [6, 11, 15] # 7, 12, 16 diff --git a/examples/fromADCIRCMap/Q_1D_serial.py b/examples/fromADCIRCMap/Q_1D_serial.py index 48f28072..1d16c16d 100644 --- a/examples/fromADCIRCMap/Q_1D_serial.py +++ b/examples/fromADCIRCMap/Q_1D_serial.py @@ -69,7 +69,7 @@ def postprocess(station_nums, ref_num): mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 mdict['emulate_ptr3'] = emulate_ptr3 - # Export P and compare to MATLAB solution visually + # Export P sio.savemat(filename, mdict, do_compression=True) # Post-process and save P and emulated points diff --git a/examples/fromADCIRCMap/Q_2D_parallel.py b/examples/fromADCIRCMap/Q_2D_parallel.py index da1d665b..4ee4cec6 100644 --- a/examples/fromADCIRCMap/Q_2D_parallel.py +++ b/examples/fromADCIRCMap/Q_2D_parallel.py @@ -74,7 +74,7 @@ def postprocess(station_nums, ref_num): mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 mdict['emulate_ptr3'] = emulate_ptr3 - # Export P and compare to MATLAB solution visually + # Export P sio.savemat(filename, mdict, do_compression=True) # Post-process and save P and emulated points diff --git a/examples/fromADCIRCMap/Q_2D_serial.py b/examples/fromADCIRCMap/Q_2D_serial.py index acd802a2..8a18f3c3 100644 --- a/examples/fromADCIRCMap/Q_2D_serial.py +++ b/examples/fromADCIRCMap/Q_2D_serial.py @@ -69,7 +69,7 @@ def postprocess(station_nums, ref_num): mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 mdict['emulate_ptr3'] = emulate_ptr3 - # Export P and compare to MATLAB solution visually + # Export P sio.savemat(filename, mdict, do_compression=True) # Post-process and save P and emulated points From a5325144ad5fcb12641f171e54ae5c6728c3c3bf Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 11:06:05 -0500 Subject: [PATCH 80/85] updated 3D example --- examples/fromADCIRCMap/Q_3D_parallel.py | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/fromADCIRCMap/Q_3D_parallel.py b/examples/fromADCIRCMap/Q_3D_parallel.py index f8841629..cc3bd407 100644 --- a/examples/fromADCIRCMap/Q_3D_parallel.py +++ b/examples/fromADCIRCMap/Q_3D_parallel.py @@ -40,9 +40,9 @@ def postprocess(station_nums, ref_num): # Calculate P on the actual samples estimating voronoi cell volume with MC # integration + print "Calculating prob_mc" (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) - print "Calculating prob_mc" if rank == 0: mdict = dict() @@ -54,9 +54,8 @@ def postprocess(station_nums, ref_num): mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 mdict['emulate_ptr3'] = emulate_ptr3 - - - # Export P and compare to MATLAB solution visually + print "Exporting P" + # Export P sio.savemat(filename, mdict, do_compression=True) # Post-process and save P and emulated points @@ -66,20 +65,21 @@ def postprocess(station_nums, ref_num): station_nums = [0, 4, 1] # 1, 5, 2 postprocess(station_nums, ref_num) +""" # q1, q5 ref 15 -#station_nums = [0, 4] # 1, 5 -#postprocess(station_nums, ref_num) +station_nums = [0, 4] # 1, 5 +postprocess(station_nums, ref_num) # q1, q5, q12 ref 16 -#station_nums = [0, 4, 11] # 1, 5, 12 -#postprocess(station_nums, ref_num) - +station_nums = [0, 4, 11] # 1, 5, 12 +postprocess(station_nums, ref_num) -#station_nums = [0, 8, 6] # 1, 5, 12 -#postprocess(station_nums, ref_num) +station_nums = [0, 8, 6] # 1, 5, 12 +postprocess(station_nums, ref_num) -#station_nums = [0, 8, 11] # 1, 5, 12 -#postprocess(station_nums, ref_num) +station_nums = [0, 8, 11] # 1, 5, 12 +postprocess(station_nums, ref_num) +""" From 2495a389262c36b8d11ce96dbcf442fc8ca25826 Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 12:04:13 -0500 Subject: [PATCH 81/85] reduced test runtime for plotDOmains to 51 s --- test/test_postProcess/test_plotDomains.py | 64 +++++++---------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index e8bdbfbd..841e79e6 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -106,11 +106,8 @@ def test_scatter_2D(self): """ sample_nos = [None, 25] p_ref = [None, self.samples[4, [0, 1]]] - save = [True, False] - for sn in sample_nos: - for pr in p_ref: - for s in save: - self.check_scatter_2D(sn, pr, s) + for sn, pr in zip(sample_nos, p_ref): + self.check_scatter_2D(sn, pr, True) def check_scatter_2D(self, sample_nos, p_ref, save): """ @@ -133,11 +130,8 @@ def test_scatter_3D(self): """ sample_nos = [None, 25] p_ref = [None, self.samples[4, :]] - save = [True, False] - for sn in sample_nos: - for pr in p_ref: - for s in save: - self.check_scatter_3D(sn, pr, s) + for sn, pr in zip(sample_nos, p_ref): + self.check_scatter_3D(sn, pr, True) def check_scatter_3D(self, sample_nos, p_ref, save): """ @@ -158,7 +152,6 @@ def test_show_param(self): Test :meth:`bet.postProcess.plotDomains.show_param` """ sample_nos = [None, 25] - save = [True, False] samples = [self.samples, self.samples[:, [0, 1]], self.samples[:, [0, 1, 2]]] lnums = [None, self.lnums] @@ -170,13 +163,9 @@ def test_show_param(self): if sample.shape[0] > 3: showdim.append(3) for sd in showdim: - for ln in lnums: - for sn in sample_nos: - p_ref = [None, sample[4, :]] - for pr in p_ref: - for s in save: - self.check_show_param(sample, sn, pr, s, ln, - sd) + p_ref = [None, sample[4, :]] + for ln, sn, pr in zip(lnums, sample_nos, p_ref): + self.check_show_param(sample, sn, pr, True, ln, sd) def check_show_param(self, samples, sample_nos, p_ref, save, lnums, showdim): @@ -197,23 +186,18 @@ def test_show_data(self): Test :meth:`bet.postProcess.plotDomains.show_data` """ sample_nos = [None, 25] - save = [True, False] data_sets = [self.data, self.data[:, [0, 1]]] qnums = [None, [0, 1, 2]]#self.lnums] - for data in data_sets: + for data, qn, sn in zip(data_sets, qnums, sample_nos): showdim = [None] if data.shape[0] > 2: showdim.append(2) if data.shape[0] > 3: showdim.append(3) - for sd in showdim: - for qn in qnums: - for sn in sample_nos: - Q_ref = [None, data[4, :]] - for qr in Q_ref: - for s in save: - self.check_show_data(data, sn, qr, s, qn, sd) + Q_ref = [None, data[4, :]] + for sd, qr in zip(showdim, Q_ref): + self.check_show_data(data, sn, qr, True, qn, sd) def check_show_data(self, data, sample_nos, q_ref, save, qnums, showdim): """ @@ -245,17 +229,10 @@ def test_show_data_domain_2D(self): """ ref_markers = [None, self.markers] ref_colors = [None, self.colors] - triangulation = tri.Triangulation(self.samples[:, 0], self.samples[:, 1]) - triangles = [None, triangulation.triangles] filenames = [None, ['domain_q1_q1_cs.eps', 'q1_q2_domain_Q_cs.eps']] - save = [None, False] - for rm in ref_markers: - for rc in ref_colors: - for t in triangles: - for s in save: - for fn in filenames: - self.check_show_data_domain_2D(rm, rc, t, s, fn) + for rm, rc, fn in zip(ref_markers, ref_colors, filenames): + self.check_show_data_domain_2D(rm, rc, None, True, fn) def check_show_data_domain_2D(self, ref_markers, ref_colors, triangles, save, filenames): @@ -286,14 +263,13 @@ def test_show_data_domain_multi(self): Q_nums = [None, [1, 2], [1, 2, 3]] ref_markers = [None, self.markers] ref_colors = [None, self.colors] - for rm in ref_markers: - for rc in ref_colors: - for qn in Q_nums: - showdim = [None, 1] - if qn and len(qn) > 2: - showdim.extend(['all', 'ALL']) - for sd in showdim: - self.check_show_data_domain_multi(rm, rc, qn, sd) + for rm, rc in zip(ref_markers, ref_colors): + for qn in Q_nums: + showdim = [None, 1] + if qn and len(qn) > 2: + showdim.extend(['all', 'ALL']) + for sd in showdim: + self.check_show_data_domain_multi(rm, rc, qn, sd) def check_show_data_domain_multi(self, ref_markers, ref_colors, Q_nums, showdim): From 0502cb1f326db387a0d4e52a9c52666beec18f7a Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 12:20:29 -0500 Subject: [PATCH 82/85] all examples now run --- examples/fromADCIRCMap/Q_1D_parallel.py | 103 ------------------------ examples/fromADCIRCMap/Q_3D_parallel.py | 85 ------------------- examples/fromADCIRCMap/Q_3D_serial.py | 8 +- 3 files changed, 4 insertions(+), 192 deletions(-) delete mode 100644 examples/fromADCIRCMap/Q_1D_parallel.py delete mode 100644 examples/fromADCIRCMap/Q_3D_parallel.py diff --git a/examples/fromADCIRCMap/Q_1D_parallel.py b/examples/fromADCIRCMap/Q_1D_parallel.py deleted file mode 100644 index 229c6bd0..00000000 --- a/examples/fromADCIRCMap/Q_1D_parallel.py +++ /dev/null @@ -1,103 +0,0 @@ -import bet.calculateP.calculateP as calcP -import bet.calculateP.simpleFunP as sfun -import numpy as np -import scipy.io as sio -from bet.Comm import rank -import bet.util as util - -# Import "Truth" -mdat = sio.loadmat('Q_2D') -Q = mdat['Q'] -Q_ref = mdat['Q_true'] - -# Import Data -samples = mdat['points'].transpose() -lam_domain = np.array([[0.07, .15], [0.1, 0.2]]) - -print "Finished loading data" - -def postprocess(station_nums, ref_num): - - filename = 'P_q'+str(station_nums[0]+1)+'_q' - if len(station_nums) == 3: - filename += '_q'+str(station_nums[2]+1) - filename += '_ref_'+str(ref_num+1) - - data = Q[:, station_nums] - q_ref = Q_ref[ref_num, station_nums] - - # Create Simple function approximation - # Save points used to parition D for simple function approximation and the - # approximation itself (this can be used to make close comparisions...) - (rho_D_M, d_distr_samples, d_Tree) = sfun.uniform_hyperrectangle(data, - q_ref, bin_ratio=0.15, - center_pts_per_edge=np.ones((data.shape[1],))) - - # Calclate P on the actual samples with assumption that voronoi cells have - # equal size - (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, d_Tree) - if rank == 0: - print "Consolidating prob" - mdict = dict() - mdict['P1'] = util.get_global_values(P1) - mdict['lam_vol1'] = lam_vol1 - mdict['lem1'] = samples - mdict['io_ptr1'] = io_ptr1 - # Export P - sio.savemat(filename, mdict, do_compression=True) - - """ - num_l_emulate = 1e4 - lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) - print "Finished emulating lambda samples" - - if rank == 0: - mdict['rho_D_M'] = rho_D_M - mdict['d_distr_samples'] = d_distr_samples - mdict['num_l_emulate'] = num_l_emulate - # Export P - sio.savemat(filename, mdict, do_compression=True) - """ - """ - # Calculate P on lambda emulate - (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, - rho_D_M, d_distr_samples, lambda_emulate, d_Tree) - - if rank == 0: - print "Consolidating prob_emulated" - mdict['P0'] = util.get_global_values(P0) - mdict['lem0'] = lem0 - mdict['io_ptr0'] = io_ptr0 - mdict['emulate_ptr0'] = emulate_ptr0 - # Export P - sio.savemat(filename, mdict, do_compression=True) - """ - """ - # Calculate P on the actual samples estimating voronoi cell volume with MC - # integration - (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) - if rank == 0: - print "Consolidating prob_mc" - mdict['P3'] = util.get_global_values(P3) - mdict['lam_vol3'] = lam_vol3 - mdict['io_ptr3'] = io_ptr3 - mdict['emulate_ptr3'] = emulate_ptr3 - # Export P - sio.savemat(filename, mdict, do_compression=True) - """ - -# Post-process and save P and emulated points -ref_nums = [6, 11, 15] # 7, 12, 16 -stations = [1, 4, 5] # 2, 5, 6 - -ref_nums, stations = np.meshgrid(ref_nums, stations) -ref_nums = ref_nums.ravel() -stations = stations.ravel() - -postprocess([0],11) - -#for tnum, stat in zip(ref_nums, stations): -# postprocess([0], tnum) - diff --git a/examples/fromADCIRCMap/Q_3D_parallel.py b/examples/fromADCIRCMap/Q_3D_parallel.py deleted file mode 100644 index cc3bd407..00000000 --- a/examples/fromADCIRCMap/Q_3D_parallel.py +++ /dev/null @@ -1,85 +0,0 @@ -import bet.calculateP.calculateP as calcP -import bet.calculateP.simpleFunP as sfun -import numpy as np -import scipy.io as sio -from bet import util - -from bet.Comm import comm, rank - -# Import "Truth" -mdat = sio.loadmat('Q_3D') -Q = mdat['Q'] -Q_ref = mdat['Q_true'] - -# Import Data -samples = mdat['points'].transpose() -lam_domain = np.array([[-900, 1200], [0.07, .15], [0.1, 0.2]]) - -print "Finished loading data" - -def postprocess(station_nums, ref_num): - - filename = 'P_q'+str(station_nums[0]+1)+'_q'+str(station_nums[1]+1) - if len(station_nums) == 3: - filename += '_q'+str(station_nums[2]+1) - filename += '_ref_'+str(ref_num+1) - - data = Q[:, station_nums] - q_ref = Q_ref[ref_num, station_nums] - - # Create Simple function approximation - # Save points used to parition D for simple function approximation and the - # approximation itself (this can be used to make close comparisions...) - (rho_D_M, d_distr_samples, d_Tree) = sfun.uniform_hyperrectangle(data, - q_ref, bin_ratio=0.15, - center_pts_per_edge=np.ones((data.shape[1],))) - - num_l_emulate = 1e6 - lambda_emulate = calcP.emulate_iid_lebesgue(lam_domain, num_l_emulate) - print "Finished emulating lambda samples" - - # Calculate P on the actual samples estimating voronoi cell volume with MC - # integration - print "Calculating prob_mc" - (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) - - if rank == 0: - mdict = dict() - mdict['rho_D_M'] = rho_D_M - mdict['d_distr_samples'] = d_distr_samples - mdict['lambda_emulate'] = util.get_global_values(lambda_emulate) - mdict['num_l_emulate'] = mdict['lambda_emulate'].shape[1] - mdict['P3'] = util.get_global_values(P3) - mdict['lam_vol3'] = lam_vol3 - mdict['io_ptr3'] = io_ptr3 - mdict['emulate_ptr3'] = emulate_ptr3 - print "Exporting P" - # Export P - sio.savemat(filename, mdict, do_compression=True) - -# Post-process and save P and emulated points -ref_num = 14 - -# q1, q5, q2 ref 15 -station_nums = [0, 4, 1] # 1, 5, 2 -postprocess(station_nums, ref_num) - -""" -# q1, q5 ref 15 -station_nums = [0, 4] # 1, 5 -postprocess(station_nums, ref_num) - -# q1, q5, q12 ref 16 -station_nums = [0, 4, 11] # 1, 5, 12 -postprocess(station_nums, ref_num) - - -station_nums = [0, 8, 6] # 1, 5, 12 -postprocess(station_nums, ref_num) - - -station_nums = [0, 8, 11] # 1, 5, 12 -postprocess(station_nums, ref_num) -""" - diff --git a/examples/fromADCIRCMap/Q_3D_serial.py b/examples/fromADCIRCMap/Q_3D_serial.py index 4840c815..29f15cad 100644 --- a/examples/fromADCIRCMap/Q_3D_serial.py +++ b/examples/fromADCIRCMap/Q_3D_serial.py @@ -36,14 +36,13 @@ def postprocess(station_nums, ref_num): # Calclate P on the actual samples with assumption that voronoi cells have # equal size - (P1, lam_vol1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, d_Tree) + (P1, lam_vol1, io_ptr1) = calcP.prob(samples, data, rho_D_M, + d_distr_samples, d_Tree) print "Calculating prob" mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 mdict['lem1'] = samples mdict['io_ptr1'] = io_ptr1 - mdict['emulate_ptr1'] = emulate_ptr1 # Export P and compare to MATLAB solution visually sio.savemat(filename, mdict, do_compression=True) @@ -55,6 +54,7 @@ def postprocess(station_nums, ref_num): station_nums = [0, 4, 1] # 1, 5, 2 postprocess(station_nums, ref_num) +""" # q1, q5 ref 15 station_nums = [0, 4] # 1, 5 postprocess(station_nums, ref_num) @@ -71,5 +71,5 @@ def postprocess(station_nums, ref_num): station_nums = [0, 8, 11] # 1, 5, 12 postprocess(station_nums, ref_num) - +""" From cd60ec82a3f7bb576a7574171bf153d9e11ab97a Mon Sep 17 00:00:00 2001 From: Steve Mattis Date: Fri, 15 May 2015 12:43:45 -0500 Subject: [PATCH 83/85] Adds copyright to files --- bet/Comm.py | 2 ++ bet/__init__.py | 2 ++ bet/calculateP/__init__.py | 2 ++ bet/calculateP/calculateP.py | 2 ++ bet/calculateP/simpleFunP.py | 2 ++ bet/calculateP/voronoiHistogram.py | 2 ++ bet/postProcess/__init__.py | 2 ++ bet/postProcess/plotDomains.py | 2 ++ bet/postProcess/plotP.py | 2 ++ bet/postProcess/postTools.py | 2 ++ bet/sampling/__init__.py | 2 ++ bet/sampling/adaptiveSampling.py | 2 ++ bet/sampling/basicSampling.py | 2 ++ bet/util.py | 2 ++ doc/conf.py | 2 ++ examples/fromADCIRCMap/Q_1D_serial.py | 2 ++ examples/fromADCIRCMap/Q_2D_parallel.py | 2 ++ examples/fromADCIRCMap/Q_2D_serial.py | 2 ++ examples/fromADCIRCMap/Q_3D_serial.py | 2 ++ examples/fromADCIRCMap/adaptive_2D.py | 3 +++ examples/fromADCIRCMap/adaptive_3D.py | 3 +++ examples/fromFileMap/fromFile2D.py | 3 +++ examples/fromFileMap/sandbox_test_2D.py | 3 +++ examples/fromFileMap/sandbox_test_3D.py | 3 +++ examples/linearMap/linearMapUniformSampling.py | 3 +++ setup.py | 3 +++ test/__init__.py | 2 ++ test/test_Comm.py | 2 ++ test/test_calculateP/__init__.py | 2 ++ test/test_calculateP/test_calculateP.py | 2 ++ test/test_calculateP/test_simpleFunP.py | 2 ++ test/test_calculateP/test_voronoiHistogram.py | 2 ++ test/test_postProcess/test_plotDomains.py | 2 ++ test/test_postProcess/test_plotP.py | 2 ++ test/test_postProcess/test_postTools.py | 2 ++ test/test_sampling/__init__.py | 2 ++ test/test_sampling/test_adaptiveSampling.py | 2 ++ test/test_sampling/test_basicSampling.py | 2 ++ test/test_util.py | 2 ++ 39 files changed, 85 insertions(+) mode change 100755 => 100644 examples/fromADCIRCMap/adaptive_2D.py mode change 100755 => 100644 examples/fromADCIRCMap/adaptive_3D.py mode change 100755 => 100644 examples/fromFileMap/fromFile2D.py mode change 100755 => 100644 examples/fromFileMap/sandbox_test_2D.py mode change 100755 => 100644 examples/fromFileMap/sandbox_test_3D.py diff --git a/bet/Comm.py b/bet/Comm.py index e7c69c04..20684abf 100644 --- a/bet/Comm.py +++ b/bet/Comm.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This module provides a workaround for people without mpi4py installed to run BET. diff --git a/bet/__init__.py b/bet/__init__.py index 8f8838d3..9d87ac59 100644 --- a/bet/__init__.py +++ b/bet/__init__.py @@ -1 +1,3 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + __all__ = ['sampling', 'calculateP', 'postProcess', 'loadBalance', 'util','Comm'] diff --git a/bet/calculateP/__init__.py b/bet/calculateP/__init__.py index 5bd16370..de72a3b3 100644 --- a/bet/calculateP/__init__.py +++ b/bet/calculateP/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + r""" This subpackage provides classes and methods for calulating the probability measure :math:`P_{\Lambda}`. diff --git a/bet/calculateP/calculateP.py b/bet/calculateP/calculateP.py index 232205a1..40dc6b53 100644 --- a/bet/calculateP/calculateP.py +++ b/bet/calculateP/calculateP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + r""" This module provides methods for calulating the probability measure :math:`P_{\Lambda}`. diff --git a/bet/calculateP/simpleFunP.py b/bet/calculateP/simpleFunP.py index 9819ffde..e2340194 100644 --- a/bet/calculateP/simpleFunP.py +++ b/bet/calculateP/simpleFunP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This module provides methods for creating simple funciton approximations to be used by :mod:`~bet.calculateP.calculateP`. diff --git a/bet/calculateP/voronoiHistogram.py b/bet/calculateP/voronoiHistogram.py index b7932168..28eac24f 100644 --- a/bet/calculateP/voronoiHistogram.py +++ b/bet/calculateP/voronoiHistogram.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- """ This module provides methods for creating the edges and generating point for diff --git a/bet/postProcess/__init__.py b/bet/postProcess/__init__.py index 3fc54256..e1ff3ea1 100644 --- a/bet/postProcess/__init__.py +++ b/bet/postProcess/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + r""" This subpackage contains diff --git a/bet/postProcess/plotDomains.py b/bet/postProcess/plotDomains.py index 4fe1f84a..2ff1a5d3 100644 --- a/bet/postProcess/plotDomains.py +++ b/bet/postProcess/plotDomains.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This module provides methods used to plot two-dimensional domains and/or two-dimensional slices/projections of domains. diff --git a/bet/postProcess/plotP.py b/bet/postProcess/plotP.py index 30331548..c3fb9285 100644 --- a/bet/postProcess/plotP.py +++ b/bet/postProcess/plotP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This module provides methods for plotting probabilities. """ diff --git a/bet/postProcess/postTools.py b/bet/postProcess/postTools.py index 8c648298..acb70e61 100644 --- a/bet/postProcess/postTools.py +++ b/bet/postProcess/postTools.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This module provides methods for postprocessing probabilities and data. """ diff --git a/bet/sampling/__init__.py b/bet/sampling/__init__.py index 6c878f87..4e5806f8 100644 --- a/bet/sampling/__init__.py +++ b/bet/sampling/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This subpackage contains diff --git a/bet/sampling/adaptiveSampling.py b/bet/sampling/adaptiveSampling.py index 9557e1f3..fe2bfeb5 100644 --- a/bet/sampling/adaptiveSampling.py +++ b/bet/sampling/adaptiveSampling.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- # Lindley Graham 3/10/2014 """ diff --git a/bet/sampling/basicSampling.py b/bet/sampling/basicSampling.py index b7c4c0e3..c7592f3f 100644 --- a/bet/sampling/basicSampling.py +++ b/bet/sampling/basicSampling.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 4/15/2014 """ This module contains functions for sampling. We assume we are given access to a diff --git a/bet/util.py b/bet/util.py index 9bbe7f80..4f3a0258 100644 --- a/bet/util.py +++ b/bet/util.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ The module contains general tools for BET. """ diff --git a/doc/conf.py b/doc/conf.py index c7de5658..64b3bcd9 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- # # BET documentation build configuration file, created by diff --git a/examples/fromADCIRCMap/Q_1D_serial.py b/examples/fromADCIRCMap/Q_1D_serial.py index 1d16c16d..c0c14ec9 100644 --- a/examples/fromADCIRCMap/Q_1D_serial.py +++ b/examples/fromADCIRCMap/Q_1D_serial.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + import bet.calculateP.calculateP as calcP import bet.calculateP.simpleFunP as sfun import numpy as np diff --git a/examples/fromADCIRCMap/Q_2D_parallel.py b/examples/fromADCIRCMap/Q_2D_parallel.py index 4ee4cec6..79a00ef2 100644 --- a/examples/fromADCIRCMap/Q_2D_parallel.py +++ b/examples/fromADCIRCMap/Q_2D_parallel.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + import bet.calculateP.calculateP as calcP import bet.calculateP.simpleFunP as sfun import numpy as np diff --git a/examples/fromADCIRCMap/Q_2D_serial.py b/examples/fromADCIRCMap/Q_2D_serial.py index 8a18f3c3..56be87dc 100644 --- a/examples/fromADCIRCMap/Q_2D_serial.py +++ b/examples/fromADCIRCMap/Q_2D_serial.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + import bet.calculateP.calculateP as calcP import bet.calculateP.simpleFunP as sfun import numpy as np diff --git a/examples/fromADCIRCMap/Q_3D_serial.py b/examples/fromADCIRCMap/Q_3D_serial.py index 29f15cad..f0a1f0e3 100644 --- a/examples/fromADCIRCMap/Q_3D_serial.py +++ b/examples/fromADCIRCMap/Q_3D_serial.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + import bet.calculateP.calculateP as calcP import bet.calculateP.simpleFunP as sfun import numpy as np diff --git a/examples/fromADCIRCMap/adaptive_2D.py b/examples/fromADCIRCMap/adaptive_2D.py old mode 100755 new mode 100644 index 3a2fb5d4..1922df6d --- a/examples/fromADCIRCMap/adaptive_2D.py +++ b/examples/fromADCIRCMap/adaptive_2D.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # import necessary modules import polyadcirc.run_framework.domain as dom import polyadcirc.run_framework.random_wall_Q as rmw diff --git a/examples/fromADCIRCMap/adaptive_3D.py b/examples/fromADCIRCMap/adaptive_3D.py old mode 100755 new mode 100644 index 8310ece7..e52e3fdd --- a/examples/fromADCIRCMap/adaptive_3D.py +++ b/examples/fromADCIRCMap/adaptive_3D.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # import necessary modules import polyadcirc.run_framework.domain as dom import polyadcirc.run_framework.random_wall_Q as rmw diff --git a/examples/fromFileMap/fromFile2D.py b/examples/fromFileMap/fromFile2D.py old mode 100755 new mode 100644 index 4cb46e57..7c78bf88 --- a/examples/fromFileMap/fromFile2D.py +++ b/examples/fromFileMap/fromFile2D.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # import necessary modules import numpy as np import bet.sampling.adaptiveSampling as asam diff --git a/examples/fromFileMap/sandbox_test_2D.py b/examples/fromFileMap/sandbox_test_2D.py old mode 100755 new mode 100644 index e1fc663e..b9fcb0b3 --- a/examples/fromFileMap/sandbox_test_2D.py +++ b/examples/fromFileMap/sandbox_test_2D.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # import necessary modules import numpy as np import polyadcirc.pyADCIRC.basic as basic diff --git a/examples/fromFileMap/sandbox_test_3D.py b/examples/fromFileMap/sandbox_test_3D.py old mode 100755 new mode 100644 index 93f67e80..db176206 --- a/examples/fromFileMap/sandbox_test_3D.py +++ b/examples/fromFileMap/sandbox_test_3D.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- # import necessary modules import numpy as np diff --git a/examples/linearMap/linearMapUniformSampling.py b/examples/linearMap/linearMapUniformSampling.py index 4798a9a1..d8b28930 100644 --- a/examples/linearMap/linearMapUniformSampling.py +++ b/examples/linearMap/linearMapUniformSampling.py @@ -1,4 +1,7 @@ #! /usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This example generates uniform samples on a 3D grid and evaluates a linear map to a 2d space. Probabilities diff --git a/setup.py b/setup.py index 222021e6..340beff2 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,7 @@ #!/usr/bin/env python + +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + ''' The python script for building the BET package and subpackages. ''' diff --git a/test/__init__.py b/test/__init__.py index 15bdfe52..3c8b769e 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This package contains all of the tests for :program:`BET`. The package structure mirrors the ``bet`` package structure. diff --git a/test/test_Comm.py b/test/test_Comm.py index 3cb98a7e..f2c9f629 100644 --- a/test/test_Comm.py +++ b/test/test_Comm.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 04/07/2015 """ This module contains unittests for :mod:`~bet.Comm` diff --git a/test/test_calculateP/__init__.py b/test/test_calculateP/__init__.py index 076ed6ae..9b590ba6 100644 --- a/test/test_calculateP/__init__.py +++ b/test/test_calculateP/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This package contains all of the tests for :program:`BET`. The package structure mirrors the ``bet`` package structure. diff --git a/test/test_calculateP/test_calculateP.py b/test/test_calculateP/test_calculateP.py index 51d678b3..a70d04b0 100644 --- a/test/test_calculateP/test_calculateP.py +++ b/test/test_calculateP/test_calculateP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Steven Mattis and Lindley Graham 04/06/2015 """ This module contains tests for :module:`bet.calculateP.calculateP`. diff --git a/test/test_calculateP/test_simpleFunP.py b/test/test_calculateP/test_simpleFunP.py index d50faded..d20ef4f1 100644 --- a/test/test_calculateP/test_simpleFunP.py +++ b/test/test_calculateP/test_simpleFunP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 04/09/2015 """ diff --git a/test/test_calculateP/test_voronoiHistogram.py b/test/test_calculateP/test_voronoiHistogram.py index e5a1b85e..20795ee3 100644 --- a/test/test_calculateP/test_voronoiHistogram.py +++ b/test/test_calculateP/test_voronoiHistogram.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- # Lindley Graham 04/12/2015 """ diff --git a/test/test_postProcess/test_plotDomains.py b/test/test_postProcess/test_plotDomains.py index 841e79e6..68a00d77 100644 --- a/test/test_postProcess/test_plotDomains.py +++ b/test/test_postProcess/test_plotDomains.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 04/07/2015 """ This module contains tests for :module:`bet.postProcess.plotDomains`. diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index 3ee69efe..3d244831 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Steven Mattis 04/07/2015 """ This module contains tests for :module:`bet.postProcess.plotP`. diff --git a/test/test_postProcess/test_postTools.py b/test/test_postProcess/test_postTools.py index 59ba6bce..0adc9a30 100644 --- a/test/test_postProcess/test_postTools.py +++ b/test/test_postProcess/test_postTools.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Steven Mattis 04/07/2015 """ This module contains tests for :module:`bet.postProcess.postTools`. diff --git a/test/test_sampling/__init__.py b/test/test_sampling/__init__.py index a45e59be..44d50e56 100644 --- a/test/test_sampling/__init__.py +++ b/test/test_sampling/__init__.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + """ This subpackage contains the test modules for the sampling subpackage. """ diff --git a/test/test_sampling/test_adaptiveSampling.py b/test/test_sampling/test_adaptiveSampling.py index 9bd72918..06ca8b14 100644 --- a/test/test_sampling/test_adaptiveSampling.py +++ b/test/test_sampling/test_adaptiveSampling.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # -*- coding: utf-8 -*- # Lindley Graham 04/07/2015 diff --git a/test/test_sampling/test_basicSampling.py b/test/test_sampling/test_basicSampling.py index 1b9a7d42..53fedf7b 100644 --- a/test/test_sampling/test_basicSampling.py +++ b/test/test_sampling/test_basicSampling.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 04/07/2015 """ This module contains unittests for :mod:`~bet.sampling.basicSampling:` diff --git a/test/test_util.py b/test/test_util.py index c298314b..37f26010 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -1,3 +1,5 @@ +# Copyright (C) 2014-2015 Lindley Graham and Steven Mattis + # Lindley Graham 04/07/2015 """ This module contains unittests for :mod:`~bet.util` From 2042b5dbf619c662033f3061020a40f18a76ec1c Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 13:13:32 -0500 Subject: [PATCH 84/85] updated documentation to match examples --- doc/bet.loadBalance.rst | 30 ---------------------- doc/examples/fromADCIRCMap/Q_1D_serial.rst | 9 +++---- doc/examples/fromADCIRCMap/Q_2D.rst | 6 ++--- doc/examples/fromADCIRCMap/Q_3D.rst | 7 ++--- doc/index.rst | 1 + doc/overview.rst | 6 +---- 6 files changed, 13 insertions(+), 46 deletions(-) delete mode 100644 doc/bet.loadBalance.rst diff --git a/doc/bet.loadBalance.rst b/doc/bet.loadBalance.rst deleted file mode 100644 index 9d0888c6..00000000 --- a/doc/bet.loadBalance.rst +++ /dev/null @@ -1,30 +0,0 @@ -bet.loadBalance package -======================= - -Submodules ----------- - -bet.loadBalance.lb_PADCIRC module ---------------------------------- - -.. automodule:: bet.loadBalance.lb_PADCIRC - :members: - :undoc-members: - :show-inheritance: - -bet.loadBalance.load_balance module ------------------------------------ - -.. automodule:: bet.loadBalance.load_balance - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: bet.loadBalance - :members: - :undoc-members: - :show-inheritance: diff --git a/doc/examples/fromADCIRCMap/Q_1D_serial.rst b/doc/examples/fromADCIRCMap/Q_1D_serial.rst index 79a212f1..1a3c4c25 100644 --- a/doc/examples/fromADCIRCMap/Q_1D_serial.rst +++ b/doc/examples/fromADCIRCMap/Q_1D_serial.rst @@ -91,7 +91,7 @@ Calculate :math:`\hat{\rho}_{\Lambda, j}` where :math:`\mathcal{V}_j` are the voronoi cells defined by :math:`\lambda_{emulate}`:: (P0, lem0, io_ptr0, emulate_ptr0) = calcP.prob_emulated(samples, data, - rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + rho_D_M, d_distr_samples, lambda_emulate, d_Tree) mdict['P0'] = P0 mdict['lem0'] = lem0 mdict['io_ptr0'] = io_ptr0 @@ -101,13 +101,12 @@ Calculate :math:`\hat{\rho}_{\Lambda, j}` where :math:`\mathcal{V}_j` are the voronoi cells defined by :math:`\lambda_{samples}` assume that :math:`\lambda_{samples}` are uniformly distributed and therefore have approximately the same volume:: - (P1, lam_vol1, lem1, io_ptr1, emulate_ptr1) = calcP.prob(samples, data, - rho_D_M, d_distr_samples, lam_domain, d_Tree) + (P1, lam_vol1, lem1, io_ptr1) = calcP.prob(samples, data, + rho_D_M, d_distr_samples, d_Tree) mdict['P1'] = P1 mdict['lam_vol1'] = lam_vol1 mdict['lem1'] = lem1 mdict['io_ptr1'] = io_ptr1 - mdict['emulate_ptr1'] = emulate_ptr1 Calculate :math:`\hat{\rho}_{\Lambda, j}` where :math:`\mathcal{V}_j` are the voronoi cells defined by :math:`\lambda_{samples}` and we approximate the volume of @@ -115,7 +114,7 @@ voronoi cells defined by :math:`\lambda_{samples}` and we approximate the volume :math:`\lambda_{emulate}` to estimate the volume of :math:`\mathcal{V}_j` :: (P3, lam_vol3, lambda_emulate3, io_ptr3, emulate_ptr3) = calcP.prob_mc(samples, - data, rho_D_M, d_distr_samples, lam_domain, lambda_emulate, d_Tree) + data, rho_D_M, d_distr_samples, lambda_emulate, d_Tree) mdict['P3'] = P3 mdict['lam_vol3'] = lam_vol3 mdict['io_ptr3'] = io_ptr3 diff --git a/doc/examples/fromADCIRCMap/Q_2D.rst b/doc/examples/fromADCIRCMap/Q_2D.rst index fc219853..5f4ae1f5 100644 --- a/doc/examples/fromADCIRCMap/Q_2D.rst +++ b/doc/examples/fromADCIRCMap/Q_2D.rst @@ -15,8 +15,8 @@ This example demostrates three different methods to estimate These methods are distinguished primarily by the way :math:`\mathcal{V}_j` are defined and the approximation of the volume of :math:`\mathcal{V}_j`. See -:download:`Q_2D.py -<../../../examples/fromADCIRCMap/Q_2D.py>` for the example source code. Since +:download:`Q_2D_serial.py +<../../../examples/fromADCIRCMap/Q_2D_serial.py>` for the example source code. Since this example is essentially the same as :ref:`q1D` we will only highlight the differences between the two. @@ -44,7 +44,7 @@ Define the refernce solution. We define a region of interest, :math:`R_{ref} \su center_pts_per_edge=np.ones((data.shape[1],))) -Finally, we calculate :math:`\hat{\rho}_{\Lambda, j}` for three reference solutions and the QoI :math:( (q_1,q_2), (q_1, q_5), and (q_1, q_6)) :: +Finally, we calculate :math:`\hat{\rho}_{\Lambda, j}` for three reference solutions and the QoI :math:`( (q_1,q_2), (q_1, q_5)`, and :math:`(q_1, q_6))` :: ref_nums = [6, 11, 15] # 7, 12, 16 stations = [1, 4, 5] # 2, 5, 6 diff --git a/doc/examples/fromADCIRCMap/Q_3D.rst b/doc/examples/fromADCIRCMap/Q_3D.rst index 6d5c19df..2d15f65d 100644 --- a/doc/examples/fromADCIRCMap/Q_3D.rst +++ b/doc/examples/fromADCIRCMap/Q_3D.rst @@ -35,6 +35,8 @@ Also the ``postprocess(station_nums, ref_num)`` function in this case only uses Parallel Example ~~~~~~~~~~~~~~~~ +.. note:: The parallel version of this example has been moved to the development branch. + This example demostrates how to estimate :math:`\hat{\rho}_{\Lambda, j}` using :meth:`~bet.calculateP.calculateP.prob_mc` where @@ -71,11 +73,10 @@ Within the ``postprocess(station_nums, ref_num)`` function in this case we only need to use :meth:`~bet.postProcess.plotP.get_global_values` to concatenate the arrays spread out across the processors into a single array:: - mdict['lambda_emulate'] = util.get_global_values(lambda_emulate) mdict['num_l_emulate'] = mdict['lambda_emulate'].shape[1] mdict['P3'] = util.get_global_values(P3) - mdict['lam_vol3'] = util.get_global_values(lam_vol3) - mdict['io_ptr3'] = util.get_global_values(io_ptr3) + mdict['lam_vol3'] = lam_vol3 + mdict['io_ptr3'] = io_ptr3 Furthermore, we only want to write out the solution using a single processor:: diff --git a/doc/index.rst b/doc/index.rst index 3b852567..eb29ac0a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -18,6 +18,7 @@ Contents: examples/linearMap/* examples/fromFileMap/* examples/fromADCIRCMap/* + modules todo_list .. todo:: Flesh out documentation. diff --git a/doc/overview.rst b/doc/overview.rst index 26ea4e36..68c37e9f 100644 --- a/doc/overview.rst +++ b/doc/overview.rst @@ -43,7 +43,7 @@ Code Overview -------------- :mod:`calculateP` Package -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: bet.calculateP @@ -57,10 +57,6 @@ Code Overview .. automodule:: bet.postProcess -:mod:`loadBalance` Package -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. automodule:: bet.loadBalance .. seealso:: :ref:`modindex` for detailed documentation of modules, classes, etc. From 7246a38f495caaae33c4fcffc713c392ac3692ee Mon Sep 17 00:00:00 2001 From: Lindley Graham Date: Fri, 15 May 2015 13:15:31 -0500 Subject: [PATCH 85/85] removed a todo --- doc/index.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index eb29ac0a..60d29f84 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -21,8 +21,6 @@ Contents: modules todo_list -.. todo:: Flesh out documentation. -

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%0DLop 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�GqHUJFV1 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�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