volumential.symbolic#

Symbolic (pymbolic) building blocks for analytic fields.

This module owns

volumential.symbolic.CL_MATH_URL = 'https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html'#

Documentation of the OpenCL math functions listed in CL_MATH_FUNCS.

volumential.symbolic.CL_MATH_FUNCS = ['acos', 'acosh', 'acospi', 'asin', 'asinh', 'asinpi', 'atan', 'atan2', 'atanh', 'atanpi', 'atan2pi', 'cbrt', 'ceil', 'copysign', 'cos', 'cosh', 'cospi', 'erfc', 'erf', 'exp', 'exp2', 'exp10', 'expm1', 'fabs', 'fdim', 'floor', 'fma', 'fmax', 'fmin', 'fmod', 'fract', 'frexp', 'hypot', 'ilogb', 'ldexp', 'lgamma', 'lgamma_r', 'log', 'log2', 'log10', 'log1p', 'logb', 'mad', 'modf', 'nan', 'nextafter', 'pow', 'pown', 'powr', 'remainder', 'remquo', 'rint', 'rootn', 'round', 'rsqrt', 'sin', 'sincos', 'sinh', 'sinpi', 'sqrt', 'tan', 'tanh', 'tanpi', 'tgamma', 'trunc']#

Names of the OpenCL math functions that are exposed as module-level symbols, each building a math.<name>(...) pymbolic call node.

volumential.symbolic.x = Variable('x')#

The symbolic first coordinate variable.

volumential.symbolic.y = Variable('y')#

The symbolic second coordinate variable.

volumential.symbolic.z = Variable('z')#

The symbolic third coordinate variable.

volumential.symbolic.der_laplacian(func, coord_vars: Sequence[str] | None = None)[source]#

Return the symbolic Laplacian of func in the given coordinates.

Parameters:
  • func – a pymbolic expression.

  • coord_vars – names of the coordinate variables, ("x", "y", "z") by default.

volumential.symbolic.math_func_mangler(target, name, arg_dtypes)[source]#

Return loopy call-mangling info for math.<name> lookups.

Returns:

a loopy.CallMangleInfo, or None if name is not a single-argument math lookup.

volumential.symbolic.get_evaluator(dim: int, expression, variables=None) → ScalarFieldExpressionEvaluation[source]#

Return an evaluator for expression over dim-dimensional points.

Parameters:
  • expression – a pymbolic expression in variables.

  • variables – coordinate variables, defaulting to x, y and z truncated to dim.

volumential.symbolic.acos(x)#

CL math function acos.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.acosh(x)#

CL math function acosh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.acospi(x)#

CL math function acospi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.asin(x)#

CL math function asin.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.asinh(x)#

CL math function asinh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.asinpi(x)#

CL math function asinpi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.atan(x)#

CL math function atan.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.atan2(x)#

CL math function atan2.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.atan2pi(x)#

CL math function atan2pi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.atanh(x)#

CL math function atanh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.atanpi(x)#

CL math function atanpi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.cbrt(x)#

CL math function cbrt.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.ceil(x)#

CL math function ceil.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.copysign(x)#

CL math function copysign.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.cos(x)#

CL math function cos.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.cosh(x)#

CL math function cosh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.cospi(x)#

CL math function cospi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.erf(x)#

CL math function erf.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.erfc(x)#

CL math function erfc.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.exp(x)#

CL math function exp.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.exp10(x)#

CL math function exp10.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.exp2(x)#

CL math function exp2.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.expm1(x)#

CL math function expm1.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fabs(x)#

CL math function fabs.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fdim(x)#

CL math function fdim.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.floor(x)#

CL math function floor.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fma(x)#

CL math function fma.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fmax(x)#

CL math function fmax.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fmin(x)#

CL math function fmin.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fmod(x)#

CL math function fmod.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.fract(x)#

CL math function fract.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.frexp(x)#

CL math function frexp.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.hypot(x)#

CL math function hypot.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.ilogb(x)#

CL math function ilogb.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.ldexp(x)#

CL math function ldexp.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.lgamma(x)#

CL math function lgamma.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.lgamma_r(x)#

CL math function lgamma_r.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.log(x)#

CL math function log.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.log10(x)#

CL math function log10.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.log1p(x)#

CL math function log1p.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.log2(x)#

CL math function log2.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.logb(x)#

CL math function logb.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.mad(x)#

CL math function mad.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.modf(x)#

CL math function modf.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.nan(x)#

CL math function nan.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.nextafter(x)#

CL math function nextafter.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.pow(x)#

CL math function pow.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.pown(x)#

CL math function pown.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.powr(x)#

CL math function powr.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.remainder(x)#

CL math function remainder.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.remquo(x)#

CL math function remquo.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.rint(x)#

CL math function rint.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.rootn(x)#

CL math function rootn.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.round(x)#

CL math function round.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.rsqrt(x)#

CL math function rsqrt.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.sin(x)#

CL math function sin.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.sincos(x)#

CL math function sincos.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.sinh(x)#

CL math function sinh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.sinpi(x)#

CL math function sinpi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.sqrt(x)#

CL math function sqrt.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.tan(x)#

CL math function tan.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.tanh(x)#

CL math function tanh.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.tanpi(x)#

CL math function tanpi.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.tgamma(x)#

CL math function tgamma.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.

volumential.symbolic.trunc(x)#

CL math function trunc.

See https://registry.khronos.org/OpenCL/sdk/1.0/docs/man/xhtml/mathFunctions.html for details.