§
    OŠtjw>  ã                   óì  — 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'„ ZFd7d)„ZGd*„ ZHd+„ ZId,„ ZJd-„ ZKd.„ ZLd/„ ZMd0„ ZNd1„ ZOd2„ ZPd3„ ZQd4„ ZRd5„ ZSd6S )8za
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                 ó8   — t          | |dt          dz
  f¦  «        S )Nr   r$   )r   Úk)ÚiÚjs     úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_derivatives.pyú<lambda>r3   0   s   € •n Q¨¨A­q°©s¨8Ñ4Ô4€ ó    é   c                 ó   — d S ©N)Úxreplacer/   Úas_explicitÚdiffÚreshapeÚshapeÚtomatrix)Úexprr#   ÚdiffexprÚdims       r2   Ú&_check_derivative_with_explicit_matrixrA   3   s   € à
€Fr4   c            	      óz	  — t                                t          ¦  «        t          t          t          ¦  «        k    sJ ‚t           t
          t          z   z  t          z                       t          ¦  «        t          t          d¦  «        k    sJ ‚t                               t          ¦  «        t          t          d¦  «        k    sJ ‚t          j	        t          z                       t          ¦  «        t          dd¦  «        k    sJ ‚t          t          j	        z                       t          ¦  «        t          t          t          ¦  «        k    sJ ‚t          t          z                        t          ¦  «        t          t          d¦  «        k    sJ ‚t          t          d¦  «                             t          ¦  «        t          t          d¦  «        k    sJ ‚t          t          t          ¦  «                             t          ¦  «                             t          t                               t          ¦  «        t!          t          t          ¦  «        ¦  «        ¦  «        sJ ‚t#          t          t          ¦  «                             t          ¦  «        t          t          d¦  «        k    sJ ‚t#          t          t%          t          d¦  «        z  t          t          ¦  «                             t          ¦  «        t#          t          t          ¦  «        k    sJ ‚t          t          z                       t          ¦  «        t          k    sJ ‚t'          t          ¦  «        t           z  t          z  t          z                       t          ¦  «        t)          t          ¦  «        t           z  t          z  t          z  k    sJ ‚t                               t&          ¦  «                             t          ¦  «        t          t          d¦  «        k    sJ ‚t+          t          dz  t
          z  ¦  «                             t          ¦  «        dt          z  t+          t
          ¦  «        z  k    sJ ‚t-          d¦  «        } d| z  t          z  }|                     t          ¦  «        d| z  t/          t          ¦  «        z  k    sJ ‚d S )Nr$   r5   Úmu)r&   r:   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Œ9�
¥1¥aÑ(Ô(Ò(Ð(Ð(Ð(Ý�q•1‰u‰I•a‰K×Ò�aÑ Ô ¥J­q°!Ñ$4Ô$4Ò4Ð4Ð4Ð4Ý�6Š6•!‰9Œ9�
¥1 aÑ(Ô(Ò(Ð(Ð(Ð(ÝŒC•‰E�<Š<�‰?Œ?�j¨¨AÑ.Ô.Ò.Ð.Ð.Ð.Ý�aŒ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œoÑ-­qµ!Ñ4Ô4×9Ò9½!Ñ<Ô<Õ@PÕQRÕTUÑ@VÔ@VÒVÐVÐVÐVÝ�a‰C�:Š:•a‰=Œ=�AÒÐÐÐÝ•‰FŒF•1‰H•Q‰J•q‰L×Ò�qÑ!Ô!¥S­¡V¤V­A¡X­a¡Zµ¡\Ò1Ð1Ð1Ð1Ý�;Š;•sÑÔ× Ò ¥Ñ#Ô#¥zµ!°QÑ'7Ô'7Ò7Ð7Ð7Ð7Ý•�A‘•a‘‰=Œ=×Ò�aÑ Ô  A¥a¡C­­a©¬¡LÒ0Ð0Ð0Ð0å	�‰Œ€BØˆb‰D•‰F€DØ�9Š9•Q‰<Œ<˜1˜R™4¥­¡¤Ñ+Ò+Ð+Ð+Ð+Ð+Ð+r4   c                  óÂ   — t          t          j        t          t          d¦  «        ¦  «                             t          ¦  «        t          t          d¦  «        k    sJ ‚d S )Nr$   )r   r#   rD   r   r/   r:   © r4   r2   Útest_one_matrixrJ   X   sC   € Ý•!”#•y¥ A‘”Ñ'Ô'×,Ò,­QÑ/Ô/µ9½QÀ±?´?ÒBÐBÐBÐBÐBÐBr4   c            	      ó@  — t          t          ¦  «        } t          t          | | ¦  «         t	          d¦  «        dd¦  «        ¦  «        }t
                               t
          ¦  «        |k    sJ ‚t
          j                             t
          ¦  «        t          t          | | ¦  «         t	          d¦  «        ddd¦  «        ¦  «        k    sJ ‚dt
          z                       t
          ¦  «        t          t          d| z  | ¦  «         t	          d¦  «        dd¦  «        ¦  «        k    sJ ‚t          t
          t
          ¦  «                             t
          ¦  «        t          ||¦  «        k    sJ ‚t
          t          z                        t
          ¦  «        |k    sJ ‚d S )Né   r$   r5   )r   r/   r!   r    r   r&   r:   rD   r   r   r'   )ÚIÚAdAs     r2   Ú(test_matrix_derivative_non_matrix_resultrO   \   s?  € å•‰Œ€AÝ
Õ(¨¨AÑ.Ô.°µ¸A±´¸qÀ!Ñ0DÔ0DÑ
EÔ
E€CÝ�6Š6•!‰9Œ9˜ÒÐÐÐÝŒ3�8Š8•A‰;Œ;�+Õ&8¸¸AÑ&>Ô&>ÀÅÈAÁÄÈqÐRSÐUVÑ@WÔ@WÑXÔXÒXÐXÐXÐXØ�a‰C�:Š:•a‰=Œ=�KÕ(:¸1¸Q¹3ÀÑ(BÔ(BÀNÅKÐPQÁNÄNÐSTÐVWÑDXÔDXÑYÔYÒYÐYÐYÐYÝ•!•Q‰<Œ<×Ò�QÑÔ¥8¨C°Ñ#5Ô#5Ò5Ð5Ð5Ð5Ý•‰E�<Š<�‰?Œ?˜cÒ!Ð!Ð!Ð!Ð!Ð!r4   c                  ó€   — t                                t          ¦  «        t          t           t          ¦  «        k    sJ ‚d S r7   )r"   r:   r&   r   rI   r4   r2   Ú$test_matrix_derivative_trivial_casesrQ   g   s/   € õ �6Š6•!‰9Œ9�­­1Ñ-Ô-Ò-Ð-Ð-Ð-Ð-Ð-r4   c                  ó4  — t           j        t          t          ¦  «        z  t          z  } |                      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  ¦  «        } |                      t          ¦  «        t          dz  t          z  t          z  t          dz  z  j         k    sJ ‚t          t          t          t          z   ¦  «        ¦  «        } |                      t          ¦  «        t          t          t          z   ¦  «        j        dz   k    sJ ‚d S )Néÿÿÿÿr5   )
r*   rD   r   r"   r+   r:   r   r   r&   r'   ©r>   s    r2   Ú#test_matrix_derivative_with_inverserU   m   s  € õ Œ3�w•q‰zŒz‰>�!Ñ€DØ�9Š9•Q‰<Œ<�G¥A™JœJœL˜=­™?­1¬3Ñ.­wµq©z¬z¬|Ñ;Ò;Ð;Ð;Ð;õ •w�q‘z”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Ð1Ð1Ð1Ð1r4   c                  óh  — t                                t           ¦  «        t          t          ¦  «        k    sJ ‚t           t          df                              t           t
          df         ¦  «                             ¦   «         t          t
          t          ¦  «        k    sJ ‚t           j                             t           ¦  «        t          t          ¦  «        k    sJ ‚t           j        t          z  } |                      t           ¦  «        t          k    sJ ‚| d                              t           t
          df         ¦  «                             ¦   «         t          t
          df         k    sJ ‚t          j        t           z  } |                      t           ¦  «        t          k    sJ ‚t          j        t          z  t          z  } |                      t          ¦  «        t          t          j        z  k    sJ ‚t          j        t          j        z  t          z  } |                      t          ¦  «        t          t          j        z  k    sJ ‚t          j        t          z  t          z  } |                      t          ¦  «        t          t          j        z  k    sJ ‚t          j        t          j        z  t          z  } |                      t          ¦  «        t          t          j        z  k    sJ ‚t          j        t          j        z  t          z  t          z  } |                      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  } |                      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  } |                      t           ¦  «        t          t           z  t          j        t           z  z   k    sJ ‚t          j        t          j        z  t          z  t          z  t          z  } |                      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  } |                      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                              t          t
          t$          f         ¦  «                             ¦   «         ¦  «        dk    sJ ‚t           t           j        z  t           z  } t          t          ¦  «        }|                      t           ¦  «        t'          |t           j        t           z  ¦  «        dt           z  t           j        z  z   k    sJ ‚d S )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))r5   )r#   r:   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^   �   s6  € å�6Š6•!‰9Œ9�¥™œÒ#Ð#Ð#Ð#Ý�Q�ˆTŒ7�<Š<��!˜Q˜$œÑ Ô ×%Ò%Ñ'Ô'­6µ!µQ©<¬<Ò7Ð7Ð7Ð7åŒ3�8Š8•A‰;Œ;�(¥1™+œ+Ò%Ð%Ð%Ð%õ Œ3�q‰5€DØ�9Š9•Q‰<Œ<�1ÒÐÐÐØ�Œ:�?Š?�1�Q ˜Tœ7Ñ#Ô#×(Ò(Ñ*Ô*­aµ°1°¬gÒ5Ð5Ð5Ð5ÝŒ3�q‰5€DØ�9Š9•Q‰<Œ<�1ÒÐÐÐõ Œ3�q‰5•‰7€DØ�9Š9•Q‰<Œ<�1�QœS™5Ò Ð Ð Ð õ Œ3�qŒs‰7•1‰9€DØ�9Š9•Q‰<Œ<�1�QœS™5Ò Ð Ð Ð õ Œ3�q‰5•‰7€DØ�9Š9•Q‰<Œ<�1�QœS™5Ò Ð Ð Ð ÝŒ3�qŒs‰7•1‰9€DØ�9Š9•Q‰<Œ<�1�QœS™5Ò Ð Ð Ð õ Œ3�qŒs‰7•1‰9•Q‰;€DØ�9Š9•Q‰<Œ<�1�Q™3�qœs™7¥Q¥q¡S­¬¡WÑ,Ò,Ð,Ð,Ð,õ �a‰C•!‰GŒ;•q‰=�!�A™#¥™'Ñ"€DØ�9Š9•Q‰<Œ<�1œ3�q™5¥!¥A¡#­¡'™?­Q¬Sµ´©Wµa½±c½A±gÑ->Ñ>Ò>Ð>Ð>Ð>õ Œ3�q‰5•‰7€DØ�9Š9•Q‰<Œ<�1�Q™3¥¤¥Q¡™;Ò&Ð&Ð&Ð&õ Œ3�qŒs‰7•1‰9•Q‰;•q‰=€DØ�9Š9•Q‰<Œ<�1œ3�q™5¥™7¥1¤3™;­­1©­Q©­q¬s©Ñ2Ò2Ð2Ð2Ð2õ �a‰C•!‰GŒ;•q‰=�!�A™#¥™'Ñ"€DØ�9Š9•Q‰<Œ<�1�a¥™c¥A™g™;¥q¤s™?­Q¬Sµ!µA±#½±'©]½1¼3Ñ->Ñ>Ò>Ð>Ð>Ð>Ýˆt�DŒz�Š�q¥¥A œwÑ'Ô'×,Ò,Ñ.Ô.Ñ/Ô/ð 	^ò^ð ^ð ^ð ^õ �QŒS‰5•‰7€DÝ•‰Œ€AØ�9Š9•Q‰<Œ<Õ+¨A­q¬sµ1©uÑ5Ô5¸½!¹½A¼C¹Ñ?Ò?Ð?Ð?Ð?Ð?Ð?r4   c                  ó¶&  — t          t          ¦  «        t          z  } t          t          ¦  «        }|                      t          ¦  «        t          t          |t          ¦  «        t          t          t          t          ¦  «        |z  |¦  «         t          d¦  «        dd¦  «        ¦  «        ¦  «        k    sJ ‚| t          t          f                              t          t          t          f         ¦  «                             ¦   «         t          t          t          ¦  «        t          t          t          ¦  «        z  t          t          ¦  «        z  t          t          t          ¦  «        t          t          t          f         z  z   k    sJ ‚t          t          ¦  «        } |                      t          ¦  «        t          t          ¦  «        k    sJ ‚|                      t"          ¦  «                             t          t          t          f         ¦  «                             ¦   «         t          t          t          ¦  «        k    sJ ‚t          t          t          z  ¦  «        } |                      t          ¦  «        t          j        k    sJ ‚|                      t"          ¦  «                             t          t          t          f         ¦  «                             ¦   «         t          t          t          f         k    sJ ‚t          t          t          z  t&          z  ¦  «        } |                      t          ¦  «        t          j        t&          j        z  k    sJ ‚|                      t"          ¦  «                             t          t          t          f         ¦  «                             ¦   «                              t          j        t&          j        z  t          t          f         ¦  «        sJ ‚t          t          t          j        z  t&          z  ¦  «        } |                      t          ¦  «        t&          t          z  k    sJ ‚t          t          j        t          z  ¦  «        } |                      t          ¦  «        t          k    sJ ‚t          t          t          j        z  ¦  «        } |                      t          ¦  «        t          k    sJ ‚t          t          dz  ¦  «        } |                      t          ¦  «        dt          j        z  k    sJ ‚t          t          dz  t&          z  ¦  «        } |                      t          ¦  «        t          t&          z  t&          t          z  z   j        k    sJ ‚t          t+          t          t          t&          ¦  «        ¦  «        } |                      t          ¦  «        t          t&          z  t&          t          z  z   j        k    sJ ‚t          t          j        t&          z  t          z  ¦  «        } |                      t          ¦  «        t&          t          z  t&          j        t          z  z   k    sJ ‚t          t&          t          z  t          j        z  ¦  «        } |                      t          ¦  «        t&          t          z  t&          j        t          z  z   k    sJ ‚t          t          t          j        z  t&          z  ¦  «        } |                      t          ¦  «        t&          t          z  t&          j        t          z  z   k    sJ ‚t          t          t&          z  t          j        z  ¦  «        } |                      t          ¦  «        t          t&          j        z  t          t&          z  z   k    sJ ‚t          t&          t          j        z  t          z  ¦  «        } |                      t          ¦  «        t          t&          j        z  t          t&          z  z   k    sJ ‚t          t          j        t          z  t&          z  ¦  «        } |                      t          ¦  «        t          t&          j        z  t          t&          z  z   k    sJ ‚t          t          t          z  t&          z  t          z  ¦  «        } |                      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  ¦  «        } |                      t          ¦  «        dt          z  k    sJ ‚t          t          t          j        z  ¦  «        } |                      t          ¦  «        dt          z  k    sJ ‚t          t&          j        t          j        z  t,          z  t          z  t&          z  ¦  «        } |                      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  ¦  «        } |                      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  ¦  «        } |                      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  ¦  «        } |                      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  ¦  «        } |                      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  ¦  «        } |                      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  ¦  «        } |                      t          ¦  «        t                               ¦   «         j         t          j        z  t                               ¦   «         z  t,                               ¦   «         j        z  t                               ¦   «         j        z  t                               ¦   «         j        t          z  t                               ¦   «         z  t,                               ¦   «         z  t                               ¦   «         j        z  z
  k    sJ ‚t          t          j        t,          z  t          z                       ¦   «         t          j        t&          z  t          z  z  ¦  «        } |                      t          ¦  «        dt,          z  t          z  t          j        t,          z  t          z                       ¦   «         z  t          j        z  t&          z  t          z  t          j        t,          z  t          z                       ¦   «         z  dt&          z  t          z  t          j        t,          z  t          z                       ¦   «         z  z   k    sJ ‚t          t          t          j        t,          z  t          z  z                        ¦   «         t          j        t&          z  t          z  z  ¦  «        } |                      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 ‚d S )NrL   r$   r5   rS   éþÿÿÿ)r   r&   r   r/   r:   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   ¹   së  € å•‰8Œ8•A‰:€DÝ•‰Œ€AØ�9Š9•Q‰<Œ<�8Õ$6°q½!Ñ$<Ô$<½kÕJ\Õ]bÕcdÑ]eÔ]eÐfgÑ]gÐijÑJkÔJkÐm{ÕmxÐyzÑm{Ôm{Ð|}ð  @Añ  nBô  nBñ  ?Cô  ?Cñ  Dô  Dò  Dð  Dð  Dð  DØ••1�Œ:�?Š?�1�Q¥˜Tœ7Ñ#Ô#×(Ò(Ñ*Ô*Ý�q•!‰Œ•V�A�q‘\”\Ñ!¥%­¡(¤(Ñ*Ý�q•!‰Œ•Q•q�!�t”WÑñ	òð ð ð õ •‰8Œ8€DØ�9Š9•Q‰<Œ<�8¥A™;œ;Ò&Ð&Ð&Ð&Ø�<Š<�ÑÔ×!Ò!¥!¥A¥q D¤'Ñ*Ô*×/Ò/Ñ1Ô1µV½A½q±\´\ÒAÐAÐAÐAõ ••1‘‰:Œ:€DØ�9Š9•Q‰<Œ<�1œ3ÒÐÐÐØ�<Š<�ÑÔ×!Ò!¥!¥A¥q D¤'Ñ*Ô*×/Ò/Ñ1Ô1µQµq½!°t´WÒ<Ð<Ð<Ð<õ ••1‘•Q‘‰<Œ<€DØ�9Š9•Q‰<Œ<�1œ3�qœs™7Ò"Ð"Ð"Ð"Ø�<Š<�ÑÔ×!Ò!¥!¥A¥q D¤'Ñ*Ô*×/Ò/Ñ1Ô1×:Ò:½A¼CÅÄ¹GÅQÍÀT¼?ÑKÔKÐKÐKÐKõ ••1”3‘•q‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�Q™3ÒÐÐÐõ •”•Q‘‰<Œ<€DØ�9Š9•Q‰<Œ<�1ÒÐÐÐõ ••1”3‘‰<Œ<€DØ�9Š9•Q‰<Œ<�1ÒÐÐÐõ •�A‘‰;Œ;€DØ�9Š9•Q‰<Œ<˜1�Qœ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‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�Q™3¥¤¥Q¡™;Ò&Ð&Ð&Ð&õ ••1”3‘•q‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�Q™3¥¤¥Q¡™;Ò&Ð&Ð&Ð&õ ••1‘•Q”S‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�QœS™5¥1¥Q¡3™;Ò&Ð&Ð&Ð&õ ••1”3‘•q‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�QœS™5¥1¥Q¡3™;Ò&Ð&Ð&Ð&õ •”•Q‘•q‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1�QœS™5¥1¥Q¡3™;Ò&Ð&Ð&Ð&õ ••1‘•Q‘•q‘‰>Œ>€DØ�9Š9•Q‰<Œ<�1œ3�qœs™7¥1¤3™;­¬­Q¬S©µ´©Ñ4Ò4Ð4Ð4Ð4õ •”•Q‘‰<Œ<€DØ�9Š9•Q‰<Œ<˜1�Q™3ÒÐÐÐÝ••1”3‘‰<Œ<€DØ�9Š9•Q‰<Œ<˜1�Q™3ÒÐÐÐõ •”•Q”S‘�‘�1‘�Q‘ÑÔ€DØ�9Š9•Q‰<Œ<�1œ3�q™5¥™7¥1¤3™;­­1©­Q©­q¬s©Ñ2Ò2Ð2Ð2Ð2õ •”•Q‘•q‘�‘ÑÔ€DØ�9Š9•Q‰<Œ<�1�Q™3�q™5¥1¤3¥q¡5­¬¡9Ñ,Ò,Ð,Ð,Ð,õ ••1‘•Q‘•q”s‘�1‘ÑÔ€DØ�9Š9•Q‰<Œ<�1œ3�qœs™7¥1™9¥Q¤S™=­1­Q©3­q©5µ©7Ñ2Ò2Ð2Ð2Ð2õ •!•A‘#•a‘%�!‘)�a¥™c¥!™e¥a™iœ]Ñ*Ñ+Ô+€DØ�9Š9•Q‰<Œ<˜1�QœS™5¥!¥A¡#¥a¡%­!¡)Ñ,­Q¬SÑ0Ò0Ð0Ð0Ð0õ ••A‘‰;Œ;€Dõ ••1•a‘4‘‰=Œ=€Dõ •”•Q”S‘�‘�1‘�QœS‘¥Ñ"¥1Ñ$¥QÑ&Ñ'Ô'€DØ�9Š9•Q‰<Œ<�1�Q™3�qœs™7¥1™9¥Q™;¥q™=­¬Ñ,­q¬sµ1©uµQ©wµq´s©{½1¼3©½q¼sÑ/BÅ1Ñ/DÑDÅqÍÁsÍ1ÁuÍQÌSÁyÕQRÔQTÁ}ÕUVÁÕWXÑGXÑXÕ[\Ô[^Õ_`Ñ[`ÕabÔadÑ[dÕefÔehÑ[hÕijÑ[jÕklÑ[lÕmnÔmpÑ[pÑpÒpÐpÐpÐpõ
 ••1�r‘7‘�1‘ÑÔ€DØ�9Š9•Q‰<Œ<�G¥A™JœJœL˜=­¬Ñ,­Q¬SÑ0µ½±´´Ñ=Ò=Ð=Ð=Ð=õ •�œ�Q™�q™Ñ!Ô!¥!Ñ#Ñ$Ô$€Dà�9Š9•Q‰<Œ<�QŸUšU™WœWœY˜;¥q¤s™?­1¯5ª5©7¬7Ñ2µ1·5²5±7´7´9Ñ<½Q¿UºU¹W¼W¼YÑFÍÏÊÉÌÌÕSTÉÕUV×UZÒUZÑU\ÔU\ÑI\Õ]^×]bÒ]bÑ]dÔ]dÑIdÕef×ejÒejÑelÔelÔenÑInÑnÒnÐnÐnÐnõ •!”#•a‘%�‘'—’‘”¥!¤#¥a¡%­¡'Ñ*Ñ+Ô+€DØ�9Š9•Q‰<Œ<˜2�a™4¥™6¥1¤3¥q¡5­¡7§-¢-¡/¤/Ñ1µ!´#Ñ5µaÑ7½Ñ9½1¼3½q¹5Å¹7¿-º-¹/¼/ÑIÈAÍaÉCÕPQÉEÕSTÔSVÕWXÑSXÕYZÑSZ×R_ÒR_ÑRaÔRaÑLaÑaÒaÐaÐaÐaõ •!•a”c�!‘e�A‘g‘+×"Ò"Ñ$Ô$¥a¤c­!¡e­A¡gÑ.Ñ/Ô/€Dà�9Š9•Q‰<Œ<�1�Q™3�w¥q­1¬3­q©5µ©7¡{Ñ3Ô3Ñ3µa½±c½'Å!ÅaÄcÍ!ÁeÍAÁgÁ+Ñ:NÔ:NÑ6NÍqÌsÑ6RÕSTÑ6TÕUVÑ6VÕW^Õ_`ÕcdÔcfÕghÑchÕijÑcjÑ_jÑWkÔWkÑ6kÑkÕnoÔnqÕrsÑnsÕt{Õ|}Ô|õ  DEõ  FGñ  DGô  CJõ  KLñ  CLñ  }Lñ  uMô  uMñ  oMõ  NOô  NQñ  oQõ  RSô  RUñ  oUõ  VWñ  oWõ  X_õ  `aô  `cõ  ghõ  ijñ  gjô  fmõ  noñ  foñ  `oñ  Xpô  Xpñ  opñ  põ  stô  svõ  wxñ  sxõ  y@õ  ABô  ADõ  HIõ  JKñ  HKô  GNõ  OPñ  GPñ  APñ  yQô  yQñ  sQñ  Qò  Qð  Qð  Qð  Qð  Qð  Qr4   c            	      ó4  — 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   }|                      t          ¦  «        |k    sJ ‚d S )NrL   é*   r5   )	r*   rD   r&   r"   r'   r+   r)   r(   r:   )r>   Úresults     r2   Ú+test_derivatives_of_complicated_matrix_exprrg   L  s?  € ÝŒ3••!‘•Q”S�‘U�Q�q™S‘[Ñ!¥A¤C­¬¡G­Q­q¬s©UµAµa±C½¼±G½aÅÄÅQÁÍÍ1ÉÁ¹oÍaÑ>OÕPQÑ>QÑ4QÕTUÔTWÕXYÔX[ÑT[Õ\]ÑT]Ñ4]Ñ-^Õ_`Ñ-`ÕcdÕfgÕhiÔhkÑfkÕnoÕpqÑnqÕrsÑnsÕtuÔ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ñ  GQõ  RSô  RUñ  GUõ  WXõ  [\ô  [^ñ  W^ñ  G_ñ  _ñ  `õ  abñ  b€DÝ••1‘•Q‘•q”s‘˜Q�q™S¥™UÑ"¥Q¥q¤s¡UÑ*Ñ+­aµ´©eµQ½½!¹½a¼cÅ!¹e¹±_ÅQÑ5FÅqÑ5HÍ1ÍQÉ3ÍqÌsÉ7Ñ5RÕUVÔUXÕYZÔY\ÑU\Õ]^ÑU^Ñ5^Ñ._Õ`aÑ.aÑaÕcdÑdÕefÑfÕghÔgjÑjÕklÔknÑnÕqrÐtuÑquÕvwÑqwÕxyÔx{Ñq{Õ|}Ô|Ñqõ  ABô  ADñ  rDõ  EFñ  rFõ  GHô  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[ñ  Q[õ  \]ô  \_ñ  Q_õ  `añ  Qaõ  bcô  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ñ  hvõ  wxô  wzñ  hzõ  {|ô  {~ñ  h~õ  @ñ  h@õ  ABô  ADñ  hDõ  EFñ  hFñ  Fõ  IJõ  KLñ  ILõ  MNô  MPñ  IPõ  QRñ  IRõ  STñ  ITñ  Tõ  WXõ  YZô  Y\ñ  W\ð  ^`õ  abñ  ^bð  egõ  hiô  hkñ  ekñ  ^kñ  Wlõ  mnñ  Wnõ  opñ  Wpõ  qrô  qtñ  Wtñ  tõ  wxõ  yzô  y|ñ  w|õ  }~ñ  w~õ  @ñ  w@õ  ABñ  wBõ  CDô  CFñ  wFõ  GHô  GJð  LMñ  GMñ  wMõ  NOñ  wOõ  PQô  PSñ  wSñ  Sõ  VWõ  XYô  X[ñ  V[õ  \]ñ  V]õ  ^_ñ  V_õ  `añ  Vaõ  bcô  beñ  Veõ  fgô  fið  klñ  flñ  Vlõ  mnô  mpñ  Vpõ  rsô  ruõ  vwñ  rwõ  z{ô  z}õ  ~ô  ~Añ  zAñ  rAñ  VBñ  Bð  EGõ  HIñ  EIõ  JKô  JMñ  EMõ  NOñ  EOõ  PQñ  EQõ  RSô  RUñ  EUõ  VWô  VYñ  EYñ  Yõ  \]ô  \_ð  acõ  deñ  aeð  hjõ  klô  knñ  hnñ  anñ  \oõ  pqñ  \qõ  rsô  ruñ  \uõ  vwñ  \wõ  xyñ  \yñ  yõ  |}ô  |õ  @Aô  @Cð  EFñ  @Fñ  |Fõ  GHñ  |Hõ  IJñ  |Jõ  KLñ  |Lõ  MNô  MPñ  |Põ  QRô  QTñ  |Tõ  UVñ  |Vñ  Võ  YZô  Y\õ  ]^ñ  Y^õ  _`ô  _bñ  Ybõ  deô  dgõ  hiô  hkñ  dkõ  noô  nqõ  rsñ  nsñ  dsñ  Ytñ  tõ  wxô  wzõ  {|ô  {~ñ  w~õ  @ñ  w@õ  ABô  ADñ  wDõ  EFñ  wFõ  GHñ  wHõ  IJñ  wJõ  KLô  KNñ  wNõ  OPô  ORð  TUñ  OUñ  wUõ  VWô  VYñ  wYñ  Yõ  \]ô  \_õ  `añ  \aõ  bcñ  \cõ  deñ  \eõ  fgô  fiñ  \iõ  jkô  jmñ  \mõ  noñ  \oñ  oð  rsõ  tuô  twñ  rwõ  xyñ  ryõ  z{ñ  r{õ  |}ñ  r}õ  ~ô  ~Añ  rAõ  BCô  BEñ  rEõ  FGô  FIñ  rIñ  Iõ  LMô  LOõ  PQñ  LQõ  RSð  UVñ  RVñ  LVõ  WXñ  LXõ  YZô  Y\ñ  L\õ  ]^ô  ]`ñ  L`õ  abô  adñ  Ldõ  efñ  Lfõ  ghô  gjñ  Ljñ  jõ  mnô  mpõ  qrô  qtñ  mtõ  uvñ  mvõ  wxô  wzñ  mzõ  {|ô  {~ñ  m~ñ  ~€FØ�9Š9•Q‰<Œ<˜6Ò!Ð!Ð!Ð!Ð!Ð!r4   c                  ó~  — dt          t          ¦  «        z  } |                      t          ¦  «        dt          t          ¦  «        z  k    sJ ‚t          } |                      t          ¦  «        }t          |t          ¦  «        sJ ‚|t          t          t          ¦  «        k    sJ ‚t          t          ¦  «        dz  } |                      t          ¦  «        dt          t          ¦  «        z  t          t          ¦  «        z  k    sJ ‚t          t          ¦  «        t          z  } t          t          ¦  «        }|                      t          ¦  «        t          t          |t          ¦  «        t          t          t          t          ¦  «        |z  |¦  «         t          d¦  «        dd¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          ¦  «        t          z  ¦  «        } |                      t          ¦  «        dt          t          ¦  «        z  t          t          ¦  «        z  k    sJ ‚t          t          t          t          ¦  «        t          z  ¦  «        t          z  ¦  «        } |                      t          ¦  «        dt          t          ¦  «        dz  z  t          t          ¦  «        z  k    sJ ‚d S )NrL   r5   r$   )r   r&   r:   r   r/   Ú
isinstancer   r   r    r!   r   )r>   ÚderivrM   s      r2   Ú"test_mixed_deriv_mixed_expressionsrk   R  s  € à�U•1‰XŒX‰:€DØ�9Š9•Q‰<Œ<˜1�X¥a™[œ[™=Ò(Ð(Ð(Ð(å€DØ�IŠI•a‰LŒL€EÝ�e�ZÑ(Ô(Ð(Ð(Ð(Ø•J�q¥!Ñ$Ô$Ò$Ð$Ð$Ð$å•‰8Œ8�Q‰;€DØ�9Š9•Q‰<Œ<˜A�e¥A™hœh™J­µ©¬Ñ3Ò3Ð3Ð3Ð3å•‰8Œ8•A‰:€DÝ•‰Œ€AØ�9Š9•Q‰<Œ<�8Õ$6°q½!Ñ$<Ô$<½kÕJ\Õ]bÕcdÑ]eÔ]eÐfgÑ]gÐijÑJkÔJkÐm{ÕmxÐyzÑm{Ôm{Ð|}ð  @Añ  nBô  nBñ  ?Cô  ?Cñ  Dô  Dò  Dð  Dð  Dð  Då••q‘”�!‘ÑÔ€DØ�9Š9•Q‰<Œ<˜A�e¥A™hœh™J­µ©¬Ñ3Ò3Ð3Ð3Ð3å••u�Q‘x”x¥‘zÑ"Ô"¥1Ñ$Ñ%Ô%€DØ�9Š9•Q‰<Œ<˜A�e¥A™hœh¨™k™M­8µA©;¬;Ñ6Ò6Ð6Ð6Ð6Ð6Ð6r4   c                  óT  — t           j        t          z  } |                      t           ¦  «        t          k    sJ ‚| d                              t           t          df         ¦  «                             ¦   «         t          t          df         k    sJ ‚t           j        t          z  t          j        z  } |                      t           ¦  «        t          dt          t           j        t          z  ¦  «        z  z  k    sJ ‚t           j        t           z  t          j        z  } |                      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  } |                      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  } |                      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  } |                      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  } |                      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 ‚d S )NrW   r   r5   rS   r$   rL   r`   )r#   rD   r%   r:   rX   rY   r   ÚHalfr   r   r,   r*   r+   r"   r-   rT   s    r2   Útest_derivatives_matrix_normsrn   j  s’  € åŒ3�q‰5€DØ�9Š9•Q‰<Œ<�1ÒÐÐÐØ�Œ:�?Š?�1�Q ˜Tœ7Ñ#Ô#×(Ò(Ñ*Ô*­aµ°1°¬gÒ5Ð5Ð5Ð5åŒC•‰E•A”F‰?€DØ�9Š9•Q‰<Œ<�1˜a¥¥Q¤S­¡U¡¤™mÑ,Ò,Ð,Ð,Ð,åŒC•‰E•A”F‰?€DØ�9Š9•Q‰<Œ<�1�aœc¥!™e¥h¨r°1¡o¤oÑ5Ñ5Ò5Ð5Ð5Ð5åŒC•‰E•!”#‰I•a‰K�!œ&Ñ €DØ�9Š9•Q‰<Œ<�1�QœS™5¥™7¥4­¬­A©­a¬c©	µ!©Ñ#4Ô#4Ñ4°QÑ6Ò6Ð6Ð6Ð6åŒC•‰E•!”#‰I•a‰K�( 1 a™.œ.Ñ(€DØ�9Š9•Q‰<Œ<�1�QœS™5¥™7¥A¤C­¡E­!¬#¡I­a¡Kµ(¸2¸q±/´/Ñ#AÑAÀ!ÑCÒCÐCÐCÐCåŒC•‰E•!‰G•a”fÑ€DØ�9Š9•Q‰<Œ<�1˜a¥¥Q¤S­¡U­1¡W¡¤™oÑ.­q¬sÑ2Ò2Ð2Ð2Ð2åŒ3�q‰5•!”#•a‘%�‘'�AœFÑ"Ñ"¥1¤3Ñ&¥qÑ(€DØ�9Š9•Q‰<Œ<�1˜a¥¥Q¤S­¡U­1¡W¡¤™oÑ.­q¬sÑ2µ1Ñ4µQ´SÑ8½Ñ:½1¼3Ñ>Ò>Ð>Ð>Ð>Ð>Ð>r4   c                  óB  — t                                t          ¦  «        } |                      t           ¦  «                             t          t                                d„ ¦  «        ¦  «        ¦  «        sJ ‚| t          df                              t           t          df         ¦  «                             ¦   «         t          t           t          df         ¦  «        dz  dz   t          t          t          ¦  «        z  k    sJ ‚t          | t           |                      t           ¦  «        ¦  «         t          dz  t           z                       t          ¦  «        } |                      t          ¦  «                             t          dt          z  t           z  t          dz  t           z                       t          ¦  «        ¦  «        ¦  «        sJ ‚| t          df                              t          ¦  «                             ¦   «         dt          z  t           t          df         z  t          t          dz  t           t          df         z  ¦  «        z  k    sJ ‚t          | t          |                      t          ¦  «        ¦  «         t          t          ¦  «        t          z  t           z                       t          ¦  «        } |                      t          ¦  «                             t          t          t           z  t          z  t          t          ¦  «        t          z  t           z                       t          ¦  «        ¦  «        ¦  «        sJ ‚t          | t          |                      t          ¦  «        ¦  «         t          t                                t"          ¦  «        z  } t          | t           |                      t           ¦  «        ¦  «         t           j        t          z  t           z  t&          t(                               t          ¦  «        j        z  t           z  z   } |                      t           ¦  «                             t          j        t           z  t          t           z  z   t&          t(                               t          ¦  «        z  z   ¦  «        sJ ‚t          | t           |                      t           ¦  «        ¦  «         t                                t          ¦  «        j        t(          z  } t          | t           |                      t           ¦  «        ¦  «         t*          j        t,          z  t.          z                       t          ¦  «        } |                      t,          ¦  «                             t*          t*          j        t,          z  t.          z                       t          ¦  «        z  t.          j        z  ¦  «        sJ ‚t          | t,          |                      t,          ¦  «        ¦  «         t*          j        t,                               t          ¦  «        z  t.          z  } |                      t,          ¦  «                             t          t*          ¦  «        t,                               t          ¦  «        z  t          t.          ¦  «        z  ¦  «        sJ ‚t          | t,          |                      t,          ¦  «        ¦  «         t*          j        t          t,          z  t           z                       t          ¦  «        z  t.          z  } |                      t,          ¦  «                             t          j        t          t*          ¦  «        z  t          t,          z  t           z                       t          ¦  «        z  t          t.          ¦  «        z  t           j        z  ¦  «        sJ ‚t          | t,          |                      t,          ¦  «        ¦  «         t*          j        t          t,          z  t.          z                       t          ¦  «        z  t.          j        z  } t*          j        t          z  t,                               t          ¦  «        z  t           z  t.          z  } |                      t,          ¦  «                             t          t          j        t*          z  t.          j        z  t           j        z  t,                               t          ¦  «        ¦  «        ¦  «        sJ ‚t*          j        t          t,                               t          ¦  «        z  t           z                       t          ¦  «        z  t.          z  } t*          j        t,                               t          ¦  «                             t          ¦  «        z  t.          z  } d S )Nc                 ó,   — t          | ¦  «        dz  dz   S )Nr5   r$   )r   )r#   s    r2   r3   z8test_derivatives_elementwise_applyfunc.<locals>.<lambda>‡  s   € ­¨Q©¬°©°Q©€ r4   r   r5   r$   )r#   rF   r   r:   rE   r   r0   rX   rY   rZ   rA   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Ð6Ñ7Ô7Ñ8Ô8ñ:ô :ð :ð :ð :à•�1�Œ:�?Š?�1�Q ˜Tœ7Ñ#Ô#×(Ò(Ñ*Ô*­sµ1µQ¸°T´7©|¬|¸Q©ÀÑ/BÅFÍ1ÍaÁLÄLÑ.PÒPÐPÐPÐPÝ*¨4µ°D·I²I½a±L´LÑAÔAÐAåˆq‰D•‰F×Ò�cÑ"Ô"€DØ�9Š9•Q‰<Œ<× Ò Ý˜�1™�a™¥! Q¡$¥q¡&×!3Ò!3µCÑ!8Ô!8Ñ9Ô9ñ;ô ;ð ;ð ;ð ;à•�1�Œ:�?Š?�1ÑÔ×"Ò"Ñ$Ô$¨­!©­A­a°¨d¬G©µC½¸1¹½Q½qÀ!¸t¼W¹Ñ4EÔ4EÑ(EÒEÐEÐEÐEÝ*¨4µ°D·I²I½a±L´LÑAÔAÐAå•‰FŒF•1‰H•Q‰J×!Ò!¥#Ñ&Ô&€DØ�9Š9•Q‰<Œ<× Ò Ý��!™�A™¥¥A¡¤¥q¡­¡
×5Ò5µcÑ:Ô:Ñ;Ô;ñ=ô =ð =ð =ð =å*¨4µ°D·I²I½a±L´LÑAÔAÐAå�Q�[Š[�ÑÔÑ€Dõ +¨4µ°D·I²I½a±L´LÑAÔAÐAåŒ3�q‰5•‰7•Q•q—{’{¥3Ñ'Ô'Ô)Ñ)­!Ñ+Ñ+€DØ�9Š9•Q‰<Œ<× Ò ¥¤¥Q¡­­1©¡­qµ·²½SÑ1AÔ1AÑ/AÑ!AÑBÔBÐBÐBÐBÝ*¨4µ°D·I²I½a±L´LÑAÔAÐAå�;Š;•sÑÔÔ�aÑ€Dõ +¨4µ°D·I²I½a±L´LÑAÔAÐAåŒC•!‰G•a‰K×"Ò"¥3Ñ'Ô'€DØ�9Š9•Q‰<Œ<× Ò ¥¥A¤C­¡E­!¡G×#6Ò#6µsÑ#;Ô#;Ñ!;½A¼CÑ!?Ñ@Ô@Ð@Ð@Ð@Ý*¨4µ°D·I²I½a±L´LÑAÔAÐAåŒ3•—’�SÑ!Ô!Ñ!¥AÑ%€DØ�9Š9•Q‰<Œ<× Ò Ý•1‰Œ•a—k’k¥#Ñ&Ô&Ñ&¥zµ!¡}¤}Ñ4ñ6ô 6ð 6ð 6ð 6å*¨4µ°D·I²I½a±L´LÑAÔAÐAåŒ3•!•A‘#•a‘%×"Ò"¥3Ñ'Ô'Ñ'­!Ñ+€DØ�9Š9•Q‰<Œ<× Ò Ý	Œ�J•q‰MŒMÑ�1�Q™3�q™5×+Ò+­CÑ0Ô0Ñ0µ½A±´Ñ>½q¼sÑBñDô Dð Dð Dð Då*¨4µ°D·I²I½a±L´LÑAÔAÐAåŒ3•!•A‘#•a‘%×"Ò"¥3Ñ'Ô'Ñ'­!¬#Ñ-€Dõ
 Œ3�q‰5•—’�SÑ!Ô!Ñ!¥!Ñ#¥AÑ%€DØ�9Š9•Q‰<Œ<× Ò Ý�œ�a™¥!¤#™­¬Ñ+­Q¯[ª[½Ñ-=Ô-=Ñ>Ô>ñ@ô @ð @ð @ð @õ Œ3•!•A—K’K¥Ñ$Ô$Ñ$¥QÑ&×1Ò1µ#Ñ6Ô6Ñ6½Ñ:€Dõ Œ3•!—+’+�cÑ"Ô"×-Ò-­cÑ2Ô2Ñ2µQÑ6€D€D€Dr4   c                  ó\  — t          t          t          t          ¦  «        } |                      t          ¦  «        t          t          t          t          ¦  «        ¦  «        k    sJ ‚t          j        t          t          t          t          ¦  «        z  t          z  } |                      t          ¦  «        t          t          t          j        z  t          t          ¦  «        k    sJ ‚t          t          d¦  «        } |                      t          ¦  «                             ¦   «         dt          t          ¦  «        z  k    sJ ‚t          t          j        d¦  «        } |                      t          ¦  «                             ¦   «         dt          t          ¦  «        z  k    sJ ‚t          t          t          j        ¦  «        } |                      t          ¦  «        t          j        t          t          t          t          dd¦  «        ¦  «        ¦  «        z  k    sJ ‚t          t          j        t          z  t          z  d¦  «        } |                      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        ¦  «        } |                      t          ¦  «        t          dt!          t          j        t          z  t          z  ¦  «        z  z  t          j        z  k    sJ ‚d S )Nr5   rS   )r   r*   r#   r+   r:   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Õ¥¥1¥aÑ(Ô(Ñ(­Ñ*€DØ�9Š9•Q‰<Œ<�?­1­Q¬S©5µ!µQÑ7Ô7Ò7Ð7Ð7Ð7õ �!˜QÑÔ€DØ�9Š9•Q‰<Œ<×ÒÑÔ !¥J­q¡M¤M¡/Ò1Ð1Ð1Ð1å�!œ#˜qÑ!Ô!€DØ�9Š9•Q‰<Œ<×ÒÑÔ !¥J­q¡M¤M¡/Ò1Ð1Ð1Ð1å�!�QœVÑ$Ô$€DØ�9Š9•Q‰<Œ<�1œ6¥*­^½A½xÈÈA¹¼Ñ-OÔ-OÑ"PÔ"PÑPÒPÐPÐPÐPå�!œ#�a™%¥™' 1Ñ%Ô%€DØ�9Š9•Q‰<Œ<˜1�Q™3�qœs™7¥1™9¥Q™;¥q¤s™?Ò*Ð*Ð*Ð*å�!œ#�a™%¥™'¥1¤6Ñ*Ô*€DØ�9Š9•Q‰<Œ<�1˜a¥¥Q¤S­¡U­1¡W¡¤™oÑ.­q¬sÑ2Ò2Ð2Ð2Ð2Ð2Ð2r4   N)r5   )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   rA   rG   rJ   rO   rQ   rU   r^   rc   rg   rk   rn   rq   rs   rI   r4   r2   ú<module>r‹      sÅ  ððð ð
 #Ð "Ð "Ð "Ð "Ð "Ø +Ð +Ð +Ð +Ð +Ð +Ø )Ð )Ð )Ð )Ð )Ð )Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "Ø %Ð %Ð %Ð %Ð %Ð %Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ CÐ CÐ CÐ CÐ CÐ CØ >Ð >Ð >Ð >Ð >Ð >Ø :Ð :Ð :Ð :Ð :Ð :Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ @Ð @Ð @Ð @Ð @Ð @Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fà
ˆ'�'Ñ
Ô
�€€1€aØ€wˆu�~„~�€€1à€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€à€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€à€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€ð 
5Ð	4€ðHð Hð Hð Hð,ð ,ð ,ð,Cð Cð Cð"ð "ð "ð.ð .ð .ð2ð 2ð 2ð(5@ð 5@ð 5@ðpPQð PQð PQðf"ð "ð "ð7ð 7ð 7ð0?ð ?ð ?ð2<7ð <7ð <7ðB3ð 3ð 3ð 3ð 3r4   