mud_examples package#
Subpackages#
- mud_examples.linear package
- Submodules
- mud_examples.linear.lin module
compare_linear_sols()
compare_linear_sols_dim()
compare_linear_sols_rank_list()
compare_mud_map_pin()
contour_example()
main()
main_contours()
main_dim()
main_meas()
main_meas_var()
main_rank()
run()
run_meas()
run_meas_var()
setup_logging()
transform_dim_out()
transform_measurements()
transform_rank_list()
- mud_examples.linear.models module
- Module contents
Submodules#
mud_examples.experiments module#
- mud_examples.experiments.experiment_equipment(fun, num_measure, sd_vals, num_trials, seed=21)[source]#
Fixed number of sensors, varying the quality of equipment.
- mud_examples.experiments.experiment_measurements(fun, num_measurements, sd, num_trials, seed=21)[source]#
Fixed sensors, varying how much data is incorporated into the solution.
mud_examples.models module#
mud_examples.monomial module#
mud_examples.ode module#
- mud_examples.ode.main_ode(num_trials=20, fsize=32, seed=21, lam_true=0.5, domain=[[0, 1]], tolerances=[0.1], time_ratios=[0.01, 1], alt=False, bayes=True)[source]#
>>> from mud_examples.ode import main_ode >>> res = main_ode(num_trials=5, time_ratios=[0.01, 0.1, 1]) Will run simulations for %T=[0.01, 0.1, 1] Running example: mud Measurements: [2, 20, 200] Plotting decay solution. Running example: map Measurements: [2, 20, 200] Plotting decay solution.
mud_examples.parsers module#
mud_examples.pde module#
- mud_examples.pde.main_pde(num_trials=20, tolerances=[0.1], measurements=[20, 100, 500], fsize=32, seed=21, lam_true=-3.0, input_dim=2, dist='u', sample_dist='u', num_samples=None, sample_tol=0.95, alt=True, bayes=True, **kwargs)[source]#
**kwargs are used for the setting of the initial distribution. >>> res = main_pde(num_trials=3) Attempt run for measurements = [20, 100, 500] Running example: mud Running example: mud-alt Running example: map
>>> res = main_pde(num_trials=3, dist='n') Attempt run for measurements = [20, 100, 500] Running example: mud Running example: mud-alt Running example: map
>>> res = main_pde(num_trials=3, dist='n', sample_dist='n', sample_tol=0.99) Attempt run for measurements = [20, 100, 500] Running example: mud Running example: mud-alt Running example: map
mud_examples.plotting module#
- mud_examples.plotting.plot_contours(A, ref_param, subset=None, color='k', ls=':', lw=1, fs=20, w=1, s=100, **kwds)[source]#
mud_examples.poisson module#
- mud_examples.poisson.dist_from_fname(fname)[source]#
Function that infers distribution used to generate samples from the filename It looks for a letter before .pkl, i.e. ..n.pkl -> normal distribution.
- mud_examples.poisson.eval_boundary_piecewise(u, n, d=1)[source]#
Takes an Expression u (on unit domain) and returns the string for another expression based on evaluating a piecewise-linear approximation. The mesh is equispaced into n intervals.
- mud_examples.poisson.evaluate_and_save_poisson(sample, save_prefix)[source]#
sample is a tuple (index, gamma)
- mud_examples.poisson.gamma_boundary_condition(gamma=-3)[source]#
Defines boundary condition parameterized by either a scalar or list/iterable. In the latter case, piecewise-interpolation on an equispaced grid over the interior of (0, 1). In the former, the scalar defines the minimum displacement value of the boundary condition.
- mud_examples.poisson.main(args)[source]#
Main entry point allowing external calls. Generates PDE data (requires fenics to be installed)
- Parameters:
args ([str]) – command line parameter list
- mud_examples.poisson.make_map_wrapper(domain, lam, qoi, qoi_true, log=False, dist=<scipy.stats._continuous_distns.norm_gen object>, **kwargs)[source]#
Anonymous function
- mud_examples.poisson.make_mud_wrapper(domain, lam, qoi, qoi_true, indices=None, sample_dist='u', dist=<scipy.stats._continuous_distns.norm_gen object>, **kwargs)[source]#
Anonymous function
- mud_examples.poisson.make_reproducible_without_fenics(example='mud', lam_true=-3, input_dim=2, sample_dist='u', sample_tol=0.95, num_samples=None, num_measure=100)[source]#
(Currently) requires XML data to be on disk, simulates sensors and saves everything required to one pickle file.
- mud_examples.poisson.parse_args(args)[source]#
Parse command line parameters
- Parameters:
args ([str]) – command line parameters as list of strings
- Returns:
command line parameters namespace
- Return type:
- class mud_examples.poisson.pdeProblem(fname=None)[source]#
Bases:
object
- property dist#
- property domain#
- property g#
- property lam#
- property lam_ref#
- property qoi#
- property qoi_ref#
- property sample_dist#
- property sensors#
- property u#
- mud_examples.poisson.piecewise_eval_from_vector(u, d=1)[source]#
Takes an iterable u with y-values (on interior of equispaced unit domain) and returns the string for an expression based on evaluating a piecewise-linear approximation through these points.
- mud_examples.poisson.plot_without_fenics(fname, num_sensors=None, num_qoi=2, mode='sca', fsize=36, example=None)[source]#
- mud_examples.poisson.poissonModel(gamma=-3, mesh=None, width=1, nx=36, ny=36)[source]#
gamma is scaling parameter for left boundary condition n_x and n_y are the number of elements for the horizontal/vertical axes of the mesh
mud_examples.runner module#
- mud_examples.runner.run_linear()[source]#
Recreates Contour figures in MUD paper. >>> run_linear() Running Linear Examples. >>> import os; os.system(‘rm -rf figures/’) 0
- mud_examples.runner.run_monomial()[source]#
Recreates Contour figures in MUD paper. >>> run_monomial() Running BIP vs SIP Comparison (1D). >>> import os; os.system(‘rm -rf figures/’) 0
- mud_examples.runner.run_ode()[source]#
Recreates Poisson figures in MUD paper.
>>> run_ode() Will run simulations for %T=[0.125, 0.25, 0.5, 1.0] Running example: mud Measurements: [25, 50, 100, 200] Plotting decay solution. Running example: map Measurements: [25, 50, 100, 200] Plotting decay solution. Plotting experiments involving increasing # of measurements. >>> import os; os.system('rm -rf figures/') 0
mud_examples.summary module#
- mud_examples.summary.extract_statistics(solutions, reference_value)[source]#
Extracts experiment statistics from solutions set Assumes keys of dictionary are sample sizes, and each value is a list containing solutions for each trial.
>>> S = {2: [1, 1, 1], 4: [1, 1, 1]} >>> means, vars = extract_statistics(S, 0) >>> print(means) [1.0, 1.0] >>> print(vars) [0.0, 0.0]
mud_examples.utils module#
- class mud_examples.utils.LazyLoader(module_name='utensor_cgen', submod_name=None)[source]#
Bases:
module
- mud_examples.utils.make_2d_normal_mesh(N=50, window=1)[source]#
Constructs mesh based on normal distribution to discretize each axis. >>> from mud_examples.utils import make_2d_normal_mesh >>> x, y, XX = make_2d_normal_mesh(3) >>> print(XX) [[-1. -1.]
[ 0. -1.] [ 1. -1.] [-1. 0.] [ 0. 0.] [ 1. 0.] [-1. 1.] [ 0. 1.] [ 1. 1.]]
- mud_examples.utils.make_2d_unit_mesh(N=50, window=1)[source]#
Constructs mesh based on uniform distribution to discretize each axis. >>> from mud_examples.utils import make_2d_unit_mesh >>> x, y, XX = make_2d_unit_mesh(3) >>> print(XX) [[0. 0. ]
[0.5 0. ] [1. 0. ] [0. 0.5] [0.5 0.5] [1. 0.5] [0. 1. ] [0.5 1. ] [1. 1. ]]