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.spherical_jn_jvp(n, forward, primals, tangents)#
- 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.
IMLCV.tools.tools module#
- class IMLCV.tools.tools.HashableArrayWrapper(val)#
-
see google/jax#4572