
    i;                     	   S SK rS SKrS SKJrJrJrJrJr  S SK	J
r
JrJr   S SKrSr S SKr\R$                  " 5       rS\R(                  l        Sr S SKrS\R0                  S'   S SKrSr S SKrSr S SKrSr S SKrSr / SQr!\RD                  RG                  \(       + S	S
9\RD                  RI                  S\!5      S 5       5       r%\RD                  RG                  \(       + S	S
9\RD                  RI                  SS S1S S1SS1/5      S 5       5       r&\RD                  RG                  \(       + S	S
9\RD                  RI                  S\!5      S 5       5       r'\RD                  RG                  \(       + SS
9\RD                  RI                  S\!5      S 5       5       r(\RD                  RG                  \(       + SS
9\RD                  RI                  SS S1S S1SS1/5      S 5       5       r)\RD                  RG                  \(       + SS
9\RD                  RI                  S\!5      S 5       5       r*\RD                  RG                  \(       + SS
9\RD                  RI                  S\!5      S 5       5       r+\RD                  RG                  \(       + SS
9\RD                  RI                  SS S1S S1SS1/5      S 5       5       r,\RD                  RG                  \(       + SS
9\RD                  RI                  S\!5      S 5       5       r-\RD                  RG                  \(       + SS
9\RD                  RI                  SS S1S S1SS1/5      S 5       5       r.\RD                  RG                  \(       + SS
9S 5       r/\RD                  RG                  \ (       + SS
9S 5       r0\RD                  RI                  S\!5      S  5       r1\RD                  RI                  S\!5      S! 5       r2\RD                  RG                  \(       + S"S
9\RD                  RI                  S\!5      S# 5       5       r3\RD                  RG                  \(       + S"S
9\RD                  RI                  SS S1S S1SS1/5      S$ 5       5       r4S% r5\RD                  RI                  S\!5      S& 5       r6g! \ a    Sr GNxf = f! \ a    Sr GN^f = f! \ a    Sr GNSf = f! \ a    Sr GN[f = f! \ a    Sr GNcf = f! \ a    Sr  GNkf = f)'    N)backendscontractcontract_expressionhelperssharingShapedinfer_backendparse_backendTFGNUMKL_THREADING_LAYER)z	ab,bc->cazabc,bcd,deazabc,def->fedcbazabc,bcd,df->fazijk,ikjzi,j->ijz	ijk,k->ijz	AB,BC->CAzTensorflow not installed.)reasonstringc                 *   [         R                  " U 5      n[        U /UQ7SSS.6n[        R                  " U5      nU Vs/ s H  oDR
                  PM     nn[        U /UQ7SS06n[        R                  " [        S9nUR                  5          U" USUS.6  S S S 5        UR                  5         [        R                  " X#5      (       d   eU Vs/ s H  n[        R                  " U5      PM     n	nU" U	6   g s  snf ! , (       d  f       Nl= fs  snf )NFoptimizeuse_blasr   Tconfig
tensorflow)backendout)r   build_viewsr   np
empty_likeshaper   tfSession
_TF_CONFIG
as_defaultcloseallcloser   to_tensorflow)
r   viewseinoptvshpsexprsessviewtensorflow_viewss
             ^/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/opt_einsum/tests/test_backends.pytest_tensorflowr.   =   s     'E
6
BE
BEE
BC
--
C"#UGGUD#v<<t<D::Z(D		e\s3 
JJL;;s     BGG..t4G
 $ 
	 Hs   C:
C? D?
D	constants      c                 ,  ^ ^^ SnSn1 SkT -
  u  n[        U5       VVs/ s H*  u  pEUT ;   a  [        R                  R                  " U6 OUPM,     snnm[        R                  R                  " X#   6 m[	        U/U UU4S j[        S5       5       Q76 n[        U/TQ7ST 06n[        R                  " [        S9R                  5          U" TSS	9nS S S 5        [        S
 UR                  S    5       5      (       d   e[        R                  " UW5      (       d   eU" TSS	9n	[        R                  " Xi5      (       d   eU" [        R                  " T5      5      n
[!        U
[        R"                  5      (       d   eg s  snnf ! , (       d  f       N= f)Nij,jk,kl->lir1      r6      )r8         r   r0   r1   c              3   <   >#    U  H  oT;   a  TU   OTv   M     g 7fN .0ir/   opsvars     r-   	<genexpr>1test_tensorflow_with_constants.<locals>.<genexpr>[        Q1I~SV3>   r6   r/   r   r   r   c              3   T   #    U  H  nUS L =(       d    [        U5      S:H  v   M      g 7f)Nr   r
   r?   arrays     r-   rC   rD   b   s.      EC5 }De 4 DDCs   &(numpy)	enumerater   randomrandr   ranger   r   r   r   r    all_evaluated_constantsr"   r   r#   
isinstanceTensorr/   eqshapes	non_constr@   shpres_expr)   res_gotres_got2res_got3rA   rB   s   `          @@r-   test_tensorflow_with_constantsr^   S   sg    
B#FY&JIIRSYIZ
[IZvq1	>299>>3s:IZ
[C
))..&+
,CrRQaQRGr=C=9=D 
:	&	1	1	3sL1 
4 E 55lCE E E E E;;w(((( C)H;;w)))) H**3/0Hh		****' \ 
4	3s   1E?	F
Fc                    [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06n[
        R                  " [        S9nUR                  5          [        R                  " 5        nU" USS06n[        R                  " 5       UL d   e[        U5      n	U	S:  d   eU" USS06n
[        U5      U	:X  d   e S S S 5        S S S 5        [        S	 WR                  5        5       5      (       d   e[        R                   " UW5      (       d   e[        R                   " UW
5      (       d   eg s  snf ! , (       d  f       N= f! , (       d  f       N= f)
NFr   r   Tr   r   r   r   c              3   V   #    U  H  n[        U[        R                  5      v   M!     g 7fr<   )rS   r   rT   r?   ts     r-   rC   /test_tensorflow_with_sharing.<locals>.<genexpr>   s     @Az!RYY''s   '))r   r   r   r   r   r   r   r   r    r   shared_intermediatesget_sharing_cachelenrQ   valuesr   r"   )r   r$   r%   r'   r(   r)   r*   cachetfl1cache_sztfl2s              r-   test_tensorflow_with_sharingrl   o   s?    'E
6
BE
BEE
BC"#UGGUD#v<<t<D::Z(D		G88:eU1L1((*e333u:!||U1L15zX%%% ;	 @@@@@@;;sD!!!!;;sD!!!!! $
 ;:		s*   E9E)AEE)
E&	"E))
E7zTheano not installed.c                    [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06nU" USS06n[
        R                  " X&5      (       d   eU Vs/ s H  n[        R                  " U5      PM     nnU" U6 n	[        U	[        R                  R                  5      (       d   eg s  snf s  snf )NFr   r   Tr   theano)r   r   r   r   r   r   r"   r   	to_theanorS   rn   tensorTensorVariable)
r   r$   r%   r'   r(   r)   r&   r+   theano_views
theano_opts
             r-   test_theanort      s     'E
6
BE
BEE
BC"#UGGUD#v<<t<D

(x
(C;;s     :??H&&t,L?|$Jj&--">">???? $ @s   C: Cztheano not installed.c                   ^ ^^ SnSn1 SkT -
  u  n[        U5       VVs/ s H*  u  pEUT ;   a  [        R                  R                  " U6 OUPM,     snnm[        R                  R                  " X#   6 m[	        U/U UU4S j[        S5       5       Q76 n[        U/TQ7ST 06nU" TSS9n[        S	 UR                  S    5       5      (       d   e[        R                  " Xh5      (       d   eU" TS
S9n	[        R                  " Xi5      (       d   eU" [        R                  " T5      5      n
[        U
[        R                  R                  5      (       d   eg s  snnf )Nr3   r4   r:   c              3   <   >#    U  H  oT;   a  TU   OTv   M     g 7fr<   r=   r>   s     r-   rC   -test_theano_with_constants.<locals>.<genexpr>   rE   rF   r6   r/   rn   rG   c              3   R   #    U  H  oS L =(       d    [        U5      S:H  v   M     g 7f)Nrn   rI   rJ   s     r-   rC   rw      s&     rNqU}@e 4 @@Nq   %'rL   )rM   r   rN   rO   r   rP   r   rQ   rR   r"   r   ro   rS   rn   rp   rq   rU   s   `          @@r-   test_theano_with_constantsrz      s6    
B#FY&JIIRSYIZ
[IZvq1	>299>>3s:IZ
[C
))..&+
,CrRQaQRGr=C=9=D 3)GrdNgNghpNqrrrrr;;w(((( C)H;;w)))) H&&s+,Hh < <====# \s   1Ec                 p   [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06n[
        R                  " 5        nU" USS06n[
        R                  " 5       UL d   e[        U5      nUS:  d   eU" USS06n	[        U5      U:X  d   e S S S 5        [        S WR                  5        5       5      (       d   e[        R                  " UW5      (       d   e[        R                  " UW	5      (       d   eg s  snf ! , (       d  f       Nw= f)	NFr   r   Tr   rn   r   c              3   j   #    U  H)  n[        U[        R                  R                  5      v   M+     g 7fr<   )rS   rn   rp   rq   ra   s     r-   rC   +test_theano_with_sharing.<locals>.<genexpr>   s$     SNqz!V]]99::Ns   13)r   r   r   r   r   r   rd   re   rf   rQ   rg   r   r"   )
r   r$   r%   r'   r(   r)   rh   thn1rj   thn2s
             r-   test_theano_with_sharingr      s    'E
6
BE
BEE
BC"#UGGUD#v<<t<D		%	%	'5U-H-((*e333u:!||U-H-5zX%%% 
( SELLNSSSSS;;sD!!!!;;sD!!!! $ 
(	's   D"&AD''
D5zCupy not installed.c                    [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06nU" USS06n[
        R                  " X&5      (       d   eU Vs/ s H  n[        R                  " U5      PM     nnU" U6 n	[        U	[        R                  5      (       d   e[
        R                  " U[        R                  " U	5      5      (       d   eg s  snf s  snf )NFr   r   Tr   cupy)r   r   r   r   r   r   r"   r   to_cupyrS   r   ndarrayasnumpy)
r   r$   r%   r'   r(   r)   r&   r+   
cupy_viewscupy_opts
             r-   	test_cupyr      s     'E
6
BE
BEE
BC"#UGGUD#v<<t<D

&v
&C;;s     6;;UT(""4(UJ;Z Hh----;;sDLL23333 $ <s   C5: C:c                    ^ ^^ SnSn1 SkT -
  u  n[        U5       VVs/ s H*  u  pEUT ;   a  [        R                  R                  " U6 OUPM,     snnm[        R                  R                  " X#   6 m[	        U/U UU4S j[        S5       5       Q76 n[        U/TQ7ST 06nU" TSS9n[        S	 UR                  S    5       5      (       d   e[        R                  " Xh5      (       d   eU" TS
S9n	[        R                  " Xi5      (       d   eU" [        R                  " T5      5      n
[        U
[        R                  5      (       d   e[        R                  " XjR                  5       5      (       d   eg s  snnf )Nr3   r4   r:   c              3   <   >#    U  H  oT;   a  TU   OTv   M     g 7fr<   r=   r>   s     r-   rC   +test_cupy_with_constants.<locals>.<genexpr>   rE   rF   r6   r/   r   rG   c              3   R   #    U  H  oS L =(       d    [        U5      S:H  v   M     g 7f)Nr   rI   rJ   s     r-   rC   r      s&     nLm5}>e 4 >>Lmry   rL   )rM   r   rN   rO   r   rP   r   rQ   rR   r"   r   asarrayrS   r   getrU   s   `          @@r-   test_cupy_with_constantsr      sI    
B#FY&JIIRSYIZ
[IZvq1	>299>>3s:IZ
[C
))..&+
,CrRQaQRGr=C=9=D 3'GnDLeLeflLmnnnnn;;w(((( C)H;;w)))) DLL%&Hh----;;w////' \s   1E:zjax not installed.c                 :   [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06nU" USS06n[
        R                  " X&5      (       d   e[        U[
        R                  5      (       d   eg s  snf )NFr   r   Tr   jax)	r   r   r   r   r   r   r"   rS   r   )r   r$   r%   r'   r(   r)   r&   s          r-   test_jaxr      s     'E
6
BE
BEE
BC"#UGGUD#v<<t<D

%u
%C;;s    c2::&&&& $s   Bc                   ^ ^	^
 SnSn1 SkT -
  u  n[        U5       VVs/ s H*  u  pEUT ;   a  [        R                  R                  " U6 OUPM,     snnm	[        R                  R                  " X#   6 m
[	        U/U U	U
4S j[        S5       5       Q76 n[        U/T	Q7ST 06nU" T
SS9n[        S	 UR                  S    5       5      (       d   e[        R                  " Xh5      (       d   eg s  snnf )
Nr3   r4   r:   c              3   <   >#    U  H  oT;   a  TU   OTv   M     g 7fr<   r=   r>   s     r-   rC   *test_jax_with_constants.<locals>.<genexpr>  rE   rF   r6   r/   r   rG   c              3   R   #    U  H  oS L =(       d    [        U5      S:H  v   M     g 7f)Nr   rI   rJ   s     r-   rC   r     s&     lKk%}=e 4 ==Kkry   )
rM   r   rN   rO   r   rP   r   rQ   rR   r"   )r/   rV   rW   rX   r@   rY   rZ   r)   r[   rA   rB   s   `        @@r-   test_jax_with_constantsr     s     
B#FY&JIIRSYIZ
[IZvq1	>299>>3s:IZ
[C
))..&+
,CrRQaQRGr=C=9=D 3&Gl4KdKdejKklllll;;w(((( \s   1C.c                  V  ^ Sn SnU Vs/ s H   n[         R                  R                  " U6 PM"     nn[        U /UQ76 mT" U6 n[        R
                  " T5      nU" U6 R                  5       nU[        R                  " USS9:X  d   e[        R
                  " [        R                  " U4S j5      5      nU" U5      n[        S [        X85       5       5      (       d   e[        X85       V	V
s/ s H  u  pU	SU
-  -
  PM     nn	n
U" U6 R                  5       nX:  d   eg s  snf s  sn
n	f )N
ij,jk,kl->r5   r7   )r8   r1   gh㈵>)relc                    > T" U 6 $ r<   r=   r$   r)   s    r-   <lambda>'test_jax_jit_gradient.<locals>.<lambda>)  s	    tU|    c              3   X   #    U  H   u  pUR                   UR                   :H  v   M"     g 7fr<   r   r?   v1v2s      r-   rC   (test_jax_jit_gradient.<locals>.<genexpr>+  !     I2Hrxx288#2H   (*MbP?)r   rN   randnr   r   jititempytestapproxgradrQ   zip)rV   rW   sr$   x0jit_exprx1	grad_expr
view_gradsr'   dv	new_viewsx2r)   s                @r-   test_jax_jit_gradientr     s   	B#F*01&QRYY__a &E1r+F+D	uBwwt}H	5				 Brt,,,, !;<=I5!JI#e2HIIIII .1-CD-CEAURZ-CID	9		"	"	$B7N7! 2 Es   'D .D%zautograd not installed.c                    ^ Sn SnU Vs/ s H   n[         R                  R                  " U6 PM"     nn[        U /UQ76 mT" U6 n[        R
                  " U4S j5      nU" U5      n[        S [        X65       5       5      (       d   e[        X65       VVs/ s H  u  pxUSU-  -
  PM     n	nnT" U	6 n
X:  d   eg s  snf s  snnf )Nr   r   c                    > T" U 6 $ r<   r=   r   s    r-   r   (test_autograd_gradient.<locals>.<lambda><  s	    D%Lr   c              3   X   #    U  H   u  pUR                   UR                   :H  v   M"     g 7fr<   r   r   s      r-   rC   )test_autograd_gradient.<locals>.<genexpr>>  r   r   r   )r   rN   r   r   autogradr   rQ   r   )rV   rW   r   r$   r   r   r   r'   r   r   r   r)   s              @r-   test_autograd_gradientr   3  s    	B#F*01&QRYY__a &E1r+F+D	uB 89I5!JI#e2HIIIII .1-CD-CEAURZ-CID	y	B7N7 2 Es   'B:B?c                 |   [         R                  " S5      n[        R                  " U 5      n[	        U /UQ7SSS.6nU Vs/ s H  oDR
                  PM     nn[        U /UQ7SS06nU Vs/ s H  oqR                  USS9PM     nnU" U6 n	[        XR                  5      (       d   e[        R                  " U[        R                  " U	5      5      (       d   e[	        U /UQ76 n	[        XR                  5      (       d   e[        R                  " U[        R                  " U	5      5      (       d   eg s  snf s  snf )Nz
dask.arrayFr   r   Tr1   )chunks)r   importorskipr   r   r   r   r   
from_arrayrS   Arrayr   r"   rK   )
r   dar$   r%   r'   r(   r)   xda_viewsda_opts
             r-   	test_daskr   F  s   			\	*B'E
6
BE
BEE
BC"#UGGUD#v<<t<D 7<<ea,eH<8_F fhh'''';;sBHHV,---- f(x(Ffhh'''';;sBHHV,---- $ =s   D4+D9c                 .   [         R                  " S5      n[        R                  " U 5      nU HV  n[        R
                  R                  S5        [        R
                  R                  SS/UR                  SSS/5      nSX4'   MX     [        U /UQ7SSS.6nU Vs/ s H  ofR                  PM     nn[        U /UQ7S	S06nU V	s/ s H  oR                  R                  U	5      PM     n
n	U" U
6 n[        XR                  5      (       d   e[        R                  " X[R                  5       5      (       d   e[        U /U
Q76 n[        XR                  5      (       d   e[        R                  " X[R                  5       5      (       d   eg s  snf s  sn	f )
Nsparse*   FTg?gffffff?r   r   r   )r   r   r   r   r   rN   seedchoicer   r   r   COO
from_numpyrS   r"   todense)r   r   r$   r+   maskr%   r'   r(   r)   r   sparse_views
sparse_opts               r-   test_sparser   ^  s]     *F'E 
		ryytzz4$N
 
 6
BE
BEE
BC"#UGGUD#v<<t<D 7<<eJJ))!,eL<|$J j**----;;s..01111 &0<0Jj**----;;s..01111 $ =s   F$FzTorch not installed.c                    [         R                  " U 5      n[        U /UQ7SSS.6nU Vs/ s H  o3R                  PM     nn[	        U /UQ7SS06nU" USS06n[
        R                  " X&5      (       d   eU Vs/ s H  n[        R                  " U5      PM     nnU" U6 n	[        U	[        R                  5      (       d   e[
        R                  " X)R                  5       R                  5       5      (       d   eg s  snf s  snf )NFr   r   Tr   torch)r   r   r   r   r   r   r"   r   to_torchrS   r   rT   cpurL   )
r   r$   r%   r'   r(   r)   r&   r+   torch_views	torch_opts
             r-   
test_torchr   }  s     'E
6
BE
BEE
BC"#UGGUD#v<<t<D

'w
'C;;s     8==ut8$$T*uK=k"Ii....;;sMMO1134444 $ >s   C<: Dc                 t  ^ ^^ SnSn1 SkT -
  u  n[        U5       VVs/ s H*  u  pEUT ;   a  [        R                  R                  " U6 OUPM,     snnm[        R                  R                  " X#   6 m[	        U/U UU4S j[        S5       5       Q76 n[        U/TQ7ST 06nU" TSS9n[        S	 UR                  S    5       5      (       d   e[        R                  " Xh5      (       d   eU" TS
S9n	[        R                  " Xi5      (       d   eU" [        R                  " T5      5      n
[        U
[        R                  5      (       d   eU
R                  R                   S:X  a  U
R#                  5       OU
R%                  5       R#                  5       n
[        R                  " Xj5      (       d   eg s  snnf )Nr3   r4   r:   c              3   <   >#    U  H  oT;   a  TU   OTv   M     g 7fr<   r=   r>   s     r-   rC   ,test_torch_with_constants.<locals>.<genexpr>  rE   rF   r6   r/   r   rG   c              3   R   #    U  H  oS L =(       d    [        U5      S:H  v   M     g 7f)Nr   rI   rJ   s     r-   rC   r     s&     pMoE}?e 4 ??Mory   rL   r   )rM   r   rN   rO   r   rP   r   rQ   rR   r"   r   r   rS   r   rT   devicetyperL   r   rU   s   `          @@r-   test_torch_with_constantsr     ss    
B#FY&JIIRSYIZ
[IZvq1	>299>>3s:IZ
[C
))..&+
,CrRQaQRGr=C=9=D 3(GpTMfMfgnMoppppp;;w(((( C)H;;w)))) H%%c*+Hh----#+??#7#75#@x~~hllnFZFZF\H;;w))))' \s   1F4c                  b    [        S5      n [        U 5      S:X  d   e[        U /S5      S:X  d   eg )N)r0   r1   r6   
opt_einsumautorL   r   )r   s    r-   +test_auto_backend_custom_array_no_tensordotr     s6    yA|+++!f%000r   c                 r   [         R                  " U 5      n[        U /UQ7SSS.6nUR                  [        :w  d   eU Vs/ s H  o3R
                  PM     nn[        U /UQ7SS06nU Vs/ s H  ofR                  [        5      PM     nn[        U /UQ7SS06nUR                  [        :X  d   e[        R                  " X(R                  [        5      5      (       d   eU" USS06nUR                  [        :X  d   e[        R                  " X(R                  [        5      5      (       d   eg s  snf s  snf )NFr   r   Tr   object)r   r   r   dtyper   r   r   astyper   r"   float)	r   r$   r%   r'   r(   r)   r+   	obj_viewsobj_opts	            r-   test_object_arrays_backendr     s   'E
6
BE
BEE
BC99"#UGGUD#v<<t<D167V$I7 v<	<8<G==F""";;sNN512222 I0x0G==F""";;sNN512222 $ 8s   D/+D4)7rL   r   r   r   r   r   r   r   r   opt_einsum.contractr	   r
   r   r   
found_cupyImportErrorr   r   ConfigProtor   gpu_optionsallow_growthfound_tensorflowosenvironrn   found_theanor   found_torchr   	found_jaxr   found_autogradtestsmarkskipifparametrizer.   r^   rl   rt   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r=   r   r-   <module>r     s     R R D DJ!J*.J'(-BJJ$%LKIN
	 ((1LM5) * N( ((1LM1v1v1v&>?+ @ N+4 ((1LM5)" * N". $-DE5)@ * F@  $-DE1v1v1v&>?> @ F>0 $-DE5)" * F"* 
N+@A5)4 * B4" 
N+@A1v1v1v&>?0 @ B04 	M*>?5)	' * @	' 	M*>?1v1v1v&>?) @ @)$ 	M*>? @, &/HI J$ 5). *.. 5)2 *2< O,BC5)5 * D5$ O,BC1v1v1v&>?* @ D*41 5)3 *3W  J    L  K  I  Nsj   R (R$ R3 ,S 3S :S  R! R!$R0/R03R?>R?SSSS S,+S,