
    i                     :    S r SSKrSSKJr  SS/rSqS rS rS	 r	g)
zJ
Required functions for optimized contractions of numpy arrays using jax.
    N   )to_backend_cache_wrapbuild_expressionevaluate_constantsc                  `    [         c"  SS Kn [        U R                  S 5       5       nX4q [         $ )Nr   c                     U $ N )xs    W/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/opt_einsum/backends/jax.pyto_jax#_get_jax_and_to_jax.<locals>.to_jax   s	     H    )_JAXjaxr   jit)r   r   s     r   _get_jax_and_to_jaxr      s6    |			 
 
	 {Kr   c                 b   ^ [        5       u  p UR                  UR                  5      mU4S jnU$ )z;Build a jax function based on ``arrays`` and ``expr``.
    c                  <   > [         R                  " T" U 5      5      $ r	   )npasarray)arraysjax_exprs    r   jax_contract&build_expression.<locals>.jax_contract%   s    zz(6*++r   )r   r   	_contract)_exprr   r   r   s       @r   r   r      s.     !"FCwwt~~&H, r   c                 b    [        5       u  p#U" U  Vs/ s H
  oC" U5      PM     snSSS.6$ s  snf )zZConvert constant arguments to jax arrays, and perform any possible
constant contractions.
r   T)backendr   )r   )const_arraysr   r   r   r   s        r   r   r   +   s4     &'KC\2\&)\2EVZ[[2s   ,)
__doc__numpyr   sharingr   __all__r   r   r   r   r
   r   r   <module>r&      s4     +3
4 
\r   