IMLCV.tools package#

Submodules#

IMLCV.tools.bessel_callback module#

IMLCV.tools.bessel_callback.generate_bessel(function, type, sign=1, exp_scaled=False)#
IMLCV.tools.bessel_callback.i_recurrence(n, z, half=True)#
IMLCV.tools.bessel_callback.ie_n_jvp(n, half, forward, primals, tangents)#
IMLCV.tools.bessel_callback.ie_n_recurrence_pattern(n, z, half=False)#
Return type:

Array

IMLCV.tools.bessel_callback.ie_n_recurrence_pattern_unstalbe(n, z, half=False)#
Return type:

Array

IMLCV.tools.bessel_callback.spherical_jn_jvp(n, forward, primals, tangents)#
Return type:

tuple[Array, Array]

IMLCV.tools.bessel_callback.spherical_jn_recurrence(n, z)#
IMLCV.tools.bessel_callback.spherical_jn_recurrence_pattern(n, z)#
IMLCV.tools.bessel_callback.spherical_jn_recurrence_pattern_unstable(n, z)#

IMLCV.tools.bessel_jn module#

IMLCV.tools.bessel_jn.besseljn_backward_recurrence_cutoff(v, z)#

Helper function to determine when backward recurrence reaches overflow based on the dtype of the input argument

IMLCV.tools.bessel_jn.besseljn_jvp(v, primals, tangents)#
IMLCV.tools.bessel_jn.j0_large(x)#

Implementation of J0 for x >= 5

IMLCV.tools.bessel_jn.j0_small(x)#

Implementation of J0 for x < 5

IMLCV.tools.bessel_jn.j1_large(x)#

Implementation of J1 for x > 5

IMLCV.tools.bessel_jn.j1_small(x)#

Implementation of J1 for x < 5

IMLCV.tools.soap_kernel module#

IMLCV.tools.soap_kernel.p_i(sp, nl, f_single, f_double, r_cut, chunk_size_neigbourgs=None, chunk_size_atoms=None, chunk_size_batch=None, shmap=False, shmap_kwargs=ShmapKwargs(axis=0, out_axes=0, axis_name='i', n_devices=None, pmap=False, explicit_shmap=False, verbose=False, device_get=True, devices=(CpuDevice(id=0),), mesh=Mesh(device_ids=array([0]), axis_names=('i',), axis_types=(Auto,))), merge_ZZ=True, reshape=True, mul_Z=True)#
IMLCV.tools.soap_kernel.p_inl_sb(l_max, n_max, r_cut, bessel_fun='jax')#
IMLCV.tools.soap_kernel.p_innl_soap(l_max, n_max, r_cut, sigma_a, r_delta, num=100, basis='gto', reduce=True)#

IMLCV.tools.spherical_bessel module#

IMLCV.tools.spherical_bessel.csphjy_jvp(n, primals, tangents)#
IMLCV.tools.spherical_bessel.envj(n, x)#

Helper function for msta1 and msta2.

IMLCV.tools.spherical_bessel.jint(n)#
IMLCV.tools.spherical_bessel.msta1(x, mp)#

Calculate the number of terms required for the spherical Bessel function.

IMLCV.tools.spherical_bessel.msta2(x, n, mp)#

Calculate the number of terms required for the spherical Bessel function.

IMLCV.tools.spherical_bessel.spb1(x, /)#

Calculate the spherical Bessel functions j_1(z). Follows existing implementation of jnp.sinc for safety around 0, using a Maclaurin series to keep continuous derivatives.

Parameters:

x (Union[Array, ndarray, bool_, number, bool, int, float, complex]) – The argument of the function.

Returns:

The function j_1(z).

Return type:

csj

IMLCV.tools.tools module#

class IMLCV.tools.tools.HashableArrayWrapper(val)#

Bases: Generic[T]

see google/jax#4572

Module contents#