volumential.symbolic#
Symbolic (pymbolic) building blocks for analytic fields.
This module owns
one wrapper per OpenCL math function (
CL_MATH_FUNCS), each producing amath.<name>(x)pymboliccall node,der_laplacian()for symbolic Laplacians, andmath_func_mangler()/get_evaluator(), which connect such expressions tovolumential.expression_eval.ScalarFieldExpressionEvaluation.
- 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>(...)pymboliccall 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
pymbolicexpression.coord_vars – names of the coordinate variables,
("x", "y", "z")by default.
- volumential.symbolic.math_func_mangler(target, name, arg_dtypes)[source]#
Return
loopycall-mangling info formath.<name>lookups.- Returns:
a
loopy.CallMangleInfo, or None if name is not a single-argumentmathlookup.
- volumential.symbolic.get_evaluator(dim: int, expression, variables=None) ScalarFieldExpressionEvaluation[source]#
Return an evaluator for expression over dim-dimensional points.
- 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.