Source code for equadratures.quadrature

"""The samples template."""
from equadratures.sampling_methods.montecarlo import Montecarlo
from equadratures.sampling_methods.tensorgrid import Tensorgrid
from equadratures.sampling_methods.sparsegrid import Sparsegrid
from equadratures.sampling_methods.userdefined import Userdefined
from equadratures.sampling_methods.induced import Induced
from equadratures.sampling_methods.sampling_template import Sampling
import numpy as np
[docs]class Quadrature(object): """ The class defines a Sampling object. It serves as a template for all sampling methodologies. Parameters ---------- parameters : list A list of parameters, where each element of the list is an instance of the Parameter class. basis : Basis An instance of the Basis class corresponding to the multi-index set used. points : numpy.ndarray Array containing the quadrature points. mesh : numpy.ndarray Description needed. corr : numpy.ndarray, optional Description needed. oversampling : float, optional Description needed. """ def __init__(self, parameters, basis, points, mesh, corr=None, oversampling=7.0): self.parameters = parameters self.basis = basis self.points = points self.mesh = mesh if self.mesh.lower() == 'tensor-grid' or self.mesh.lower() == 'univariate': self.samples = Tensorgrid(self.parameters, self.basis) self.list = None elif self.mesh.lower() == 'sparse-grid': self.samples = Sparsegrid(self.parameters, self.basis) self.list = self.samples.tensor_product_list self.sparse_weights = self.samples.sparse_weights elif self.mesh.lower() == 'monte-carlo': self.samples = Montecarlo(self.parameters, self.basis, corr, oversampling) self.list = None elif self.mesh.lower() == 'induced': self.samples = Induced(self.parameters, self.basis) elif self.mesh.lower() == 'user-defined': self.samples = Userdefined(self.parameters, self.basis, self.points) else: error_message()
[docs] def get_points(self): """ Returns the quadrature points. Returns ------- numpy.ndarray Array of quadrature points. """ return self.samples.points
[docs] def get_weights(self): """ Returns the quadrature weights. Returns ------- numpy.ndarray Array of quadrature weights """ return self.samples.weights
[docs] def get_points_and_weights(self): """ Returns the quadrature points and weights. Returns ------- tuple Tuple (points,weights) containing two numpy.ndarray's; the quadrature points and weights. """ return self.samples.points, self.samples.weights
def error_message(): raise ValueError( 'Oh no. Something went wrong in quadrature.py!')