>>> import eko
>>> sx = eko.harmonics.compute_cache(3, 5,True)
>>> eko.anomalous_dimensions.as4.ggg.gamma_gg_nf0(3,sx)
/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/ir_utils.py:2152: NumbaPendingDeprecationWarning:
Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'sx' of function 'gamma_gg_nf0'.
For more information visit https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types
File "../eko/src/eko/anomalous_dimensions/as4/ggg.py", line 202:
@nb.njit(cache=True)
def gamma_gg_nf0(n, sx):
^
warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 487, in _compile_for_args
raise e
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 420, in _compile_for_args
return_val = self.compile(tuple(argtypes))
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 965, in compile
cres = self._compiler.compile(args, return_type)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 125, in compile
status, retval = self._compile_cached(args, return_type)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 139, in _compile_cached
retval = self._compile_core(args, return_type)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/dispatcher.py", line 152, in _compile_core
cres = compiler.compile_extra(self.targetdescr.typing_context,
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler.py", line 693, in compile_extra
return pipeline.compile_extra(func)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler.py", line 429, in compile_extra
return self._compile_bytecode()
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler.py", line 497, in _compile_bytecode
return self._compile_core()
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler.py", line 476, in _compile_core
raise e
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler.py", line 463, in _compile_core
pm.run(self.state)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 353, in run
raise patched_exception
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 341, in run
self._runPass(idx, pass_inst, state)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35, in _acquire_compile_lock
return func(*args, **kwargs)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 296, in _runPass
mutated |= check(pss.run_pass, internal_state)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 269, in check
mangled = func(compiler_state)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/typed_passes.py", line 396, in run_pass
lower.create_cpython_wrapper(flags.release_gil)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/lowering.py", line 305, in create_cpython_wrapper
self.context.create_cpython_wrapper(self.library, self.fndesc,
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/cpu.py", line 183, in create_cpython_wrapper
builder.build()
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/callwrapper.py", line 123, in build
self.build_wrapper(api, builder, closure, args, kws)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/callwrapper.py", line 156, in build_wrapper
val = cleanup_manager.add_arg(builder.load(obj), ty)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/callwrapper.py", line 59, in add_arg
cleanup_arg()
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/callwrapper.py", line 41, in cleanup_arg
self.api.reflect_native_value(ty, native.value, self.env_manager)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/pythonapi.py", line 1431, in reflect_native_value
impl(typ, val, c)
File "/project/theorie/gmagni/miniconda3/envs/n3lo_fit/lib/python3.10/site-packages/numba/core/boxing.py", line 755, in reflect_list
raise TypeError(msg)
TypeError: Failed in nopython mode pipeline (step: native lowering)
cannot reflect element of reflected container: reflected list(reflected list(complex128)<iv=None>)<iv=None>
Explicit call of a function that has a list of list as input doesn't work with
numba:Possible solution is to promote the cache to be a regular
numpy.ndarrayadding some zeros. A bit cleaner but more complex would be to pass a dictionary.Note that calling functions that don't need
compute_cacheas input works fine.