1r"""Collection of quadrature methods.""" 2import logging 3from functools import wraps 4 5from .frontend import generate_quadrature 6from .sparse_grid import sparse_grid 7from .utils import combine 8 9from .chebyshev import chebyshev_1, chebyshev_2 10from .clenshaw_curtis import clenshaw_curtis 11from .discrete import discrete 12from .fejer_1 import fejer_1 13from .fejer_2 import fejer_2 14from .gaussian import gaussian 15from .genz_keister import ( 16 genz_keister_16, genz_keister_18, genz_keister_22, genz_keister_24) 17from .gegenbauer import gegenbauer 18from .grid import grid 19from .hermite import hermite 20from .jacobi import jacobi 21from .kronrod import kronrod, kronrod_jacobi 22from .laguerre import laguerre 23from .legendre import legendre, legendre_proxy 24from .leja import leja 25from .lobatto import lobatto 26from .newton_cotes import newton_cotes 27from .patterson import patterson 28from .radau import radau 29 30__all__ = ["generate_quadrature", "sparse_grid", "combine"] 31 32 33INTEGRATION_COLLECTION = { 34 "clenshaw_curtis": clenshaw_curtis, 35 "discrete": discrete, 36 "fejer_1": fejer_1, 37 "fejer_2": fejer_2, 38 "gaussian": gaussian, 39 "genz_keister_16": genz_keister_16, 40 "genz_keister_18": genz_keister_18, 41 "genz_keister_22": genz_keister_22, 42 "genz_keister_24": genz_keister_24, 43 "grid": grid, 44 "kronrod": kronrod, 45 "legendre": legendre_proxy, 46 "leja": leja, 47 "lobatto": lobatto, 48 "newton_cotes": newton_cotes, 49 "patterson": patterson, 50 "radau": radau, 51} 52 53 54def quadrature_deprecation_warning(name, func): 55 """Announce deprecation warning for quad-func.""" 56 quad_name = "quad_%s" % name 57 58 @wraps(func) 59 def wrapped(*args, **kwargs): 60 """Function wrapper adds warnings.""" 61 logger = logging.getLogger(__name__) 62 logger.warning("chaospy.%s name is to be deprecated; " 63 "Use chaospy.quadrature.%s instead", 64 quad_name, func.__name__) 65 return func(*args, **kwargs) 66 67 globals()[quad_name] = wrapped 68 __all__.append(quad_name) 69 70quadrature_deprecation_warning("clenshaw_curtis", clenshaw_curtis) 71quadrature_deprecation_warning("discrete", discrete) 72quadrature_deprecation_warning("fejer", fejer_2) 73quadrature_deprecation_warning("grid", grid) 74quadrature_deprecation_warning("gaussian", gaussian) 75quadrature_deprecation_warning("newton_cotes", newton_cotes) 76quadrature_deprecation_warning("leja", leja) 77quadrature_deprecation_warning("gauss_legendre", legendre_proxy) 78quadrature_deprecation_warning("gauss_kronrod", kronrod) 79quadrature_deprecation_warning("gauss_lobatto", lobatto) 80quadrature_deprecation_warning("gauss_patterson", patterson) 81quadrature_deprecation_warning("gauss_radau", radau) 82quadrature_deprecation_warning("genz_keister", genz_keister_24) 83