+
    h                         ^ RI HtHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHt ^ RIHtHt R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR# )    )symbolsSPowFunction)exp)raises)IdxIndexedBase)IndexConformanceException)get_contraction_structureget_indicesc                  $   \        R 4      w  r\        V 4      \        4       / 38X  g   Q h\        W,          4      \        4       / 38X  g   Q h\        W,           4      \        4       / 38X  g   Q h\        W,          4      \        4       / 38X  g   Q hR# )zx yN)r   r   set)xys     G/usr/lib/python3/dist-packages/sympy/tensor/tests/test_index_methods.pytest_trivial_indicesr   
   sv    5>DAq>ceR[(((qsr{***qu#%,,,qt+++    c                      \        R 4      p \        R4      \        R4      r!\        WV3,          4      W0/ 38X  g   Q h\        WV3,          4      W!0/ 38X  g   Q hR# )r   ijNr
   r	   r   )r   r   r   s      r   test_get_indices_Indexedr      sY    CAs8SXqqAwQFB<///qAwQFB<///r   c                     \        R 4      p \        R4      \        R4      r!\        V ! V4      V,          4      W0/ 38X  g   Q h\        V ! W!4      4      W!0/ 38X  g   Q h\        V ! V4      V,          4      \        4       / 38X  g   Q hR# )fr   r   N)r   r	   r   r   )r   r   r   s      r   test_get_indices_Idxr      sy    As8SXqqtAvA62,...qwQFB<///qtAv35"+---r   c                      \        R 4      p \        R4      p\        R4      \        R4      r2\        W,          W,          ,          4      W#0/ 38X  g   Q h\        W,          W,          ,          4      W#0/ 38X  g   Q hR# r   r   r   r   Nr   r   r   r   r   s       r   test_get_indices_mulr    !   sg    CACAs8SXqqtADy!qfb\111qtADy!qfb\111r   c                     a aaa \        R 4      o\        R4      o\        R4      \        R4      uo o\        \        V VVV3R l4       R# )r   r   r   r   c                  D   < \        SS ,          SS,          ,           4      # )N)r   r   r   r   r   s   r   <lambda>-test_get_indices_exceptions.<locals>.<lambda>-   s    k!A$1+.Fr   N)r
   r	   r   r   r#   s   @@@@r   test_get_indices_exceptionsr&   )   s6    CACAs8SXDAq
$&FGr   c                     \        R 4      p \        R4      p\        R4      \        R4      r2\        W,          WV3,          ,           4      V0/ 38X  g   Q h\        W,          WV3,          ,           4      V0/ 38X  g   Q hR# r   r   r   s       r   test_scalar_broadcastr(   0   so    CACAs8SXqqta1g~&A3)333qta1g~&A3)333r   c                  0   \        R 4      p \        R4      p\        R4      p\        R4      \        R4      \        R4      rTp\        W,          ^W,          ,          ,           4      V0/ 38X  g   Q h\        W,          ^W#V3,          ,          W,          ,          ,           4      V0/ 38X  g   Q h\        W,          ^W,          W#V3,          W,          ,          ,           ,          ,           4      V0/ 38X  g   Q h\        W,          W,          W$V3,          ^,           ,          ,           4      V0/ 38X  g   Q h\        W,          W,          W,          ,          W,          W$V3,          W,          ,          ,           ,          ,           4      V0/ 38X  g   Q hR# r   r   Ar   r   kNr   r   r   r+   r   r   r,   s         r   test_get_indices_addr.   8   s?   CACACA#hC#c(!Aqtaf}%1#r222qtaQ$in,-1#r:::qtaQ$!4556A3)CCCqtadAdGaK001qc2Y>>>	qtADy!$a4-..056C9= = =r   c            	         \        R 4      p \        R4      p\        R4      p\        R4      \        R4      \        R4      rTp\        \        W,          W,          4      4      W40/ 38X  g   Q h\        \        WV3,          WV3,          4      4      W4V0/ 38X  g   Q h\        \        W#V3,          W,          W%V3,          W,          ,          ,           4      4      W50/ 38X  g   Q h\        \        ^W,          4      4      \        \	        W,          4      4      8X  g   Q h\        \        W,          ^4      4      V0/ 38X  g   Q hR# r*   )r
   r	   r   r   r   r-   s         r   test_get_indices_Powr0   E   s
   CACACA#hC#c(!As14'QFB<777s1T7AdG,-1)R@@@s1T7AD1T714<$789qfb\IIIs1ad|$CI(>>>> s14|$!b	111r   c                     \        R 4      p \        R4      p\        R4      \        R4      r2\        W,          W,          ,          4      RW,          W,          ,          0/8X  g   Q h\        W,          W,          ,           4      RW,          W,          0/8X  g   Q h\        W,          W,          ,          4      V3W,          W,          ,          0/8X  g   Q h\        ^W,          W,          ,          ,           4      R\        P                  0V3W,          W,          ,          0/8X  g   Q h\        W,          W,          ,          4      RW,          W,          ,          0/8X  g   Q hR# r   )r
   r	   r   r   Oner   s       r   $test_get_contraction_structure_basicr3   S   s   CACAs8SXq$QT!$Y/D149+3FFFF$QTAD[1dQT14L5IIII$QT!$Y/QD149+3FFFF$	ADI!%%1$ad<= = =$QT14Z0TAD!$J<4HHHHr   c                     \        R 4      p \        R4      p\        R4      p\        R4      \        R4      \        R4      rTpW,          W#V3,          W,          ,          ,           pRW,          0V3W#V3,          W,          ,          0/p\        V4      V8X  g   Q hWbWS3,          ,          W,          ,           pRW,          0V3WbWS3,          ,          0WbWS3,          ,          V./p	\        V4      V	8X  g   Q hR# r*   r
   r	   r   )
r   r   r+   r   r   r,   expr1d1expr2d2s
             r   &test_get_contraction_structure_complexr:   _   s    CACACA#hC#c(!AD1T714<E
qAwqt|n	-B$U+r111AD'MAD E
uqtW}ouqtW}rd	CB$U+r111r   c            	         \        R 4      p \        R4      p\        R4      \        R4      \        R4      rCpWV3,          WV3,          ,          p\        V4      RV0VV3WV3,          0/V3WV3,          0/./8X  g   Q hWV3,          WV3,          ,          p\        V4      RWV3,          WV3,          ,          0WV3,          WV3,          ,          V3WV3,          0/./8X  g   Q hR# r   r   r   r   r,   Nr5   )r   r   r   r   r,   ii_jjii_jks          r   %test_contraction_structure_simple_Powr?   l   s
   CACA#hC#c(!AdGQ!tWE$U+ugTAdG9TAdG9
0    dGQ!tWE$U+qAwQ$ 	Q$a4TAdG9
0   r   c                  
   \        R 4      p \        R4      p\        R4      \        R4      \        R4      rCpW,          W,          W,          ,          ,          p\        V4      RV0/8X  g   Q hW,          W,          ,          W,          ,          p\        V4      RV0/8X  g   Q hW,          W,          W,          ,          W,          ,          ,          p\        V4      V3V0/8X  g   Q hW,          W,          W,          W,          ,          ,          ,          p\        V4      V3V0/8X  g   Q hW,          W,          ,          \        W,          WV3,          ,          4      ,          p	\        V	4      p
V3V	0V	R\        W,          WV3,          ,          4      0\        W,          WV3,          ,          4      RW,          WV3,          ,          0W,          WV3,          ,          V3WV3,          0/./././pW8X  g   Q hR# r<   )r
   r	   r   r   )r   r   r   r   r,   i_jiij_ij_ij_ij_i_ji
ij_exp_kkiresultexpecteds               r   &test_contraction_structure_Mul_and_PowrH      s   CACA#hC#c(!A4!$qt)D$T*tdVn<<<DID$T*tdVn<<<T149%%F$V,!x0@@@@T!$ad##F$V,!x0@@@@ad3qtAdG|,,J&z2F	
zlCQ!tW-.ADa4L!14Q$<.Da4LQD1T7)#4"5% $ 
	H r   c            
      t   \        R 4      p \        R4      p\        R4      \        R4      \        R4      rCp^WV3,          ,           ^WV3,          ,           ,          pRV0VR\        P                  0V3WV3,          0/R\        P                  0V3WV3,          0/./p\	        V4      pWv8X  g   Q h^WV3,          ,           ^WV3,          ,           ,          pRWV3,          ^,           WV3,          ^,           ,          0VR\        P                  0V3WV3,          0/./p	\	        V4      p
W8X  g   Q hR# r<   )r
   r	   r   r2   r   )r   r   r   r   r,   	s_ii_jj_srG   rF   	s_ii_jk_s
expected_2result_2s              r   %test_contraction_structure_Add_in_PowrN      s3   CACA#hC#c(!AQ!tWAdG,IykAEE7QD1T7),AEE7QD1T7),
H 'y1FQ!tW!a1g+.IQ$!qAw{+,AEE7QD1T7),
J )3H!!!r   c                     \        R 4      p \        R4      p\        R4      p\        R4      \        R4      \        R4      rTpWV3,          WV3,          W%V3,          ,          ,          pRV0VV3WV3,          0/RWV3,          W%V3,          ,          0WV3,          W%V3,          ,          V3WV3,          0/V3W%V3,          0/././p\        V4      V8X  g   Q hR# )r   r   zr   r   r,   Nr5   )r   r   rP   r   r   r,   ii_jj_kkrG   s           r   %test_contraction_structure_Pow_in_PowrR      s    CACACA#hC#c(!AAwQ$a4((HxjTAdG9qAwQ$'(Q$a4 TAdG9%TAdG9%#	
H %X.(:::r   c            	      6   \        R 4      p \        R4      p\        R4      p\        R4      p\        R4      \        R4      rT\        R4      p\	        V ! W$,          4      4      V0/ 38X  g   Q h\	        V ! W$,          W5,          4      4      WE0/ 38X  g   Q h\	        V ! W4,          4      V! W$,          4      ,          4      \        4       / 38X  g   Q h\	        V ! WbV,          4      4      V0/ 38X  g   Q h\	        V ! WcV,          W%,          4      V! W$,          4      ,          4      V0/ 38X  g   Q h\	        V! V ! W$,          4      4      4      V0/ 38X  g   Q h\        V ! W$,          4      4      RV ! W$,          4      0/8X  g   Q h\        V ! W4,          4      V! W$,          4      ,          4      V3V ! W4,          4      V! W$,          4      ,          0/8X  g   Q h\        V ! W4,          4      V! V ! W$,          4      4      ,          4      V3V ! W4,          4      V! V ! W$,          4      4      ,          0/8X  g   Q h\        V ! W%,          W4,          4      V! W$,          4      ,          4      V3V ! W%,          W4,          4      V! W$,          4      ,          0/8X  g   Q hR# )r   gr   r   r   r   aN)r   r
   r	   r   r   r   r   )r   rT   r   r   r   r   rU   s          r   test_ufunc_supportrV      s2   AACACAs8SXqAqwQC9,,,qqt}%1&"555qwqw'CE2;666qaDz"sBi///qaD!$'!$/0aS"I===q14z"sBi///$QqtW-$14	1BBBB$	!$!$TAadGAadGO#456 6 6$	!$!AD'
!"qwq14z'9&:;< < <$	!$ag$%4!AD!$-!$*?)@"AB B Br   N)
sympy.corer   r   r   r   sympy.functionsr   sympy.testing.pytestr   sympy.tensor.indexedr	   r
   sympy.tensor.index_methodsr   r   r   r   r   r   r    r&   r(   r.   r0   r3   r:   r?   rH   rN   rR   rV    r   r   <module>r]      sh    0 0  ' 1 @ O,0.2H4
=2	I
2,8"4;,Br   