Ë
    7^(hw>  ã                   óœ  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ dd	lmZ dd
lmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl$m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4m5Z5  ed«      \  Z6Z7Z8 ed«      \  Z9Z: e#de8e8«      Z; e#de8d«      Z< e#de8d«      Z= e#de8e8«      Z> e#d e8e8«      Z? e#d!e8e8«      Z@ e#d"e8e8«      ZA e#d#e8d«      ZB e#d$e8d«      ZC e#d%e8d«      ZD e#d&e8d«      ZEd'„ ZFd6d(„ZGd)„ ZHd*„ ZId+„ ZJd,„ ZKd-„ ZLd.„ ZMd/„ ZNd0„ ZOd1„ ZPd2„ ZQd3„ ZRd4„ ZSy5)7za
Some examples have been taken from:

http://www.math.uwaterloo.ca/~hwolkowi//matrixcookbook.pdf
é    )ÚKroneckerProduct)ÚPermutation)ÚSum)ÚRational)ÚS)Úsymbols)ÚexpÚlog)Úsqrt)ÚcosÚsinÚtan)ÚKroneckerDelta)ÚDeterminant)Ú
DiagMatrix)ÚHadamardPowerÚHadamardProductÚhadamard_product)ÚInverse)ÚMatrixSymbol)Ú	OneMatrix)ÚTrace)ÚMatAdd)ÚMatMul)ÚIdentityÚ
ZeroMatrix)ÚArrayDerivative)Úhadamard_power)ÚArrayAddÚArrayTensorProductÚPermuteDimszi j kzm nÚXÚxé   ÚyÚAÚBÚCÚDÚaÚbÚcÚdc                 ó.   — t        | |dt        dz
  f«      S )Nr   r$   )r   Úk)ÚiÚjs     úo/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_derivatives.pyú<lambda>r3   0   s   € ”n Q¨¨A¬q°©s¨8Ó4€ ó    c                  ó   — y ©N)Úxreplacer/   Úas_explicitÚdiffÚreshapeÚshapeÚtomatrix)Úexprr#   ÚdiffexprÚdims       r2   Ú&_check_derivative_with_explicit_matrixr@   3   s   € à
r4   c            	      óš  — t         j                  t        «      t        t        t        «      k(  sJ ‚t         t
        t        z   z  t        z  j                  t        «      t        t        d«      k(  sJ ‚t        j                  t        «      t        t        d«      k(  sJ ‚t        j                  t        z  j                  t        «      t        dd«      k(  sJ ‚t        t        j                  z  j                  t        «      t        t        t        «      k(  sJ ‚t        t        z   j                  t        «      t        t        d«      k(  sJ ‚t        t        d«      j                  t        «      t        t        d«      k(  sJ ‚t        t        t        «      j                  t        «      j                  t        t        j                  t        «      t!        t        t        «      «      «      sJ ‚t#        t        t        «      j                  t        «      t        t        d«      k(  sJ ‚t#        t        t%        t        d«      z  t        t        «      j                  t        «      t#        t        t        «      k(  sJ ‚t        t        z  j                  t        «      t        k(  sJ ‚t'        t        «      t         z  t        z  t        z  j                  t        «      t)        t        «      t         z  t        z  t        z  k(  sJ ‚t        j                  t&        «      j                  t        «      t        t        d«      k(  sJ ‚t+        t        dz  t
        z  «      j                  t        «      dt        z  t+        t
        «      z  k(  sJ ‚t-        d«      } d| z  t        z  }|j                  t        «      d| z  t/        t        «      z  k(  sJ ‚y )Nr$   é   Úmu)r&   r9   r0   r   r/   r"   r'   r,   r#   ÚTr%   r   Údummy_eqr   Ú	applyfuncr
   r   r   r   r   r   r   r   r   )rC   r=   s     r2   Ú test_matrix_derivative_by_scalarrG   B   s…  € Ü�6‰6”!‹9œ
¤1¤aÓ(Ò(Ð(Ð(ÜŒq”1‰u‰I”a‰K×ÑœaÓ ¤J¬q°!Ó$4Ò4Ð4Ð4Ü�6‰6”!‹9œ
¤1 aÓ(Ò(Ð(Ð(Ü�C‰C”‰E�<‰<œ‹?œj¨¨AÓ.Ò.Ð.Ð.ÜŒa�c‰c‰E�<‰<œ‹?œj¬¬AÓ.Ò.Ð.Ð.Ü”‰E�<‰<œ‹?œj¬¨AÓ.Ò.Ð.Ð.Üœ!˜QÓ×$Ñ$¤QÓ'¬:´a¸Ó+;Ò;Ð;Ð;Üœ!œQÓ×$Ñ$¤QÓ'×0Ñ0ÜœŸ™¤CÓ(¬-¼¼1Ó*=Ó>ô@ð @ð @äœAœqÓ!×&Ñ&¤qÓ)¬Z¼¸1Ó-=Ò=Ð=Ð=ÜœAœi¬¨1›oÑ-¬q´!Ó4×9Ñ9¼!Ó<Ô@PÔQRÔTUÓ@VÒVÐVÐVÜŒa‰C�:‰:”a‹=œAÒÐÐÜ”‹F”1‰H”Q‰J”q‰L×ÑœqÓ!¤S¬£V¬A¡X¬a¡Z´¡\Ò1Ð1Ð1Ü�;‰;”sÓ× Ñ ¤Ó#¤z´!°QÓ'7Ò7Ð7Ð7Ü”�A‘”a‘‹=×ÑœaÓ  A¤a¡C¬¬a«¡LÒ0Ð0Ð0ä	�‹€BØˆb‰D”‰F€DØ�9‰9”Q‹<˜1˜R™4¤¬£Ñ+Ò+Ð+Ñ+r4   c                  ó    — t        t        j                  t        t        d«      «      j                  t        «      t        t        d«      k(  sJ ‚y )Nr$   )r   r#   rD   r   r/   r9   © r4   r2   Útest_one_matrixrJ   X   s2   € Ü”!—#‘#”y¤ A“Ó'×,Ñ,¬QÓ/´9¼QÀ³?ÒBÐBÑBr4   c            	      óŠ  — t        t        «      } t        t        | | «       t	        d«      dd«      «      }t
        j                  t
        «      |k(  sJ ‚t
        j                  j                  t
        «      t        t        | | «       t	        d«      ddd«      «      k(  sJ ‚dt
        z  j                  t
        «      t        t        d| z  | «       t	        d«      dd«      «      k(  sJ ‚t        t
        t
        «      j                  t
        «      t        ||«      k(  sJ ‚t
        t        z   j                  t
        «      |k(  sJ ‚y )Né   r$   rB   )r   r/   r!   r    r   r&   r9   rD   r   r   r'   )ÚIÚAdAs     r2   Ú(test_matrix_derivative_non_matrix_resultrO   \   sù   € ä”‹€AÜ
Ô(¨¨AÓ.°´¸A³¸qÀ!Ó0DÓ
E€CÜ�6‰6”!‹9˜ÒÐÐÜ�3‰3�8‰8”A‹;œ+Ô&8¸¸AÓ&>ÀÄÈAÃÈqÐRSÐUVÓ@WÓXÒXÐXÐXØŒa‰C�:‰:”a‹=œKÔ(:¸1¸Q¹3ÀÓ(BÀNÄKÐPQÃNÐSTÐVWÓDXÓYÒYÐYÐYÜ”!”Q‹<×ÑœQÓ¤8¨C°Ó#5Ò5Ð5Ð5Ü”‰E�<‰<œ‹?˜cÒ!Ð!Ñ!r4   c                  ód   — t         j                  t        «      t        t         t        «      k(  sJ ‚y r6   )r"   r9   r&   r   rI   r4   r2   Ú$test_matrix_derivative_trivial_casesrQ   g   s!   € ô �6‰6”!‹9œ¬¬1Ó-Ò-Ð-Ñ-r4   c                  óÔ  — t         j                  t        t        «      z  t        z  } | j                  t        «      t        t        «      j                   t         z  t        j                  z  t        t        «      j                  z  k(  sJ ‚t        t        t        «      «      } t        t        t        t        «      z  t        z  «      } | j                  t        «      t        dz  t        z  t        z  t        dz  z  j                   k(  sJ ‚t        t        t        t        z   «      «      } | j                  t        «      t        t        t        z   «      j                  dz   k(  sJ ‚y )NéÿÿÿÿrB   )
r*   rD   r   r"   r+   r9   r   r   r&   r'   ©r=   s    r2   Ú#test_matrix_derivative_with_inverserU   m   sð   € ô �3‰3Œw”q‹z‰>œ!Ñ€DØ�9‰9”Q‹<œG¤A›JŸL™L˜=¬™?¬1¯3©3Ñ.¬w´q«z¯|©|Ñ;Ò;Ð;Ð;ô ”wœq“zÓ"€Dô
 ””7œ1“:‘œa‘Ó €DØ�9‰9”Q‹<œQ ™W¤Q™Y¤q™[¬¨R©Ñ0×3Ñ3Ð3Ò3Ð3Ð3ô ”œœQ™“Ó €DØ�9‰9”Q‹<œW¤Q¬¡U›^×.Ñ.°Ñ1Ð1Ò1Ð1Ñ1r4   c                  ó¦  — t         j                  t         «      t        t        «      k(  sJ ‚t         t        df   j                  t         t
        df   «      j                  «       t        t
        t        «      k(  sJ ‚t         j                  j                  t         «      t        t        «      k(  sJ ‚t         j                  t        z  } | j                  t         «      t        k(  sJ ‚| d   j                  t         t
        df   «      j                  «       t        t
        df   k(  sJ ‚t        j                  t         z  } | j                  t         «      t        k(  sJ ‚t        j                  t        z  t        z  } | j                  t        «      t        t        j                  z  k(  sJ ‚t        j                  t        j                  z  t        z  } | j                  t        «      t        t        j                  z  k(  sJ ‚t        j                  t        z  t        z  } | j                  t        «      t        t        j                  z  k(  sJ ‚t        j                  t        j                  z  t        z  } | j                  t        «      t        t        j                  z  k(  sJ ‚t        j                  t        j                  z  t        z  t        z  } | j                  t        «      t        t        z  t        j                  z  t        t        z  t        j                  z  z   k(  sJ ‚t        t         z  t        z   j                  t        z  t        t         z  t         z   z  } | j                  t         «      t        j                  t        z  t        t         z  t         z   z  t        j                  t        j                  z  t        t         z  t        z   z  z   k(  sJ ‚t         j                  t        z  t         z  } | j                  t         «      t        t         z  t        j                  t         z  z   k(  sJ ‚t        j                  t        j                  z  t        z  t        z  t        z  } | j                  t        «      t        j                  t        z  t        z  t        j                  z  t        t        z  t        z  t        j                  z  z   k(  sJ ‚t        t        z  t        z   j                  t        z  t        t        z  t        z   z  } | j                  t        «      t        t        t        z  t        z   z  t        j                  z  t        j                  t        t        z  t        z   z  t        j                  z  z   k(  sJ ‚t#        | d   j                  t        t
        t$        f   «      j                  «       «      dk(  sJ ‚t         t         j                  z  t         z  } t        t        «      }| j                  t         «      t'        |t         j                  t         z  «      dt         z  t         j                  z  z   k(  sJ ‚y )Nr   ©r   r   zÓb[n, 0]*Sum((c[_i_1, 0] + Sum(X[_i_1, _i_3]*b[_i_3, 0], (_i_3, 0, k - 1)))*D[_i_1, m], (_i_1, 0, k - 1)) + Sum((c[_i_2, 0] + Sum(X[_i_2, _i_4]*b[_i_4, 0], (_i_4, 0, k - 1)))*D[m, _i_2]*b[n, 0], (_i_2, 0, k - 1))rB   )r#   r9   r   r/   r0   ÚmÚdoitÚKDeltarD   r*   r"   r+   r,   r'   r(   r)   r-   ÚstrÚnr   ©r=   rM   s     r2   Ú*test_matrix_derivative_vectors_and_scalarsr^   �   s  € ä�6‰6”!‹9œ¤›Ò#Ð#Ð#ÜŒQ�ˆT‰7�<‰<œœ!˜Q˜$™Ó ×%Ñ%Ó'¬6´!´Q«<Ò7Ð7Ð7ä�3‰3�8‰8”A‹;œ(¤1›+Ò%Ð%Ð%ô �3‰3Œq‰5€DØ�9‰9”Q‹<œ1ÒÐÐØ�‰:�?‰?œ1œQ ˜T™7Ó#×(Ñ(Ó*¬a´°1°©gÒ5Ð5Ð5Ü�3‰3Œq‰5€DØ�9‰9”Q‹<œ1ÒÐÐô �3‰3Œq‰5”‰7€DØ�9‰9”Q‹<œ1œQŸS™S™5Ò Ð Ð ô �3‰3Œq�s‰s‰7”1‰9€DØ�9‰9”Q‹<œ1œQŸS™S™5Ò Ð Ð ô �3‰3Œq‰5”‰7€DØ�9‰9”Q‹<œ1œQŸS™S™5Ò Ð Ð Ü�3‰3Œq�s‰s‰7”1‰9€DØ�9‰9”Q‹<œ1œQŸS™S™5Ò Ð Ð ô �3‰3Œq�s‰s‰7”1‰9”Q‰;€DØ�9‰9”Q‹<œ1œQ™3œqŸs™s™7¤Q¤q¡S¬¯©¡WÑ,Ò,Ð,Ð,ô Œa‰C”!‰G�;‰;”q‰=œ!œA™#¤™'Ñ"€DØ�9‰9”Q‹<œ1Ÿ3™3œq™5¤!¤A¡#¬¡'™?¬Q¯S©S´·±©W´a¼±c¼A±gÑ->Ñ>Ò>Ð>Ð>ô �3‰3Œq‰5”‰7€DØ�9‰9”Q‹<œ1œQ™3¤§¡¤Q¡™;Ò&Ð&Ð&ô �3‰3Œq�s‰s‰7”1‰9”Q‰;”q‰=€DØ�9‰9”Q‹<œ1Ÿ3™3œq™5¤™7¤1§3¡3™;¬¬1©¬Q©¬q¯s©s©Ñ2Ò2Ð2Ð2ô Œa‰C”!‰G�;‰;”q‰=œ!œA™#¤™'Ñ"€DØ�9‰9”Q‹<œ1œa¤™c¤A™g™;¤q§s¡s™?¬Q¯S©S´!´A±#¼±'©]¼1¿3¹3Ñ->Ñ>Ò>Ð>Ð>Üˆt�D‰z�‰œq¤¤A ™wÓ'×,Ñ,Ó.Ó/ð 	^ò^ð ^ð ^ô ŒQ�S‰S‰5”‰7€DÜ”‹€AØ�9‰9”Q‹<Ô+¨A¬q¯s©s´1©uÓ5¸¼!¹¼A¿C¹C¹Ñ?Ò?Ð?Ñ?r4   c                  óð#  — t        t        «      t        z  } t        t        «      }| j	                  t        «      t        t        |t        «      t        t        t        t        «      |z  |«       t        d«      dd«      «      «      k(  sJ ‚| t        t        f   j	                  t        t        t        f   «      j                  «       t        t        t        «      t        t        t        «      z  t        t        «      z  t        t        t        «      t        t        t        f   z  z   k(  sJ ‚t        t        «      } | j	                  t        «      t        t        «      k(  sJ ‚| j!                  t"        «      j	                  t        t        t        f   «      j                  «       t        t        t        «      k(  sJ ‚t        t        t        z  «      } | j	                  t        «      t        j$                  k(  sJ ‚| j!                  t"        «      j	                  t        t        t        f   «      j                  «       t        t        t        f   k(  sJ ‚t        t        t        z  t&        z  «      } | j	                  t        «      t        j$                  t&        j$                  z  k(  sJ ‚| j!                  t"        «      j	                  t        t        t        f   «      j                  «       j)                  t        j$                  t&        j$                  z  t        t        f   «      sJ ‚t        t        t        j$                  z  t&        z  «      } | j	                  t        «      t&        t        z  k(  sJ ‚t        t        j$                  t        z  «      } | j	                  t        «      t        k(  sJ ‚t        t        t        j$                  z  «      } | j	                  t        «      t        k(  sJ ‚t        t        dz  «      } | j	                  t        «      dt        j$                  z  k(  sJ ‚t        t        dz  t&        z  «      } | j	                  t        «      t        t&        z  t&        t        z  z   j$                  k(  sJ ‚t        t+        t        t        t&        «      «      } | j	                  t        «      t        t&        z  t&        t        z  z   j$                  k(  sJ ‚t        t        j$                  t&        z  t        z  «      } | j	                  t        «      t&        t        z  t&        j$                  t        z  z   k(  sJ ‚t        t&        t        z  t        j$                  z  «      } | j	                  t        «      t&        t        z  t&        j$                  t        z  z   k(  sJ ‚t        t        t        j$                  z  t&        z  «      } | j	                  t        «      t&        t        z  t&        j$                  t        z  z   k(  sJ ‚t        t        t&        z  t        j$                  z  «      } | j	                  t        «      t        t&        j$                  z  t        t&        z  z   k(  sJ ‚t        t&        t        j$                  z  t        z  «      } | j	                  t        «      t        t&        j$                  z  t        t&        z  z   k(  sJ ‚t        t        j$                  t        z  t&        z  «      } | j	                  t        «      t        t&        j$                  z  t        t&        z  z   k(  sJ ‚t        t        t        z  t&        z  t        z  «      } | j	                  t        «      t        j$                  t        j$                  z  t&        j$                  z  t&        j$                  t        j$                  z  t        j$                  z  z   k(  sJ ‚t        t        j$                  t        z  «      } | j	                  t        «      dt        z  k(  sJ ‚t        t        t        j$                  z  «      } | j	                  t        «      dt        z  k(  sJ ‚t        t&        j$                  t        j$                  z  t,        z  t        z  t&        z  «      } | j	                  t        «      t,        j$                  t        z  t&        z  t&        j$                  z  t,        t        z  t&        z  t&        j$                  z  z   k(  sJ ‚t        t        j$                  t&        z  t        z  t,        z  «      } | j	                  t        «      t&        t        z  t,        z  t&        j$                  t        z  t,        j$                  z  z   k(  sJ ‚t        t        t        z  t&        z  t        j$                  z  t,        z  «      } | j	                  t        «      t        j$                  t,        j$                  z  t        z  t&        j$                  z  t,        t        z  t        z  t&        z  z   k(  sJ ‚t        t        t        z  t&        z  t,        z   t        t        z  t&        z  t,        z   j$                  z  «      } | j	                  t        «      dt        j$                  z  t        t        z  t&        z  t,        z   z  t&        j$                  z  k(  sJ ‚t        t        t        z  «      } t        t        t        t        z  z  «      } t        t&        j$                  t        j$                  z  t,        z  t        z  t        j$                  z  t,        z  t        z  t&        z  «      } | j	                  t        «      t,        t        z  t        j$                  z  t,        z  t        z  t&        z  t&        j$                  z  t,        j$                  t        z  t&        z  t&        j$                  z  t        j$                  z  t,        j$                  z  t        z  z   t,        t        z  t&        z  t&        j$                  z  t        j$                  z  t,        z  t        z  z   t,        j$                  t        z  t        j$                  z  t,        j$                  z  t        z  t&        z  t&        j$                  z  z   k(  sJ ‚t        t        t        dz  z  t&        z  «      } | j	                  t        «      t/        t        «      j$                   t        j$                  z  t&        j$                  z  t/        t        «      j$                  z  k(  sJ ‚t        t/        t        j$                  t,        z  t        z  «      t        z  «      } | j	                  t        «      t        j1                  «       j$                   t        j$                  z  t        j1                  «       z  t,        j1                  «       j$                  z  t        j1                  «       j$                  z  t        j1                  «       j$                  t        z  t        j1                  «       z  t,        j1                  «       z  t        j1                  «       j$                  z  z
  k(  sJ ‚t        t        j$                  t,        z  t        z  j1                  «       t        j$                  t&        z  t        z  z  «      } | j	                  t        «      dt,        z  t        z  t        j$                  t,        z  t        z  j1                  «       z  t        j$                  z  t&        z  t        z  t        j$                  t,        z  t        z  j1                  «       z  dt&        z  t        z  t        j$                  t,        z  t        z  j1                  «       z  z   k(  sJ ‚t        t        t        j$                  t,        z  t        z  z   j1                  «       t        j$                  t&        z  t        z  z  «      } | j	                  t        «      t&        t        z  t/        t        t        j$                  t,        z  t        z  z   «      z  t,        t        z  t/        t        t        j$                  t,        z  t        z  z   «      z  t        j$                  z  t&        z  t        z  t/        t        t        j$                  t,        z  t        z  z   «      z  z
  t,        j$                  t        z  t/        t        j$                  t,        t        z  j$                  t        z  z   «      z  t        j$                  z  t&        j$                  z  t        z  t/        t        j$                  t,        t        z  j$                  t        z  z   «      z  z
  t&        j$                  t        z  t/        t        j$                  t,        t        z  j$                  t        z  z   «      z  z   k(  sJ ‚y )NrL   r$   rB   rS   éþÿÿÿ)r   r&   r   r/   r9   r   r    r!   r   r0   r1   rX   r\   rY   rZ   r"   Úrewriter   rD   r'   rE   r   r(   r   Úinvr]   s     r2   Ú!test_matrix_derivatives_of_tracesrc   ¹   sP  € ä”‹8”A‰:€DÜ”‹€AØ�9‰9”Q‹<œ8Ô$6°q¼!Ó$<¼kÔJ\Ô]bÔcdÓ]eÐfgÑ]gÐijÓJkÐm{ÔmxÐyzÓm{Ð|}ð  @Aó  nBó  ?Có  Dò  Dð  Dð  DØ””1�‰:�?‰?œ1œQ¤˜T™7Ó#×(Ñ(Ó*ÜŒq”!‹”VœAœq“\Ñ!¤%¬£(Ñ*ÜŒq”!‹”Q”qœ!�t‘WÑñ	òð ð ô ”‹8€DØ�9‰9”Q‹<œ8¤A›;Ò&Ð&Ð&Ø�<‰<œÓ×!Ñ!¤!¤A¤q D¡'Ó*×/Ñ/Ó1´V¼A¼q³\ÒAÐAÐAô ””1‘‹:€DØ�9‰9”Q‹<œ1Ÿ3™3ÒÐÐØ�<‰<œÓ×!Ñ!¤!¤A¤q D¡'Ó*×/Ñ/Ó1´Q´q¼!°t±WÒ<Ð<Ð<ô ””1‘”Q‘‹<€DØ�9‰9”Q‹<œ1Ÿ3™3œqŸs™s™7Ò"Ð"Ð"Ø�<‰<œÓ×!Ñ!¤!¤A¤q D¡'Ó*×/Ñ/Ó1×:Ñ:¼A¿C¹CÄÇÁ¹GÄQÌÀT¹?ÔKÐKÐKô ””1—3‘3‘”q‘‹>€DØ�9‰9”Q‹<œ1œQ™3ÒÐÐô ”—‘”Q‘‹<€DØ�9‰9”Q‹<œ1ÒÐÐô ””1—3‘3‘‹<€DØ�9‰9”Q‹<œ1ÒÐÐô ”�A‘‹;€DØ�9‰9”Q‹<˜1œQŸS™S™5Ò Ð Ð ô ”�A‘”a‘‹=€DØ�9‰9”Q‹<œAœa™C¤!¤A¡#™IŸ=™=Ò(Ð(Ð(Ü”œœ1œa“Ó!€DØ�9‰9”Q‹<œAœa™C¤!¤A¡#™IŸ=™=Ò(Ð(Ð(ô ”—‘”Q‘”q‘‹>€DØ�9‰9”Q‹<œ1œQ™3¤§¡¤Q¡™;Ò&Ð&Ð&ô ””1‘”Q—S‘S‘‹>€DØ�9‰9”Q‹<œ1œQ™3¤§¡¤Q¡™;Ò&Ð&Ð&ô ””1—3‘3‘”q‘‹>€DØ�9‰9”Q‹<œ1œQ™3¤§¡¤Q¡™;Ò&Ð&Ð&ô ””1‘”Q—S‘S‘‹>€DØ�9‰9”Q‹<œ1œQŸS™S™5¤1¤Q¡3™;Ò&Ð&Ð&ô ””1—3‘3‘”q‘‹>€DØ�9‰9”Q‹<œ1œQŸS™S™5¤1¤Q¡3™;Ò&Ð&Ð&ô ”—‘”Q‘”q‘‹>€DØ�9‰9”Q‹<œ1œQŸS™S™5¤1¤Q¡3™;Ò&Ð&Ð&ô ””1‘”Q‘”q‘‹>€DØ�9‰9”Q‹<œ1Ÿ3™3œqŸs™s™7¤1§3¡3™;¬¯©¬Q¯S©S©´·±©Ñ4Ò4Ð4Ð4ô ”—‘”Q‘‹<€DØ�9‰9”Q‹<˜1œQ™3ÒÐÐÜ””1—3‘3‘‹<€DØ�9‰9”Q‹<˜1œQ™3ÒÐÐô ”—‘”Q—S‘S‘œ‘œ1‘œQ‘Ó€DØ�9‰9”Q‹<œ1Ÿ3™3œq™5¤™7¤1§3¡3™;¬¬1©¬Q©¬q¯s©s©Ñ2Ò2Ð2Ð2ô ”—‘”Q‘”q‘œ‘Ó€DØ�9‰9”Q‹<œ1œQ™3œq™5¤1§3¡3¤q¡5¬¯©¡9Ñ,Ò,Ð,Ð,ô ””1‘”Q‘”q—s‘s‘œ1‘Ó€DØ�9‰9”Q‹<œ1Ÿ3™3œqŸs™s™7¤1™9¤Q§S¡S™=¬1¬Q©3¬q©5´©7Ñ2Ò2Ð2Ð2ô ”!”A‘#”a‘%œ!‘)œa¤™c¤!™e¤a™iŸ]™]Ñ*Ó+€DØ�9‰9”Q‹<˜1œQŸS™S™5¤!¤A¡#¤a¡%¬!¡)Ñ,¬Q¯S©SÑ0Ò0Ð0Ð0ô ””A‘‹;€Dô ””1”a‘4‘‹=€Dô ”—‘”Q—S‘S‘œ‘œ1‘œQŸS™S‘¤Ñ"¤1Ñ$¤QÑ&Ó'€DØ�9‰9”Q‹<œ1œQ™3œqŸs™s™7¤1™9¤Q™;¤q™=¬¯©Ñ,¬q¯s©s´1©u´Q©w´q·s±s©{¼1¿3¹3©¼q¿s¹sÑ/BÄ1Ñ/DÑDÄqÌÁsÌ1ÁuÌQÏSÉSÁyÔQR×QTÑQTÁ}ÔUVÁÔWXÑGXÑXÔ[\×[^Ñ[^Ô_`Ñ[`Ôab×adÑadÑ[dÔef×ehÑehÑ[hÔijÑ[jÔklÑ[lÔmn×mpÑmpÑ[pÑpÒpÐpÐpô
 ””1�r‘7‘œ1‘Ó€DØ�9‰9”Q‹<œG¤A›JŸL™L˜=¬¯©Ñ,¬Q¯S©SÑ0´¼³·±Ñ=Ò=Ð=Ð=ô ”œŸ™œQ™œq™Ó!¤!Ñ#Ó$€Dà�9‰9”Q‹<œQŸU™U›WŸY™Y˜;¤q§s¡s™?¬1¯5©5«7Ñ2´1·5±5³7·9±9Ñ<¼Q¿U¹U»W¿Y¹YÑFÌÏÉËÏÉÔSTÉÔUV×UZÑUZÓU\ÑI\Ô]^×]bÑ]bÓ]dÑIdÔef×ejÑejÓel×enÑenÑInÑnÒnÐnÐnô ”!—#‘#”a‘%œ‘'—‘“¤!§#¡#¤a¡%¬¡'Ñ*Ó+€DØ�9‰9”Q‹<˜2œa™4¤™6¤1§3¡3¤q¡5¬¡7§-¡-£/Ñ1´!·#±#Ñ5´aÑ7¼Ñ9¼1¿3¹3¼q¹5Ä¹7¿-¹-»/ÑIÈAÌaÉCÔPQÉEÔST×SVÑSVÔWXÑSXÔYZÑSZ×R_ÑR_ÓRaÑLaÑaÒaÐaÐaô ”!”a—c‘cœ!‘eœA‘g‘+×"Ñ"Ó$¤a§c¡c¬!¡e¬A¡gÑ.Ó/€Dà�9‰9”Q‹<œ1œQ™3œw¤q¬1¯3©3¬q©5´©7¡{Ó3Ñ3´a¼±c¼'Ä!ÄaÇcÁcÌ!ÁeÌAÁgÁ+Ó:NÑ6NÌqÏsÉsÑ6RÔSTÑ6TÔUVÑ6VÔW^Ô_`Ôcd×cfÑcfÔghÑchÔijÑcjÑ_jÓWkÑ6kÑkÔno×nqÑnqÔrsÑnsÔt{Ô|}×|Ñ|ô  DEô  FGñ  DG÷  CJñ  CJô  KLñ  CLñ  }Ló  uMñ  oMô  NO÷  NQñ  NQñ  oQô  RS÷  RUñ  RUñ  oUô  VWñ  oWô  X_ô  `a÷  `cñ  `cô  ghô  ijñ  gj÷  fmñ  fmô  noñ  foñ  `oó  Xpñ  opñ  pô  st÷  svñ  svô  wxñ  sxô  y@ô  AB÷  ADñ  ADô  HIô  JKñ  HK÷  GNñ  GNô  OPñ  GPñ  APó  yQñ  sQñ  Qò  Qð  Qñ  Qr4   c            	      óü  — t         j                  t        t        z  t        j                  t        z  t        t        z  z   z  t        j                  t        j                  z  t         t
        j                  z  t        t        z  t        j                  z  t        t        j                  t        z  t        t        z  z   z  t        z  t        z  z   t        j                  t        j                  z  t        z  z
  z  t        z  t        t        t        j                  z  t        t        z  t        z  t        j                  z  z   dt        z  t        z  z
  z  z   z  t        z  z   dt        z  t        z  t        j                  z  t        j                  z  t        t        j                  z   z  z   z  t
        z  } t        t        t        z  t        z  t        j                  z  dt        z  t        z  z
  t        t        j                  z  z   z  t         t
        j                  z  t        t        t        z  t        j                  t        z  z   z  t        z  t        z  t        t        z  t        j                  z  z   t        j                  t        j                  z  t        z  z
  z  t        z  z   t        z  t
        z  t         j                  z  t        j                  z  t        dz  t
        z  t         j                  z  t        j                  z  t        j                  z  t         z  t
        j                  z  t        z  t        z  z   dt        z  t        z  t        j                  z  t        j                  z  t         z  t
        j                  z  z   t        t        z  t        dz  z  t
        z  t         j                  z  t        j                  z  t        j                  z  t         z  t
        j                  z  t        z  z   t        t
        z  t         j                  z  t        z  t        z  z   t         t
        j                  z  dt        z  dt        j                  z  z   z  t        z  t        z  t        j                  z  z   t
        t         j                  z  t        z  t        z  t         z  t
        j                  z  t        j                  dz  z  t        z  t        j                  z  z   t
        t         j                  z  t        z  t        z  t         z  t
        j                  z  t        j                  dz  z  t        j                  z  t        j                  t        z  t        j                  t        j                  z  z   z  z   dt
        z  t         j                  z  t        z  t        z  t        j                  z  t        j                  z  z   t        j                  dt        z  dt        j                  z  z   z  t
        z  t         j                  z  t        z  t        z  z   t        j                  t        j                  dz  z  t        z  t        z  t         z  t
        j                  z  t        j                  z  t        z  z   t        j                  t         z  t
        j                  z  t        j                  t        j                  z  t        j                  t        z  z   z  z   t        j                  t        j                  z  t
        z  t         j                  z  t        z  t        z  t         z  t
        j                  z  t        j                  dz  z  t        j                  z  z   t        j                  t        z  t        z  t         z  t
        j                  z  t        j                  z  t        z  z   dt        j                  z  t        z  t        z  t         z  t
        j                  z  t        j                  z  t        j                  z  z
  t        j                  t        z  t        dz  z  t
        z  t         j                  z  t        j                  z  t        j                  z  t         z  t
        j                  z  z
  t        j                  t        j                  z  t         z  t
        j                  z  t        j                  z  z   }| j                  t        «      |k(  sJ ‚y )NrL   é*   rB   )	r*   rD   r&   r"   r'   r+   r)   r(   r9   )r=   Úresults     r2   Ú+test_derivatives_of_complicated_matrix_exprrg   L  s*  € Ü�3‰3””!‘”Q—S‘Sœ‘UœQœq™S‘[Ñ!¤A§C¡C¬¯©¡G¬Q¬q¯s©s©U´A´a±C¼¿¹±G¼aÄÇÁÄQÁÌÌ1ÉÁ¹oÌaÑ>OÔPQÑ>QÑ4QÔTU×TWÑTWÔXY×X[ÑX[ÑT[Ô\]ÑT]Ñ4]Ñ-^Ô_`Ñ-`ÔcdÔfgÔhi×hkÑhkÑfkÔnoÔpqÑnqÔrsÑnsÔtu×twÑtwÑnwÑfwÐz{Ô|}Ñz}Ô~ÑzÑfñ  dAñ  .Añ  %Bô  CDñ  %Dñ  Dð  GIô  JKñ  GKô  LMñ  GMô  NO÷  NQñ  NQñ  GQô  RS÷  RUñ  RUñ  GUô  WXô  [\÷  [^ñ  [^ñ  W^ñ  G_ñ  _ñ  `ô  abñ  b€DÜ””1‘”Q‘”q—s‘s‘˜Qœq™S¤™UÑ"¤Q¤q§s¡s¡UÑ*Ñ+¬a´·±©e´Q¼¼!¹¼a¿c¹cÄ!¹e¹±_ÄQÑ5FÄqÑ5HÌ1ÌQÉ3ÌqÏsÉsÉ7Ñ5RÔUV×UXÑUXÔYZ×Y\ÑY\ÑU\Ô]^ÑU^Ñ5^Ñ._Ô`aÑ.aÑaÔcdÑdÔefÑfÔgh×gjÑgjÑjÔkl×knÑknÑnÔqrÐtuÑquÔvwÑqwÔxy×x{Ñx{Ñq{Ô|}×|Ñ|Ñqô  AB÷  ADñ  ADñ  rDô  EFñ  rFô  GH÷  GJñ  GJñ  rJô  KLñ  rLô  MNñ  rNñ  Nð  QSô  TUñ  QUô  VWñ  QWô  XY÷  X[ñ  X[ñ  Q[ô  \]÷  \_ñ  \_ñ  Q_ô  `añ  Qaô  bc÷  beñ  beñ  Qeñ  eô  hiô  jkñ  hkô  lmð  opñ  lpñ  hpô  qrñ  hrô  st÷  svñ  svñ  hvô  wx÷  wzñ  wzñ  hzô  {|÷  {~ñ  {~ñ  h~ô  @ñ  h@ô  AB÷  ADñ  ADñ  hDô  EFñ  hFñ  Fô  IJô  KLñ  ILô  MN÷  MPñ  MPñ  IPô  QRñ  IRô  STñ  ITñ  Tô  WXô  YZ÷  Y\ñ  Y\ñ  W\ð  ^`ô  abñ  ^bð  egô  hi÷  hkñ  hkñ  ekñ  ^kñ  Wlô  mnñ  Wnô  opñ  Wpô  qr÷  qtñ  qtñ  Wtñ  tô  wxô  yz÷  y|ñ  y|ñ  w|ô  }~ñ  w~ô  @ñ  w@ô  ABñ  wBô  CD÷  CFñ  CFñ  wFô  GH÷  GJñ  GJð  LMñ  GMñ  wMô  NOñ  wOô  PQ÷  PSñ  PSñ  wSñ  Sô  VWô  XY÷  X[ñ  X[ñ  V[ô  \]ñ  V]ô  ^_ñ  V_ô  `añ  Vaô  bc÷  beñ  beñ  Veô  fg÷  fiñ  fið  klñ  flñ  Vlô  mn÷  mpñ  mpñ  Vpô  rs÷  ruñ  ruô  vwñ  rwô  z{÷  z}ñ  z}ô  ~÷  ~Añ  ~Añ  zAñ  rAñ  VBñ  Bð  EGô  HIñ  EIô  JK÷  JMñ  JMñ  EMô  NOñ  EOô  PQñ  EQô  RS÷  RUñ  RUñ  EUô  VW÷  VYñ  VYñ  EYñ  Yô  \]÷  \_ñ  \_ð  acô  deñ  aeð  hjô  kl÷  knñ  knñ  hnñ  anñ  \oô  pqñ  \qô  rs÷  ruñ  ruñ  \uô  vwñ  \wô  xyñ  \yñ  yô  |}÷  |ñ  |ô  @A÷  @Cñ  @Cð  EFñ  @Fñ  |Fô  GHñ  |Hô  IJñ  |Jô  KLñ  |Lô  MN÷  MPñ  MPñ  |Pô  QR÷  QTñ  QTñ  |Tô  UVñ  |Vñ  Vô  YZ÷  Y\ñ  Y\ô  ]^ñ  Y^ô  _`÷  _bñ  _bñ  Ybô  de÷  dgñ  dgô  hi÷  hkñ  hkñ  dkô  no÷  nqñ  nqô  rsñ  nsñ  dsñ  Ytñ  tô  wx÷  wzñ  wzô  {|÷  {~ñ  {~ñ  w~ô  @ñ  w@ô  AB÷  ADñ  ADñ  wDô  EFñ  wFô  GHñ  wHô  IJñ  wJô  KL÷  KNñ  KNñ  wNô  OP÷  ORñ  ORð  TUñ  OUñ  wUô  VW÷  VYñ  VYñ  wYñ  Yô  \]÷  \_ñ  \_ô  `añ  \aô  bcñ  \cô  deñ  \eô  fg÷  fiñ  fiñ  \iô  jk÷  jmñ  jmñ  \mô  noñ  \oñ  oð  rsô  tu÷  twñ  twñ  rwô  xyñ  ryô  z{ñ  r{ô  |}ñ  r}ô  ~÷  ~Añ  ~Añ  rAô  BC÷  BEñ  BEñ  rEô  FG÷  FIñ  FIñ  rIñ  Iô  LM÷  LOñ  LOô  PQñ  LQô  RSð  UVñ  RVñ  LVô  WXñ  LXô  YZ÷  Y\ñ  Y\ñ  L\ô  ]^÷  ]`ñ  ]`ñ  L`ô  ab÷  adñ  adñ  Ldô  efñ  Lfô  gh÷  gjñ  gjñ  Ljñ  jô  mn÷  mpñ  mpô  qr÷  qtñ  qtñ  mtô  uvñ  mvô  wx÷  wzñ  wzñ  mzô  {|÷  {~ñ  {~ñ  m~ñ  ~€FØ�9‰9”Q‹<˜6Ò!Ð!Ñ!r4   c                  ó@  — dt        t        «      z  } | j                  t        «      dt        t        «      z  k(  sJ ‚t        } | j                  t        «      }t        |t        «      sJ ‚|t        t        t        «      k(  sJ ‚t        t        «      dz  } | j                  t        «      dt        t        «      z  t        t        «      z  k(  sJ ‚t        t        «      t        z  } t        t        «      }| j                  t        «      t        t        |t        «      t        t        t        t        «      |z  |«       t        d«      dd«      «      «      k(  sJ ‚t        t        t        «      t        z  «      } | j                  t        «      dt        t        «      z  t        t        «      z  k(  sJ ‚t        t        t        t        «      t        z  «      t        z  «      } | j                  t        «      dt        t        «      dz  z  t        t        «      z  k(  sJ ‚y )NrL   rB   r$   )r   r&   r9   r   r/   Ú
isinstancer   r   r    r!   r   )r=   ÚderivrM   s      r2   Ú"test_mixed_deriv_mixed_expressionsrk   R  sš  € àŒU”1‹X‰:€DØ�9‰9”Q‹<˜1œX¤a›[™=Ò(Ð(Ð(ä€DØ�I‰I”a‹L€EÜ�eœZÔ(Ð(Ð(Ø”Jœq¤!Ó$Ò$Ð$Ð$ä”‹8�Q‰;€DØ�9‰9”Q‹<˜Aœe¤A›h™J¬´«Ñ3Ò3Ð3Ð3ä”‹8”A‰:€DÜ”‹€AØ�9‰9”Q‹<œ8Ô$6°q¼!Ó$<¼kÔJ\Ô]bÔcdÓ]eÐfgÑ]gÐijÓJkÐm{ÔmxÐyzÓm{Ð|}ð  @Aó  nBó  ?Có  Dò  Dð  Dð  Dä””q“œ!‘Ó€DØ�9‰9”Q‹<˜Aœe¤A›h™J¬´«Ñ3Ò3Ð3Ð3ä””uœQ“x¤‘zÓ"¤1Ñ$Ó%€DØ�9‰9”Q‹<˜Aœe¤A›h¨™k™M¬8´A«;Ñ6Ò6Ð6Ñ6r4   c                  óF  — t         j                  t        z  } | j                  t         «      t        k(  sJ ‚| d   j                  t         t        df   «      j                  «       t        t        df   k(  sJ ‚t         j                  t        z  t        j                  z  } | j                  t         «      t        dt        t         j                  t        z  «      z  z  k(  sJ ‚t         j                  t         z  t        j                  z  } | j                  t         «      t         t         j                  t         z  t        dd«      z  z  k(  sJ ‚t        j                  t        z  t         j                  z  t        z  t        j                  z  } | j                  t         «      t        t        j                  z  t        z  t        t        j                  t        z  t         j                  z  t        z  «      z  dz  k(  sJ ‚t        j                  t        z  t         j                  z  t        z  t        dd«      z  } | j                  t         «      t        t        j                  z  t        z  t        j                  t        z  t         j                  z  t        z  t        dd«      z  z  dz  k(  sJ ‚t        j                  t        z  t        z  t        j                  z  } | j                  t        «      t        dt        t        j                  t        z  t        z  «      z  z  t        j                  z  k(  sJ ‚t        j                  t         z  t        j                  t        z  t        z  t        j                  z  z  t        j                  z  t        z  } | j                  t        «      t        dt        t        j                  t        z  t        z  «      z  z  t         j                  z  t        z  t        j                  z  t        z  t        j                  z  k(  sJ ‚y )NrW   r   rB   rS   r$   rL   r`   )r#   rD   r%   r9   rX   rY   r   ÚHalfr   r   r,   r*   r+   r"   r-   rT   s    r2   Útest_derivatives_matrix_normsrn   j  s�  € ä�3‰3Œq‰5€DØ�9‰9”Q‹<œ1ÒÐÐØ�‰:�?‰?œ1œQ ˜T™7Ó#×(Ñ(Ó*¬a´°1°©gÒ5Ð5Ð5ä�C‰C”‰E”A—F‘F‰?€DØ�9‰9”Q‹<œ1˜a¤¤Q§S¡S¬¡U£™mÑ,Ò,Ð,Ð,ä�C‰C”‰E”A—F‘F‰?€DØ�9‰9”Q‹<œ1œaŸc™c¤!™e¤h¨r°1£oÑ5Ñ5Ò5Ð5Ð5ä�C‰C”‰E”!—#‘#‰I”a‰Kœ!Ÿ&™&Ñ €DØ�9‰9”Q‹<œ1œQŸS™S™5¤™7¤4¬¯©¬A©¬a¯c©c©	´!©Ó#4Ñ4°QÑ6Ò6Ð6Ð6ä�C‰C”‰E”!—#‘#‰I”a‰Kœ( 1 a›.Ñ(€DØ�9‰9”Q‹<œ1œQŸS™S™5¤™7¤A§C¡C¬¡E¬!¯#©#¡I¬a¡K´(¸2¸q³/Ñ#AÑAÀ!ÑCÒCÐCÐCä�C‰C”‰E”!‰G”a—f‘fÑ€DØ�9‰9”Q‹<œ1˜a¤¤Q§S¡S¬¡U¬1¡W£™oÑ.¬q¯s©sÑ2Ò2Ð2Ð2ä�3‰3Œq‰5”!—#‘#”a‘%œ‘'œAŸF™FÑ"Ñ"¤1§3¡3Ñ&¤qÑ(€DØ�9‰9”Q‹<œ1˜a¤¤Q§S¡S¬¡U¬1¡W£™oÑ.¬q¯s©sÑ2´1Ñ4´Q·S±SÑ8¼Ñ:¼1¿3¹3Ñ>Ò>Ð>Ñ>r4   c                  ód  — t         j                  t        «      } | j                  t         «      j	                  t        t         j                  d„ «      «      «      sJ ‚| t        df   j                  t         t        df   «      j                  «       t        t         t        df   «      dz  dz   t        t        t        «      z  k(  sJ ‚t        | t         | j                  t         «      «       t        dz  t         z  j                  t        «      } | j                  t        «      j	                  t        dt        z  t         z  t        dz  t         z  j                  t        «      «      «      sJ ‚| t        df   j                  t        «      j                  «       dt        z  t         t        df   z  t        t        dz  t         t        df   z  «      z  k(  sJ ‚t        | t        | j                  t        «      «       t        t        «      t        z  t         z  j                  t        «      } | j                  t        «      j	                  t        t        t         z  t        z  t        t        «      t        z  t         z  j                  t        «      «      «      sJ ‚t        | t        | j                  t        «      «       t        t         j                  t"        «      z  } t        | t         | j                  t         «      «       t         j$                  t        z  t         z  t&        t(        j                  t        «      j$                  z  t         z  z   } | j                  t         «      j	                  t        j$                  t         z  t        t         z  z   t&        t(        j                  t        «      z  z   «      sJ ‚t        | t         | j                  t         «      «       t         j                  t        «      j$                  t(        z  } t        | t         | j                  t         «      «       t*        j$                  t,        z  t.        z  j                  t        «      } | j                  t,        «      j	                  t*        t*        j$                  t,        z  t.        z  j                  t        «      z  t.        j$                  z  «      sJ ‚t        | t,        | j                  t,        «      «       t*        j$                  t,        j                  t        «      z  t.        z  } | j                  t,        «      j	                  t        t*        «      t,        j                  t        «      z  t        t.        «      z  «      sJ ‚t        | t,        | j                  t,        «      «       t*        j$                  t        t,        z  t         z  j                  t        «      z  t.        z  } | j                  t,        «      j	                  t        j$                  t        t*        «      z  t        t,        z  t         z  j                  t        «      z  t        t.        «      z  t         j$                  z  «      sJ ‚t        | t,        | j                  t,        «      «       t*        j$                  t        t,        z  t.        z  j                  t        «      z  t.        j$                  z  } t*        j$                  t        z  t,        j                  t        «      z  t         z  t.        z  } | j                  t,        «      j	                  t        t        j$                  t*        z  t.        j$                  z  t         j$                  z  t,        j                  t        «      «      «      sJ ‚t*        j$                  t        t,        j                  t        «      z  t         z  j                  t        «      z  t.        z  } t*        j$                  t,        j                  t        «      j                  t        «      z  t.        z  } y )Nc                 ó$   — t        | «      dz  dz   S )NrB   r$   )r   )r#   s    r2   r3   z8test_derivatives_elementwise_applyfunc.<locals>.<lambda>‡  s   € ¬¨Q«°©°Q©€ r4   r   rB   r$   )r#   rF   r   r9   rE   r   r0   rX   rY   rZ   r@   r   r   r   r
   r&   r'   r	   rD   r/   r%   r*   r"   r+   rT   s    r2   Ú&test_derivatives_elementwise_applyfuncrq   ƒ  s.  € ä�;‰;”sÓ€DØ�9‰9”Q‹<× Ñ Ü”1—;‘;Ñ6Ó7Ó8ô:ð :ð :à”�1�‰:�?‰?œ1œQ ˜T™7Ó#×(Ñ(Ó*¬s´1´Q¸°T±7«|¸Q©ÀÑ/BÄFÌ1ÌaÃLÑ.PÒPÐPÐPÜ*¨4´°D·I±I¼a³LÔAäˆq‰D”‰F×ÑœcÓ"€DØ�9‰9”Q‹<× Ñ Ü˜œ1™œa™¤! Q¡$¤q¡&×!3Ñ!3´CÓ!8Ó9ô;ð ;ð ;à”�1�‰:�?‰?œ1Ó×"Ñ"Ó$¨¬!©¬A¬a°¨d©G©´C¼¸1¹¼Q¼qÀ!¸t¹W¹Ó4EÑ(EÒEÐEÐEÜ*¨4´°D·I±I¼a³LÔAä”‹F”1‰H”Q‰J×!Ñ!¤#Ó&€DØ�9‰9”Q‹<× Ñ Üœœ!™œA™¤¤A£¤q¡¬¡
×5Ñ5´cÓ:Ó;ô=ð =ð =ä*¨4´°D·I±I¼a³LÔAäŒQ�[‰[œÓÑ€Dô +¨4´°D·I±I¼a³LÔAä�3‰3Œq‰5”‰7”Q”q—{‘{¤3Ó'×)Ñ)Ñ)¬!Ñ+Ñ+€DØ�9‰9”Q‹<× Ñ ¤§¡¤Q¡¬¬1©¡¬q´·±¼SÓ1AÑ/AÑ!AÔBÐBÐBÜ*¨4´°D·I±I¼a³LÔAä�;‰;”sÓ×ÑœaÑ€Dô +¨4´°D·I±I¼a³LÔAä�C‰C”!‰G”a‰K×"Ñ"¤3Ó'€DØ�9‰9”Q‹<× Ñ ¤¤A§C¡C¬¡E¬!¡G×#6Ñ#6´sÓ#;Ñ!;¼A¿C¹CÑ!?Ô@Ð@Ð@Ü*¨4´°D·I±I¼a³LÔAä�3‰3”—‘œSÓ!Ñ!¤AÑ%€DØ�9‰9”Q‹<× Ñ Ü”1‹”a—k‘k¤#Ó&Ñ&¤z´!£}Ñ4ô6ð 6ð 6ä*¨4´°D·I±I¼a³LÔAä�3‰3”!”A‘#”a‘%×"Ñ"¤3Ó'Ñ'¬!Ñ+€DØ�9‰9”Q‹<× Ñ Ü	�‰ŒJ”q‹MÑœ1œQ™3œq™5×+Ñ+¬CÓ0Ñ0´¼A³Ñ>¼q¿s¹sÑBôDð Dð Dä*¨4´°D·I±I¼a³LÔAä�3‰3”!”A‘#”a‘%×"Ñ"¤3Ó'Ñ'¬!¯#©#Ñ-€Dô
 �3‰3Œq‰5”—‘œSÓ!Ñ!¤!Ñ#¤AÑ%€DØ�9‰9”Q‹<× Ñ ÜœŸ™œa™¤!§#¡#™¬¯©Ñ+¬Q¯[©[¼Ó-=Ó>ô@ð @ð @ô �3‰3”!”A—K‘K¤Ó$Ñ$¤QÑ&×1Ñ1´#Ó6Ñ6¼Ñ:€Dô �3‰3”!—+‘+œcÓ"×-Ñ-¬cÓ2Ñ2´QÑ6�Dr4   c                  ó   — t        t        t        t        «      } | j	                  t        «      t        t        t        t        «      «      k(  sJ ‚t        j                  t        t        t        t        «      z  t        z  } | j	                  t        «      t        t        t        j                  z  t        t        «      k(  sJ ‚t        t        d«      } | j	                  t        «      j                  «       dt        t        «      z  k(  sJ ‚t        t        j                  d«      } | j	                  t        «      j                  «       dt        t        «      z  k(  sJ ‚t        t        t        j                  «      } | j	                  t        «      t        j                  t        t        t        t        dd«      «      «      z  k(  sJ ‚t        t        j                  t        z  t        z  d«      } | j	                  t        «      dt        z  t        j                  z  t        z  t        z  t        j                  z  k(  sJ ‚t        t        j                  t        z  t        z  t        j                  «      } | j	                  t        «      t        dt!        t        j                  t        z  t        z  «      z  z  t        j                  z  k(  sJ ‚y )NrB   rS   )r   r*   r#   r+   r9   r   rD   r&   r"   r'   r   r   rY   r   rm   r   r   rT   s    r2   Ú(test_derivatives_of_hadamard_expressionsrs   Ä  sÄ  € ô œAœq¤!Ó$€DØ�9‰9”Q‹<œ:Ô&6´q¼!Ó&<Ó=Ò=Ð=Ð=ä�3‰3Ô¤¤1¤aÓ(Ñ(¬Ñ*€DØ�9‰9”Q‹<œ?¬1¬Q¯S©S©5´!´QÓ7Ò7Ð7Ð7ô œ!˜QÓ€DØ�9‰9”Q‹<×ÑÓ !¤J¬q£M¡/Ò1Ð1Ð1äœ!Ÿ#™#˜qÓ!€DØ�9‰9”Q‹<×ÑÓ !¤J¬q£M¡/Ò1Ð1Ð1äœ!œQŸV™VÓ$€DØ�9‰9”Q‹<œ1Ÿ6™6¤*¬^¼A¼xÈÈA»Ó-OÓ"PÑPÒPÐPÐPäœ!Ÿ#™#œa™%¤™' 1Ó%€DØ�9‰9”Q‹<˜1œQ™3œqŸs™s™7¤1™9¤Q™;¤q§s¡s™?Ò*Ð*Ð*äœ!Ÿ#™#œa™%¤™'¤1§6¡6Ó*€DØ�9‰9”Q‹<œ1˜a¤¤Q§S¡S¬¡U¬1¡W£™oÑ.¬q¯s©sÑ2Ò2Ð2Ñ2r4   N)rB   )TÚ__doc__Úsympyr   Úsympy.combinatoricsr   Úsympy.concrete.summationsr   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú&sympy.functions.elementary.exponentialr	   r
   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   r   Ú(sympy.functions.special.tensor_functionsr   Ú&sympy.matrices.expressions.determinantr   Ú#sympy.matrices.expressions.diagonalr   Ú#sympy.matrices.expressions.hadamardr   r   r   Ú"sympy.matrices.expressions.inverser   Ú"sympy.matrices.expressions.matexprr   Ú"sympy.matrices.expressions.specialr   Ú sympy.matrices.expressions.tracer   Ú!sympy.matrices.expressions.mataddr   Ú!sympy.matrices.expressions.matmulr   r   r   Ú$sympy.tensor.array.array_derivativesr   Úsympy.matrices.expressionsr   Ú0sympy.tensor.array.expressions.array_expressionsr   r    r!   r0   r1   r/   rX   r\   r"   r#   r%   r&   r'   r(   r)   r*   r+   r,   r-   rZ   r@   rG   rJ   rO   rQ   rU   r^   rc   rg   rk   rn   rq   rs   rI   r4   r2   ú<module>r‹      sa  ðñõ
 #Ý +Ý )Ý 'Ý "Ý %ß =Ý 9ß DÑ DÝ CÝ >Ý :ß bÑ bÝ 6Ý ;Ý 8Ý 2Ý 4Ý 4ß EÝ @Ý 5ß fÑ fá
�'Ó
�€€1€aÙˆuƒ~�€€1á��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€á��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€á��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€ñ 
5€óHò,ò,Cò"ò.ò2ò(5@òpPQòf"ò7ò0?ò2<7óB3r4   