§
    fŠtjLl  ã                   óp  — d dl Z d dlZd dlZd dlmc mZ d dlmc m	Z
 d dlmZmZmZ d dlmZmZmZ d dlmZmZmZ d dlmZmZmZ d dlmZ  ee¦  «         G d„ d¦  «        ¦   «         Z G d	„ d
¦  «        Z ee¦  «         G d„ de¦  «        ¦   «         Z ee¦  «         G d„ de¦  «        ¦   «         Z dS )é    N)Úxp_assert_closeÚxp_assert_equalÚxp_assert_less)Úis_numpyÚis_torchÚmake_xp_test_case)ÚstatsÚoptimizeÚspecial)Ú
derivativeÚjacobianÚhessian)Ú_EERRORINCREASEc            	       óV  — e Zd Zd„ Zej                             dd ej        ddd¦  «        g¦  «        d„ ¦   «         Z	ej                             de
j        j        ¦  «        d	„ ¦   «         Zej                             d
ddg¦  «        ej                             d e¦   «         dddg¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dd¦  «        ej                             ddddgf¦  «        ej                             dd ¦  «        d!„ ¦   «         ¦   «         ¦   «         Zd"„ Zd#„ Zej                             d$¬%¦  «        ej        j        ej                             dd&„ dfd'„ dff¦  «        d(„ ¦   «         ¦   «         ¦   «         Zd)S )*ÚTestDerivativec                 ó*   — t          j        |¦  «        S ©N©r   Úndtr)ÚselfÚxs     új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/differentiate/tests/test_differentiate.pyÚfzTestDerivative.f   s   € ÝŒ|˜A‰ŒÐó    r   ç333333ã?çš™™™™™©¿çÍÌÌÌÌÌð?é
   c                 ó°  — |                      d¦  «        j        }t          | j        |                      ||¬¦  «        ¦  «        }|                      t	          j        ¦   «                              |¦  «        |¬¦  «        }t          |j        |¦  «         t          |¦  «        s2t          |                     |j        |z
  ¦  «        |j        ¦  «         d S d S )Nç      ð?©Údtype)Úasarrayr"   r   r   r	   ÚnormÚpdfr   Údfr   r   ÚabsÚerror)r   r   ÚxpÚdefault_dtypeÚresÚrefs         r   Ú
test_basiczTestDerivative.test_basic   s¶   € ð Ÿ
š
 2™œÔ,ˆÝ˜œ §¢¨A°] Ñ!CÔ!CÑDÔDˆØ�jŠj�œ™œ×)Ò)¨!Ñ,Ô,°MˆjÑBÔBˆÝ˜œ Ñ$Ô$Ð$õ ˜‰|Œ|ð 	<Ý˜2Ÿ6š6 #¤&¨3¡,Ñ/Ô/°´Ñ;Ô;Ð;Ð;Ð;ð	<ð 	<r   Úcasec                 óð   — |\  }} t          t          |¦  «        |Ž }|                     ¦   «         dz   }t          |j        |¦  «        }|                     |¦  «        }t          |j        |d¬¦  «         d S )Nçš™™™™™¹?ç»½×Ùß|Û=©Úatol)Úgetattrr	   Úmedianr   Úcdfr%   r   r&   )r   r.   ÚdistnameÚparamsÚdistr   r+   r,   s           r   Útest_accuracyzTestDerivative.test_accuracy#   sq   € àÑˆ�&Ø'�w•u˜hÑ'Ô'¨Ð0ˆØ�KŠK‰MŒM˜CÑˆÝ˜œ 1Ñ%Ô%ˆØ�hŠh�q‰kŒkˆÝ˜œ ¨%Ð0Ñ0Ô0Ð0Ð0Ð0r   Úorderé   é   Úshape)é   ©é   é   )rA   é   rC   c                 óD  ‡ ‡‡‡— |r)t          j        ddd¦  «                             |¦  «        nd}t          j        |¦  «        Ši Št           j        ˆˆ fd„¦   «         }ˆˆ ˆfd„}d‰d<   d	‰d
<   t          ||                     ||j        ¬¦  «        ‰¬¦  «        } ||¦  «                             ¦   «         }d„ |D ¦   «         }	t          |                     |j
        d¦  «        |                     |	¦  «        ¦  «         d„ |D ¦   «         }
t          |                     |j        d¦  «        |                     |
¦  «        ¦  «         d„ |D ¦   «         }t          |                     |j        d¦  «        |                     |¦  «        d¬¦  «         d„ |D ¦   «         }t          |                     |j        d¦  «        |                     |¦  «        ¦  «         d„ |D ¦   «         }t          |                     |j        d¦  «        |                     |¦  «        ¦  «         d„ |D ¦   «         }t          |                     |j        d¦  «        |                     |¦  «        ¦  «         t#          |¦  «        r&|                     |j        ¦  «        ‰d
         k    sJ ‚d„ |D ¦   «         }t          |                     |j        d¦  «        |                     |¦  «        ¦  «         t#          |¦  «        r&|                     |j        ¦  «        ‰d         k    sJ ‚d S d S )Nr   r   r?   r   c                 ó2   •— t          ‰j        | ‰¬¦  «        S )N©r;   )r   r   )r   r;   r   s    €€r   Ú_derivative_singlez=TestDerivative.test_vectorization.<locals>._derivative_single5   s   ø€ å˜dœf a¨uÐ5Ñ5Ô5Ð5r   c                 ó¬   •— ‰dxx         dz  cc<   ‰dxx         | j         ‰k    s| j        dk    rdn| j        d         z  cc<    ‰j        | g|¢R i |¤ŽS )NÚnitr<   Úfevaléÿÿÿÿ)ÚsizeÚndimr>   r   )r   ÚargsÚkwargsÚnr   Ústates      €€€r   r   z,TestDerivative.test_vectorization.<locals>.f9   so   ø€ Ø�%ˆLˆLŒL˜AÑˆLˆL‰LØ�'ˆNˆNŒN A¤F¨a¢K K°1´6¸A²:°:˜a˜aÀAÄGÈBÄKÑOˆNˆN‰NØ�4”6˜!Ð-˜dÐ-Ð-Ð- fÐ-Ð-Ð-r   rK   rI   r   rJ   r!   rF   c                 ó   — g | ]	}|j         ‘Œ
S © ©r   ©Ú.0r,   s     r   ú
<listcomp>z5TestDerivative.test_vectorization.<locals>.<listcomp>D   s   € Ð'Ð'Ð'˜3�”Ð'Ð'Ð'r   ©rK   c                 ó   — g | ]	}|j         ‘Œ
S rS   )r&   rU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>G   s   € Ð)Ð)Ð)˜S�#”&Ð)Ð)Ð)r   c                 ó   — g | ]	}|j         ‘Œ
S rS   )r(   rU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>J   s   € Ð/Ð/Ð/ 3�S”YÐ/Ð/Ð/r   gê-�™—q=r2   c                 ó6   — g | ]}t          |j        ¦  «        ‘ŒS rS   )ÚboolÚsuccessrU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>N   s"   € Ð9Ð9Ð9¨S•t˜CœKÑ(Ô(Ð9Ð9Ð9r   c                 ó@   — g | ]}t          j        |j        ¦  «        ‘ŒS rS   )ÚnpÚint32ÚstatusrU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>Q   s$   € Ð9Ð9Ð9¨S•B”H˜SœZÑ(Ô(Ð9Ð9Ð9r   c                 ó@   — g | ]}t          j        |j        ¦  «        ‘ŒS rS   )r_   r`   ÚnfevrU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>T   s$   € Ð7Ð7Ð7¨3•B”H˜SœXÑ&Ô&Ð7Ð7Ð7r   c                 ó@   — g | ]}t          j        |j        ¦  «        ‘ŒS rS   )r_   r`   rI   rU   s     r   rW   z5TestDerivative.test_vectorization.<locals>.<listcomp>Y   s$   € Ð5Ð5Ð5¨•2”8˜CœGÑ$Ô$Ð5Ð5Ð5r   )r_   ÚlinspaceÚreshaperL   Ú	vectorizer   r#   Úfloat64Úravelr   r   r&   r(   r   r]   ra   rc   r   ÚmaxrI   )r   r;   r>   r)   r   rG   r   r+   ÚrefsÚref_xÚref_dfÚ	ref_errorÚref_successÚref_flagÚref_nfevÚref_nitrP   rQ   s   ``              @@r   Útest_vectorizationz!TestDerivative.test_vectorization,   s"  øøøø€ ð
 <AÐI�BŒK˜˜t RÑ(Ô(×0Ò0°Ñ7Ô7Ð7ÀcˆÝŒG�A‰JŒJˆØˆå	Œð	6ð 	6ð 	6ð 	6ð 	6ñ 
Œð	6ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð
 ˆˆe‰Øˆˆg‰å˜˜BŸJšJ q°´
˜JÑ;Ô;À5ÐIÑIÔIˆØ!Ð! !Ñ$Ô$×*Ò*Ñ,Ô,ˆà'Ð' $Ð'Ñ'Ô'ˆÝ˜Ÿ
š
 3¤5¨%Ñ0Ô0°"·*²*¸UÑ2CÔ2CÑDÔDÐDà)Ð) DÐ)Ñ)Ô)ˆÝ˜Ÿ
š
 3¤6¨5Ñ1Ô1°2·:²:¸fÑ3EÔ3EÑFÔFÐFà/Ð/¨$Ð/Ñ/Ô/ˆ	Ý˜Ÿ
š
 3¤9¨eÑ4Ô4°b·j²jÀÑ6KÔ6KØ"ð	$ñ 	$ô 	$ð 	$ð :Ð9°DÐ9Ñ9Ô9ˆÝ˜Ÿ
š
 3¤;°Ñ6Ô6¸¿
º
À;Ñ8OÔ8OÑPÔPÐPà9Ð9°DÐ9Ñ9Ô9ˆÝ˜Ÿ
š
 3¤:¨uÑ5Ô5°r·z²zÀ(Ñ7KÔ7KÑLÔLÐLà7Ð7°$Ð7Ñ7Ô7ˆÝ˜Ÿ
š
 3¤8¨UÑ3Ô3°R·Z²ZÀÑ5IÔ5IÑJÔJÐJÝ�B‰<Œ<ð 	6Ø—6’6˜#œ(Ñ#Ô# u¨W¤~Ò5Ð5Ð5Ð5à5Ð5°Ð5Ñ5Ô5ˆÝ˜Ÿ
š
 3¤7¨EÑ2Ô2°B·J²J¸wÑ4GÔ4GÑHÔHÐHÝ�B‰<Œ<ð 	3Ø—6’6˜#œ'‘?”? e¨E¤lÒ2Ð2Ð2Ð2ð	3ð 	3Ø2Ð2r   c                 óÈ  ‡‡‡— t           j                             d¦  «        Šˆˆˆfd„Šd‰_        ‰                     d‰j        ¬¦  «        f}t          ‰‰                     d‰j        ¬¦  «        t          d¬¦  «        d|¬	¦  «        }‰ 
                    t          j        t          t          j        t          j        g‰j        ¬¦  «        }t#          |j        |¦  «         d S )
Nì   •¾;O  c                 óÒ   •‡— ‰xj         dz  c_         d„ ˆˆfd„ˆfd„ˆfd„gŠˆfd„t          | ‰                     |d¦  «        ¦  «        D ¦   «         }‰                     |¦  «        S )Nr<   c                 ó   — | dz
  S ©Ng      @rS   rT   s    r   ú<lambda>z6TestDerivative.test_flags.<locals>.f.<locals>.<lambda>d   s
   € ˜q 3™w€ r   c                 óX   •— ‰                      | ¦  «        ‰                     ¦   «         z  S r   )ÚexpÚrandom)r   Úrngr)   s    €€r   ry   z6TestDerivative.test_flags.<locals>.f.<locals>.<lambda>e   s   ø€ ˜rŸvšv a™yœy¨¯ª©¬Ñ5€ r   c                 ó.   •— ‰                      | ¦  «        S r   ©r{   ©r   r)   s    €r   ry   z6TestDerivative.test_flags.<locals>.f.<locals>.<lambda>f   s   ø€ ˜rŸvšv a™yœy€ r   c                 ó:   •— ‰                      | ‰j        ¦  «        S r   )Ú	full_likeÚnanr€   s    €r   ry   z6TestDerivative.test_flags.<locals>.f.<locals>.<lambda>g   s   ø€ ˜rŸ|š|¨A¨r¬vÑ6Ô6€ r   c                 óR   •— g | ]#\  }} ‰t          |¦  «                 |¦  «        ‘Œ$S rS   )Úint)rV   r   ÚjÚfuncss      €r   rW   z8TestDerivative.test_flags.<locals>.f.<locals>.<listcomp>h   s1   ø€ ÐOÐOÐO©¨¨1�=�5�˜Q™œ”= Ñ#Ô#ÐOÐOÐOr   rX   )rI   Úziprf   Ústack)ÚxsÚjsr+   r‡   r   r}   r)   s      @€€€r   r   z$TestDerivative.test_flags.<locals>.fb   s‹   øø€ ØˆEŒE�Q‰JˆEŒEØ&Ð&Ø5Ð5Ð5Ð5Ð5Ø(Ð(Ð(Ð(Ø6Ð6Ð6Ð6ð8ˆEð PÐOÐOÐOµ°B¸¿
º
À2ÀuÑ8MÔ8MÑ0NÔ0NÐOÑOÔOˆCØ—8’8˜C‘=”=Ð r   r   rB   r!   ç›+¡†›„=©ÚrtolrC   )Ú
tolerancesr;   rN   )r_   r|   Údefault_rngrI   ÚarangeÚint64r   Úonesrh   Údictr#   ÚeimÚ_ECONVERGEDr   Ú	_ECONVERRÚ
_EVALUEERRr`   r   ra   )r   r)   rN   r+   Ú	ref_flagsr   r}   s    `   @@r   Ú
test_flagszTestDerivative.test_flags^   só   øøø€ õ Œi×#Ò#Ð$4Ñ5Ô5ˆð	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð ˆŒà—	’	˜! 2¤8�	Ñ,Ô,Ð.ˆÝ˜˜BŸGšG A¨R¬Z˜GÑ8Ô8Ý$(¨eÐ$4Ñ$4Ô$4Ø  tð-ñ -ô -ˆð —J’J¥¤Ý /Ý #¤Ý #¤ð 0ð 8:´xð ñ Aô Aˆ	õ 	˜œ
 IÑ.Ô.Ð.Ð.Ð.r   c                 ó|  ‡‡— t           j                             d¦  «        Šˆˆfd„}t          |‰                     d‰j        ¬¦  «        t          d¬¦  «        dd¬	¦  «        }‰                     t          j        t          t          j
        t          j        g‰j        ¬¦  «        }t          |j        |¦  «         d S )
Nru   c                 óè   •— | dz
  ‰                      | ¦  «        ‰                     ¦   «         z  ‰                      | ¦  «        ‰                     | ‰j        ¦  «        g}‰                     |¦  «        S rx   )r{   r|   r‚   rƒ   r‰   )r   Úoutr}   r)   s     €€r   r   z3TestDerivative.test_flags_preserve_shape.<locals>.fz   s]   ø€ Ø�s‘7Ø—6’6˜!‘9”9˜SŸZšZ™\œ\Ñ)Ø—6’6˜!‘9”9Ø—<’<  2¤6Ñ*Ô*ð,ˆCð —8’8˜C‘=”=Ð r   r<   r!   rŒ   r�   rC   T)r�   r;   Úpreserve_shape)r_   r|   r�   r   r#   rh   r”   r•   r–   r   r—   r˜   r`   r   ra   )r   r)   r   r+   r™   r}   s    `   @r   Útest_flags_preserve_shapez(TestDerivative.test_flags_preserve_shapew   sÊ   øø€ åŒi×#Ò#Ð$4Ñ5Ô5ˆð	!ð 	!ð 	!ð 	!ð 	!ð 	!õ ˜˜BŸJšJ q°´
˜JÑ;Ô;Ý$(¨eÐ$4Ñ$4Ô$4Ø °ð7ñ 7ô 7ˆð —J’J¥¤Ý /Ý #¤Ý #¤ð 0ð 8:´xð ñ Aô Aˆ	õ 	˜œ
 IÑ.Ô.Ð.Ð.Ð.r   c                 óÔ  ‡— ˆfd„}‰                      d¦  «        }‰                      ‰                      d¦  «        d‰                     d|z  ¦  «        z  dd‰                     d|z  ¦  «        z  z   d‰                     d|z  ¦  «        z  |dz
  dz  z  d‰                     d|z  ¦  «        z  |dz
  z  z   g¦  «        }t          ||d¬	¦  «        }t	          |j        |¦  «         d S )
Nc                 óÖ   •— | ‰                      d| z  ¦  «        | ‰                      d| z  ¦  «        z   ‰                      d| z  ¦  «        | dz
  dz  z  g}‰                     |¦  «        S )NrA   r   é   r<   rC   )Úsinr‰   )r   r�   r)   s     €r   r   z-TestDerivative.test_preserve_shape.<locals>.f�   s\   ø€ Ø�b—f’f˜Q˜q™S‘k”k 1 R§V¢V¨B¨q©D¡\¤\¡>°2·6²6¸"¸Q¹$±<´<ÀÀ1ÁÀqÁÑ3HÐIˆCØ—8’8˜C‘=”=Ð r   ç        r<   rA   r   r¢   rC   T©rž   )r#   Úcosr£   r   r   r&   )r   r)   r   r   r,   r+   s    `    r   Útest_preserve_shapez"TestDerivative.test_preserve_shape‹   sï   ø€ ð	!ð 	!ð 	!ð 	!ð 	!ð �JŠJ�r‰NŒNˆØ�jŠj˜"Ÿ*š* Q™-œ-¨¨2¯6ª6°!°A±#©;¬;©¸¸"¸R¿VºVÀBÀqÁD¹\¼\¹/Ñ8IØ˜RŸVšV B q¡D™\œ\™/¨1¨Q©3°©(Ñ2°Q°r·v²v¸bÀ¹d±|´|±^ÀQÀqÁSÑ5IÑIðKñ Lô Lˆå˜˜A¨dÐ3Ñ3Ô3ˆÝ˜œ Ñ$Ô$Ð$Ð$Ð$r   c                 óœ  — |                      d|j        ¬¦  «        }t          j        }t	          t
          j                             d¦  «        ¦  «        }t          dd¬¦  «        }| 	                    ¦   «         }d|d<   t          |||d¬¦  «        }t          |j        |z
  ¦  «        dk     sJ ‚d	|d<   t          |||d¬¦  «        }t          |j        |z
  ¦  «        d	k     sJ ‚t          |j        |z
  ¦  «        t          |j        |z
  ¦  «        k     sJ ‚| 	                    ¦   «         }d|d
<   t          |||d¬¦  «        }t          |j        |z
  ¦  «        d|z  k     sJ ‚d	|d
<   t          |||d¬¦  «        }t          |j        |z
  ¦  «        d	|z  k     sJ ‚t          |j        |z
  ¦  «        t          |j        |z
  ¦  «        k     sJ ‚d S )Nr    r!   r   )r3   rŽ   gü©ñÒMbP?r3   rB   )r�   r;   g�íµ ÷Æ°>rŽ   )r#   rh   r   r   Úfloatr	   r$   r%   r”   Úcopyr   r'   r&   )	r   r)   r   r   r,   Útolerances0r�   Úres1Úres2s	            r   Útest_convergencezTestDerivative.test_convergence—   sÓ  € à�JŠJ�r ¤ˆJÑ,Ô,ˆÝŒLˆÝ•E”J—N’N 2Ñ&Ô&Ñ'Ô'ˆÝ ¨Ð*Ñ*Ô*ˆà ×%Ò%Ñ'Ô'ˆ
Ø!ˆ
�6ÑÝ˜!˜Q¨:¸QÐ?Ñ?Ô?ˆÝ�4”7˜S‘=Ñ!Ô! DÒ(Ð(Ð(Ð(Ø!ˆ
�6ÑÝ˜!˜Q¨:¸QÐ?Ñ?Ô?ˆÝ�4”7˜S‘=Ñ!Ô! DÒ(Ð(Ð(Ð(Ý�4”7˜S‘=Ñ!Ô!¥C¨¬°#©Ñ$6Ô$6Ò6Ð6Ð6Ð6à ×%Ò%Ñ'Ô'ˆ
Ø!ˆ
�6ÑÝ˜!˜Q¨:¸QÐ?Ñ?Ô?ˆÝ�4”7˜S‘=Ñ!Ô! D¨3¡JÒ.Ð.Ð.Ð.Ø!ˆ
�6ÑÝ˜!˜Q¨:¸QÐ?Ñ?Ô?ˆÝ�4”7˜S‘=Ñ!Ô! D¨3¡JÒ.Ð.Ð.Ð.Ý�4”7˜S‘=Ñ!Ô!¥C¨¬°#©Ñ$6Ô$6Ò6Ð6Ð6Ð6Ð6Ð6r   c                 ó(  — |                      d|j        ¬¦  «        }t          j        }t	          t
          j                             d¦  «        ¦  «        }t          ||dd¬¦  «        }t          ||dd¬¦  «        }t          |j
        |z
  ¦  «        t          |j
        |z
  ¦  «        k     sJ ‚t          ||dd¬¦  «        }t          ||d	d¬¦  «        }t          |j
        |z
  ¦  «        t          |j
        |z
  ¦  «        k     sJ ‚t          d
dd¬¦  «        }t          ||fdddœ|¤Ž}t          ||fdddœ|¤Ž}t          |j
        |j
        d¬¦  «         t          ddd¬¦  «        }t          ||fdddœ|¤Ž}t          ||fdt          j        d¦  «        z  ddœ|¤Ž}t          |j
        |j
        d¬¦  «         d|d<   t          ||fdddœ|¤Ž}t          ||fdt          j        d¦  «        z  ddœ|¤Ž}t          |j
        |j
        d¬¦  «         d S )Nr    r!   ç      à?r<   )Úinitial_stepÚmaxitergš™™™™™©?rC   )Ústep_factorr²   r¢   rB   r   )r;   r²   Ústep_direction)r±   r³   g›+¡†›„ö<r�   rK   r´   )r#   rh   r   r   r©   r	   r$   r%   r   r'   r&   r”   r   r_   Úsqrt)	r   r)   r   r   r,   r¬   r­   rO   r+   s	            r   Útest_step_parametersz#TestDerivative.test_step_parameters°   sA  € à�JŠJ�r ¤ˆJÑ,Ô,ˆÝŒLˆÝ•E”J—N’N 2Ñ&Ô&Ñ'Ô'ˆå˜!˜Q¨S¸!Ð<Ñ<Ô<ˆÝ˜!˜Q¨T¸1Ð=Ñ=Ô=ˆÝ�4”7˜S‘=Ñ!Ô!¥C¨¬°#©Ñ$6Ô$6Ò6Ð6Ð6Ð6å˜!˜Q¨A°qÐ9Ñ9Ô9ˆÝ˜!˜Q¨B¸Ð:Ñ:Ô:ˆÝ�4”7˜S‘=Ñ!Ô!¥C¨¬°#©Ñ$6Ô$6Ò6Ð6Ð6Ð6õ ˜A q¸Ð;Ñ;Ô;ˆÝ˜˜AÐK¨C¸SÐKÐKÀFÐKÐKˆÝ˜˜AÐG¨A¸1ÐGÐGÀÐGÐGˆÝ˜œ ¤¨UÐ3Ñ3Ô3Ð3õ ˜A q¸Ð;Ñ;Ô;ˆÝ˜˜AÐG¨A¸1ÐGÐGÀÐGÐGˆÝ˜˜AÐT¨A­b¬g°a©j¬j©LÀcÐTÐTÈVÐTÐTˆÝ˜œ ¤¨UÐ3Ñ3Ô3Ð3à#%ˆÐÑ Ý˜˜AÐG¨A¸1ÐGÐGÀÐGÐGˆÝ˜˜AÐT¨A­b¬g°a©j¬j©LÀcÐTÐTÈVÐTÐTˆÝ˜œ ¤¨UÐ3Ñ3Ô3Ð3Ð3Ð3r   c                 óÚ  ‡— ˆfd„}‰                      ddd¦  «        }‰                     |¦  «        }t          j        |¦  «        |dk                                   d¦  «        }t          j        |¦  «        |dk                                  d¦  «        }t          |||¬	¦  «        }t          |j        ‰                     |¦  «        ¦  «         ‰ 	                    |j
        ¦  «        sJ ‚d S )
Nc                 ó¬   •— ‰                      | ¦  «        }t          j        |¦  «        | dk     | dk    z                                 ‰j        ¦  «        }|S )Nr   rC   )r{   ÚxpxÚatÚsetrƒ   ©r   Úyr)   s     €r   r   z-TestDerivative.test_step_direction.<locals>.fÑ   sF   ø€ Ø—’�q‘	”	ˆAÝ”�q‘	”	˜1˜qš5 Q¨¢UÑ+Ô,×0Ò0°´Ñ8Ô8ˆAØˆHr   r   rC   r   r   r<   gffffffö?rK   ©r´   )re   Ú
zeros_liker¹   rº   r»   r   r   r&   r{   Úallr]   )r   r)   r   r   r´   r+   s    `    r   Útest_step_directionz"TestDerivative.test_step_directionÏ   sà   ø€ ð	ð 	ð 	ð 	ð 	ð
 �KŠK˜˜1˜bÑ!Ô!ˆØŸš qÑ)Ô)ˆÝœ Ñ/Ô/°°C²Ô8×<Ò<¸QÑ?Ô?ˆÝœ Ñ/Ô/°°C²Ô8×<Ò<¸RÑ@Ô@ˆÝ˜˜A¨nÐ=Ñ=Ô=ˆÝ˜œ §¢ q¡	¤	Ñ*Ô*Ð*Ø�vŠv�c”kÑ"Ô"Ð"Ð"Ð"Ð"Ð"r   c                 ó  — d„ }d„ }|                      |                     g d¢¦  «        d¦  «        }|                      |                     g d¢¦  «        d¦  «        }|                      |                     ddg¦  «        d	¦  «        }t          ||||f¬
¦  «        }|                      |||¦  «        |j        j        ¦  «        }|                     ||                     d¦  «        j        ¬¦  «        }t          |j        |¦  «         d S )Nc                 ó   — | |z  S r   rS   ©r   Úps     r   r   z=TestDerivative.test_vectorized_step_direction_args.<locals>.fà   s   € Ø˜‘6ˆMr   c                 ó   — || |dz
  z  z  S ©Nr<   rS   rÄ   s     r   r&   z>TestDerivative.test_vectorized_step_direction_args.<locals>.dfã   s   € Ø�q˜Q ™U‘|Ñ#Ð#r   )r<   rC   rA   rB   )rK   r<   r<   ©rK   r   r<   )r<   rK   r<   rC   rA   )r<   r<   rK   )r´   rN   r    r!   )rf   r#   r   Úbroadcast_tor&   r>   r"   r   )	r   r)   r   r&   r   ÚhdirrÅ   r+   r,   s	            r   Ú#test_vectorized_step_direction_argsz2TestDerivative.test_vectorized_step_direction_argsÞ   sþ   € ð	ð 	ð 	ð	$ð 	$ð 	$ð �JŠJ�r—z’z , , ,Ñ/Ô/°Ñ<Ô<ˆØ�zŠz˜"Ÿ*š* Z Z ZÑ0Ô0°*Ñ=Ô=ˆØ�JŠJ�r—z’z 1 a &Ñ)Ô)¨:Ñ6Ô6ˆÝ˜˜A¨d¸!¸Ð>Ñ>Ô>ˆØ�oŠo˜b˜b  A™hœh¨¬¬Ñ5Ô5ˆØ�jŠj˜ B§J¢J¨r¡N¤NÔ$8ˆjÑ9Ô9ˆÝ˜œ Ñ$Ô$Ð$Ð$Ð$r   c           	      ób  ‡— ˆfd„}‰                      d‰j        ¬¦  «        }‰                      g d¢¦  «        }‰                     ‰                     ddd¦  «        d¦  «        }t	          |||d	d
|¬¦  «        }‰                     |j         ||¦  «        z
  ¦  «        }‰                     |d d…df         |d
d …df         k     ¦  «        sJ ‚t          |j	        d         ¦  «        D ]E}t	          ||||df         d	d
|¬¦  «        }	t          |j        |d d …f         |	j        d¬¦  «         ŒFd S )Nc                 ó.   •— ‰                      | ¦  «        S r   r   r€   s    €r   r   z+TestDerivative.test_initial_step.<locals>.fð   s   ø€ Ø—6’6˜!‘9”9Ðr   r¤   r!   rÈ   éýÿÿÿr   r   )rK   r<   rC   r<   )r±   r;   r²   r´   rK   .rŒ   r�   )r#   rh   rf   Úlogspacer   r'   r&   rÀ   Úranger>   r   )
r   r)   r   r   r´   Úh0r+   ÚerrÚir,   s
    `        r   Útest_initial_stepz TestDerivative.test_initial_stepî   s^  ø€ ð	ð 	ð 	ð 	ð 	ð �JŠJ�r ¤ˆJÑ,Ô,ˆØŸš J J JÑ/Ô/ˆØ�ZŠZ˜Ÿš B¨¨2Ñ.Ô.°Ñ8Ô8ˆÝ˜˜A¨B°aÀØ(6ð8ñ 8ô 8ˆà�fŠf�S”V˜a˜a ™dœd‘]Ñ#Ô#ˆð �vŠv�c˜#˜2˜#˜s˜(”m c¨!¨"¨"¨c¨'¤lÒ2Ñ3Ô3Ð3Ð3Ð3õ �r”x ”{Ñ#Ô#ð 	>ð 	>ˆAÝ˜Q °°1°a°4´ÀÈ1Ø,:ð<ñ <ô <ˆCå˜CœF 1 a a a 4œL¨#¬&°uÐ=Ñ=Ô=Ð=Ð=ð	>ð 	>r   c                 ón  ‡‡	— |                      d|j        ¬¦  «        }dŠ	d„ }d}t          ||‰	t          d¬¦  «        ¬¦  «        }|                     |j        ¦  «        rJ ‚|                     |j        |d	z   ‰	d	z
  d
z  z   k    ¦  «        sJ ‚|                     |j        ‰	k    ¦  «        sJ ‚ˆˆ	fd„Šd‰_	        d ‰_
        t          ¦   «         ‰_        t          ||‰t          d¬¦  «        ¬¦  «        }|                     ¦   «         D ]©}|dk    r1||         t          j        k    sJ ‚||         t          j        k    sJ ‚Œ9|dk    rBt#          ||         ||         d¬¦  «         t#          ‰j
        |         ||         d¬¦  «         Œ�||         ‰j
        |         cxk    r||         k    sn J ‚Œªd S )Ng~ý,œã?r!   rA   c                 ó.   — t          j        | ¦  «        }|S r   r   )r   r+   s     r   r   z/TestDerivative.test_maxiter_callback.<locals>.f	  s   € Ý”,˜q‘/”/ˆCØˆJr   é   çVçž¯Ò<r�   )r²   r�   r<   rC   c                 ó>  •— ‰xj         dz  c_         | ‰_        t          | d¦  «        sJ ‚t          | j        ¦  «        ‰j        vsJ ‚‰j                             t          | j        ¦  «        ¦  «         | j        t          j	        k    sJ ‚‰j         ‰k    rt          ‚d S )Nr<   r   )Úiterr+   Úhasattrr©   r&   ÚdfsÚaddra   r•   Ú_EINPROGRESSÚStopIteration)r+   Úcallbackr²   s    €€r   rà   z6TestDerivative.test_maxiter_callback.<locals>.callback  sš   ø€ ØˆMŒM˜QÑˆMŒMØˆHŒLÝ˜3 Ñ$Ô$Ð$Ð$Ð$Ý˜œ‘=”=¨¬Ð4Ð4Ð4Ð4ØŒL×Ò�U 3¤6™]œ]Ñ+Ô+Ð+Ø”:¥Ô!1Ò1Ð1Ð1Ð1ØŒ} Ò'Ð'Ý#Ð#ð (Ð'r   rK   )rà   r�   ra   r(   rŒ   r2   )r#   rh   r   r”   Úanyr]   rÀ   rc   rI   rÚ   r+   r»   rÜ   Úkeysr•   r—   Ú
_ECALLBACKr   )
r   r)   r   r   Údefault_orderr+   r­   Úkeyrà   r²   s
           @@r   Útest_maxiter_callbackz$TestDerivative.test_maxiter_callback  sþ  øø€ à�JŠJ�x r¤zˆJÑ2Ô2ˆØˆð	ð 	ð 	ð ˆÝ˜˜A w½4ÀUÐ;KÑ;KÔ;KÐLÑLÔLˆØ—6’6˜#œ+Ñ&Ô&Ð&Ð&Ð&Ø�vŠv�c”h -°!Ñ"3°wÀ±{ÀA±oÑ"EÒEÑFÔFÐFÐFÐFØ�vŠv�c”g Ò(Ñ)Ô)Ð)Ð)Ð)ð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð ˆŒØˆŒÝ‘u”uˆŒå˜!˜Q¨½dÈÐ>NÑ>NÔ>NÐOÑOÔOˆð —8’8‘:”:ð 
	Bð 
	BˆCØ�hŠˆØ˜3”x¥3¤=Ò0Ð0Ð0Ð0Ø˜C”y¥C¤NÒ2Ð2Ð2Ð2Ð2Ø˜’�õ    S¤	¨3¨s¬8¸%Ð@Ñ@Ô@Ð@Ý ¤¨SÔ 1°3°s´8À%ÐHÑHÔHÐHÐHà˜C”y H¤L°Ô$5ÐAÐAÒAÐA¸¸S¼ÒAÐAÐAÐAÐAÐAÐAð
	Bð 
	Br   rÊ   rÈ   gÍÌÌÌÌÌä?gffffffæ?r"   ©Úfloat32rh   c                 óÌ  ‡‡— t          ‰‰¦  «        Š‰                     |‰¬¦  «        }ˆˆfd„}ˆfd„}t          ||d||¬¦  «        }|j        j        ‰k    sJ ‚|j        j        ‰k    sJ ‚|j        j        ‰k    sJ ‚‰                     ‰¦  «        j        }t          ‰¦  «        r|dz  dz  n|dz  }	t          |j        ‰                     |j        ¦  «        |	¬¦  «         d S )	Nr!   c                 óH   •— | j         ‰k    sJ ‚‰                     | ¦  «        S r   )r"   r{   )r   r"   r)   s    €€r   r   z$TestDerivative.test_dtype.<locals>.f7  s&   ø€ Ø”7˜eÒ#Ð#Ð#Ð#Ø—6’6˜!‘9”9Ðr   c                 ót   •— | j         j        ‰k    sJ ‚| j        j        ‰k    sJ ‚| j        j        ‰k    sJ ‚d S r   )r   r"   r&   r(   )r+   r"   s    €r   rà   z+TestDerivative.test_dtype.<locals>.callback;  sH   ø€ Ø”5”; %Ò'Ð'Ð'Ð'Ø”6”< 5Ò(Ð(Ð(Ð(Ø”9”? eÒ+Ð+Ð+Ð+Ð+Ð+r   rB   )r;   r´   rà   r°   é2   r�   )r4   r#   r   r   r"   r&   r(   ÚfinfoÚepsr   r   r{   )
r   rÊ   r   r"   r)   r   rà   r+   rî   rŽ   s
      ``     r   Ú
test_dtypezTestDerivative.test_dtype/  s  øø€ õ
 ˜˜EÑ"Ô"ˆØ�JŠJ�q ˆJÑ&Ô&ˆð	ð 	ð 	ð 	ð 	ð 	ð	,ð 	,ð 	,ð 	,ð 	,õ
 ˜˜A Q°tÀhÐOÑOÔOˆØŒuŒ{˜eÒ#Ð#Ð#Ð#ØŒvŒ|˜uÒ$Ð$Ð$Ð$ØŒyŒ %Ò'Ð'Ð'Ð'Ø�hŠh�u‰oŒoÔ!ˆå (¨¡¤Ð:ˆs�C‰x˜"‰}ˆ}°#°s±(ˆÝ˜œ §¢ s¤u¡¤°DÐ9Ñ9Ô9Ð9Ð9Ð9r   c                 ót  — |                      d¦  «        }d}t          j        t          |¬¦  «        5  t	          d |¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d„ |                      d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d„ |                      d	d
g¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d„ |t          d¬¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          d„ |t          d¬¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          d„ |t          ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d„ |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          d„ |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d„ |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          d„ |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          d „ |d!¬"¦  «         d d d ¦  «         n# 1 swxY w Y   d#}t          j        t          |¬¦  «        5  t	          d$„ |d%¬&¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )'Nr<   z`f` must be callable.©Úmatchz3Abscissae and function output must be real numbers.c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>S  ó   €  € r   y      À      ð?z6When `preserve_shape=False`, the shape of the array...c                 ó
   — g d¢S )N)r<   rC   rA   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>W  s
   €    € r   éþÿÿÿrÎ   z6Tolerances and step parameters must be non-negative...c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>[  rô   r   rK   r2   ©r�   c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>]  rô   r   Úekkir�   c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>_  rô   r   ©r³   ú%`maxiter` must be a positive integer.c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>c  rô   r   ç      ø?©r²   c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>e  rô   r   r   z"`order` must be a positive integerc                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>i  rô   r   rF   c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>k  rô   r   z'`preserve_shape` must be True or False.c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>o  rô   r   Úherringr¥   z`callback` must be callable.c                 ó   — | S r   rS   rT   s    r   ry   z6TestDerivative.test_input_validation.<locals>.<lambda>s  rô   r   Ú	shrubbery)rà   )r#   ÚpytestÚraisesÚ
ValueErrorr   r”   Úobject)r   r)   ÚoneÚmessages       r   Útest_input_validationz$TestDerivative.test_input_validationI  sÍ  € à�jŠj˜‰mŒmˆà)ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	"ð 	"Ý�t˜SÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð HˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	7ð 	7Ý�{�{ B§J¢J¨uÑ$5Ô$5Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð KˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Bð 	BÝÐ*Ð*¨B¯JªJ¸¸B°xÑ,@Ô,@ÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð KˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Cð 	CÝ�{�{ CµD¸b°M±M´MÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	CåŒ]�:¨WÐ5Ñ5Ô5ð 	Gð 	GÝ�{�{ CµD¸fÐ4EÑ4EÔ4EÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	GåŒ]�:¨WÐ5Ñ5Ô5ð 	?ð 	?Ý�{�{ CµV±X´XÐ>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð :ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	6ð 	6Ý�{�{ C°Ð5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4Ý�{�{ C°Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4Ý�{�{ C¨sÐ3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4åŒ]�:¨WÐ5Ñ5Ô5ð 	2ð 	2Ý�{�{ C¨qÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð <ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Cð 	CÝ�{�{ C¸	ÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 1ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	?ð 	?Ý�{�{ C°+Ð>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s×   ³AÁAÁAÁ8%B)Â)B-Â0B-Ã'DÄDÄDÄ,"EÅEÅ!EÆ "F.Æ.F2Æ5F2Ç H È HÈHÈ(IÉIÉIÉ.JÊJÊJÊ6KËKËKË<LÌL Ì#L ÍM$Í$M(Í+M(ÎN-Î-N1Î4N1c           
      óÖ  ‡‡— ˆfd„}t          ‰¦  «        sdt          |‰                     d¦  «        t          d¬¦  «        ¬¦  «        }|j        sJ ‚t          |j        ‰                     d¦  «        ¦  «         t          ‰j        ‰                     d¦  «        ‰j        ¬¦  «        }t          |j        ‰                     ‰j        ¦  «        ¦  «         t          |j
        ‰                     d	‰j        ¬
¦  «        ¦  «         t          ‰j        ‰                     d¦  «        d¬¦  «        }t          |j        ‰                     ‰j        ¦  «        ¦  «         t          |j
        ‰                     d	‰j        ¬
¦  «        ¦  «         t          d¦  «        D ]êŠ‰                     d‰j        ¬
¦  «        }ˆfd„}d‰z  |‰dz
  z  z  }t          ||dt          d‰¦  «        ¬¦  «        }t          |j        |d¬¦  «         t          |j        ‰                     ‰j        ‰j        ¬
¦  «        ¦  «         t          ||t          d‰¦  «        ¬¦  «        }|j        sJ ‚|j        dk    sJ ‚t          |j        |d¬¦  «         Œëd„ }t          |‰                     d¦  «        ‰                     d¦  «        ¬¦  «        }t          |j        ‰                     d¦  «        ¦  «         d S )Nc                 óN   •— ‰                      | j        d¦  «        sJ ‚| dz  dz
  S )Nzreal floatingéc   r<   )Úisdtyper"   r€   s    €r   r   z,TestDerivative.test_special_cases.<locals>.fz  s-   ø€ Ø—:’:˜aœg Ñ7Ô7Ð7Ð7Ð7Ø˜‘7˜Q‘;Ðr   é   r1   r�   rø   gl)~IéŠQr<   r¾   rÎ   r!   r   ©r±   r=   rÿ   c                 ó   •— d| ‰z  z  S ©NrC   rS   )r   rP   s    €r   r   z,TestDerivative.test_special_cases.<locals>.f•  s   ø€ Ø˜˜A™‘v�r   rC   )r²   r;   rØ   rF   c                 ó   — || z  dz
  S rÇ   rS   )r   Úcs     r   r   z,TestDerivative.test_special_cases.<locals>.f¤  s   € Ø�Q‘3˜‘7ˆNr   rA   )rN   g      @)r   r   r#   r”   r]   r   r&   r{   rƒ   r   ra   r`   rÐ   rh   rj   r(   rI   )r   r)   r   r+   r   r,   rP   s    `    @r   Útest_special_casesz!TestDerivative.test_special_casesu  s³  øø€ ð
	ð 	ð 	ð 	ð 	õ ˜‰|Œ|ð 	;Ý˜Q §
¢
¨1¡¤½$ÀEÐ:JÑ:JÔ:JÐKÑKÔKˆCØ”;ÐÐ�;Ý˜CœF B§J¢J¨yÑ$9Ô$9Ñ:Ô:Ð:õ ˜œ §¢¨A¡¤¸r¼vÐFÑFÔFˆÝ˜œ §
¢
¨2¬6Ñ 2Ô 2Ñ3Ô3Ð3Ý˜œ
 B§J¢J¨r¸¼ JÑ$BÔ$BÑCÔCÐCå˜œ §¢¨A¡¤¸QÐ?Ñ?Ô?ˆÝ˜œ §
¢
¨2¬6Ñ 2Ô 2Ñ3Ô3Ð3Ý˜œ
 B§J¢J¨r¸¼ JÑ$BÔ$BÑCÔCÐCõ �q‘”ð 	5ð 	5ˆAØ—
’
˜3 b¤j�
Ñ1Ô1ˆAðð ð ð ð ð �A‘#�a˜!˜A™#‘h‘,ˆCå˜Q ¨1µC¸¸1±I´IÐ>Ñ>Ô>ˆCÝ˜CœF C¨eÐ4Ñ4Ô4Ð4Ý˜CœI r§z¢z°"´&ÀÄ
 zÑ'KÔ'KÑLÔLÐLå˜Q ­¨Q°©¬Ð3Ñ3Ô3ˆCØ”;ÐÐ�;Ø”7˜a’<�<�<�<Ý˜CœF C¨eÐ4Ñ4Ô4Ð4Ð4ð	ð 	ð 	õ ˜˜BŸJšJ q™MœM°·
²
¸1±´Ð>Ñ>Ô>ˆÝ˜œ §
¢
¨2¡¤Ñ/Ô/Ð/Ð/Ð/r   T)Únp_onlyc                 ó   — | dz
  dz  S )Nr<   rA   rS   rT   s    r   ry   zTestDerivative.<lambda>®  s   € �A˜‘E˜a‘<€ r   c                 óN   — t          j        | dk    | dz
  dz  | dz
  dz  ¦  «        S )Nr<   é   rA   )r_   ÚwhererT   s    r   ry   zTestDerivative.<lambda>¯  s(   € •2”8˜A šE A¨¡E¨a¡<°!°a±%¸A±Ñ>Ô>€ r   c                 óŒ   — d}t          |g d¢|dœŽ}t          j        |j        ¦  «        sJ ‚t	          |j        d|¬¦  «         d S )Ng¼‰Ø—²Òœ<rÈ   )r´   r3   r   r2   )r   r_   rÀ   r]   r   r&   )r   r.   r)   r3   r+   s        r   Útest_saddle_gh18811z"TestDerivative.test_saddle_gh18811«  sV   € ð ˆÝ˜$¨z¨z¨zÀÐEÐEÐEˆÝŒv�c”kÑ"Ô"Ð"Ð"Ð"Ý˜œ ¨Ð-Ñ-Ô-Ð-Ð-Ð-r   N)Ú__name__Ú
__module__Ú__qualname__r   r  ÚmarkÚparametrizer_   re   r-   r	   Ú_distr_paramsÚdistcontr:   Útuplers   rš   rŸ   r§   r®   r¶   rÁ   rË   rÔ   ræ   rï   r  r  Úskip_xp_backendsÚxfailr   rS   r   r   r   r      s”  € € € € € ðð ð ð „[×Ò˜S 3¨¨¬°E¸4ÀÑ(DÔ(DÐ"EÑFÔFð	<ð 	<ñ GÔFð	<ð „[×Ò˜V UÔ%8Ô%AÑBÔBð1ð 1ñ CÔBð1ð „[×Ò˜W q¨! fÑ-Ô-Ø„[×Ò˜W u u¡w¤w°°v¸yÐ&IÑJÔJð.3ð .3ñ KÔJñ .Ô-ð.3ð`/ð /ð /ð2/ð /ð /ð(
%ð 
%ð 
%ð7ð 7ð 7ð24ð 4ð 4ð>#ð #ð #ð%ð %ð %ð >ð >ð >ð,)Bð )Bð )BðV „[×Ò˜V ZÑ0Ô0Ø„[×Ò˜S 4¨$°¨Ð"5Ñ6Ô6Ø„[×Ò˜WÐ&<Ñ=Ô=ð:ð :ñ >Ô=ñ 7Ô6ñ 1Ô0ð:ð.*?ð *?ð *?ðX30ð 30ð 30ðl „[×!Ò!¨$Ð!Ñ/Ô/Ø„[ÔØ„[×Ò˜VØ	Ð	 Ð#Ø	>Ð	>ÀÐBð&ñ ô ð.ð .ñ	ô ñ Ôñ 0Ô/ð.ð .ð .r   r   c                   ó   — e Zd Zd„ ZdS )ÚJacobianHessianTestc                 óÜ  — | j         j        }d}t          j        t          |¬¦  «        5   ||j        dt          d¬¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        }t          j	        }d}t          j        t          |¬¦  «        5   |||t          d¬¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5   |||t          d¬	¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5   |||d¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5   |||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5   |||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz"Argument `x` must be at least 1-D.rñ   r<   rK   r2   rø   rA   z<Tolerances and step parameters must be non-negative scalars.r�   rü   z#`order` must be a positive integer.rF   rý   r   )
Újh_funcÚ__func__r  r	  r
  r£   r”   r“   r
   Úrosen)r   r)   r.  r  r   Úfuncs         r   Útest_ivzJacobianHessianTest.test_iv¼  sm  € Ø”,Ô'ˆð 7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	9ð 	9ØˆG�B”F˜A­$°B¨-©-¬-Ð8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð
 �GŠG�A‰JŒJˆÝŒ~ˆØPˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	7ð 	7ØˆG�D˜!­°"¨©¬Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åŒ]�:¨WÐ5Ñ5Ô5ð 	7ð 	7ØˆG�D˜!­°"¨©¬Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7åŒ]�:¨WÐ5Ñ5Ô5ð 	-ð 	-ØˆG�D˜!¨Ð,Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 8ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'ØˆG�D˜! 2Ð&Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð :ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	)ð 	)ØˆG�D˜! RÐ(Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)sk   ª"AÁAÁAÂ!C
Ã
CÃCÃ0DÄDÄ DÄ?EÅEÅ!EÆFÆF!Æ$F!ÇG!Ç!G%Ç(G%N)r!  r"  r#  r2  rS   r   r   r,  r,  »  s#   € € € € € ð)ð )ð )ð )ð )r   r,  c                   óî  — e Zd ZeZd„ Zd„ Zde_        ee_        d„ Z	d„ Z
de	_        e
e	_        d„ Zd„ Zde_        ee_        d	„ Zd
„ Zde_        ee_        d„ Zd„ Zde_        ee_        d„ Zde_        ej        e_        ej                             dd¦  «        ej                             dg d¢¦  «        ej                             dee	eeeeg¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd„ ZdS )ÚTestJacobianc                 óx   — | \  }}|                      |dz  |z  d|z  |                     |¦  «        z   g¦  «        S ©NrC   r  ©r‰   r£   )Úzr)   r   r½   s       r   Úf1zTestJacobian.f1à  s=   € Ø‰ˆˆ1Ø�xŠx˜˜a™ !™ Q¨¡U¨R¯VªV°A©Y¬YÑ%6Ð7Ñ8Ô8Ð8r   c                 óx   — | \  }}d|z  |z  |dz  gt          j        |d¦  «        t          j        |¦  «        ggS r6  )r_   r‚   r¦   )r8  r   r½   s      r   Údf1zTestJacobian.df1ä  s@   € Ø‰ˆˆ1Ø�Q‘˜‘˜A ™FÐ#¥b¤l°1°aÑ&8Ô&8½"¼&À¹)¼)Ð%DÐEÐEr   )rC   rC   c                 ó’   — | \  }}|                      ||                     |¦  «        z  ||                     |¦  «        z  g¦  «        S r   ©r‰   r¦   r£   )r8  r)   ÚrÚphis       r   Úf2zTestJacobian.f2ë  s>   € Ø‰ˆˆ3Ø�xŠx˜˜RŸVšV C™[œ[™¨!¨b¯fªf°S©k¬k©/Ð:Ñ;Ô;Ð;r   c                 óº   — | \  }}t          j        |¦  «        | t          j        |¦  «        z  gt          j        |¦  «        |t          j        |¦  «        z  ggS r   )r_   r¦   r£   )r8  r>  r?  s      r   Údf2zTestJacobian.df2ï  sP   € Ø‰ˆˆ3Ý”˜‘”˜q˜b¥2¤6¨#¡;¤;Ñ.Ð/Ý”˜‘”˜a¥"¤&¨¡+¤+™oÐ.ð0ð 	0r   c                 ó  — | \  }}}|                      ||                     |¦  «        z  |                     |¦  «        z  ||                     |¦  «        z  |                     |¦  «        z  ||                     |¦  «        z  g¦  «        S r   )r‰   r£   r¦   )r8  r)   r>  r?  Úths        r   Úf3zTestJacobian.f3÷  sx   € Ø‰
ˆˆ3�Ø�xŠx˜˜RŸVšV C™[œ[™¨2¯6ª6°"©:¬:Ñ5°q¸2¿6º6À#¹;¼;±ÈÏÊÐPRÉÌÑ7SØ˜RŸVšV C™[œ[™ð*ñ +ô +ð 	+r   c                 óŒ  — | \  }}}t          j        |¦  «        t          j        |¦  «        z  |t          j        |¦  «        z  t          j        |¦  «        z  | t          j        |¦  «        z  t          j        |¦  «        z  gt          j        |¦  «        t          j        |¦  «        z  |t          j        |¦  «        z  t          j        |¦  «        z  |t          j        |¦  «        z  t          j        |¦  «        z  gt          j        |¦  «        | t          j        |¦  «        z  t          j        |¦  «        ggS r   )r_   r£   r¦   r¿   )r8  r>  r?  rD  s       r   Údf3zTestJacobian.df3ü  sï   € Ø‰
ˆˆ3�Ý”˜‘”�rœv b™zœzÑ)¨1­r¬v°c©{¬{©?½R¼VÀB¹Z¼ZÑ+GØ�•b”f˜S‘k”kÑ!¥B¤F¨2¡J¤JÑ.ð0å”˜‘”�rœv b™zœzÑ)¨1­r¬v°c©{¬{©?½R¼VÀB¹Z¼ZÑ+GØ•R”V˜C‘[”[‘¥2¤6¨"¡:¤:Ñ-ð/å”˜‘”˜q˜b¥2¤6¨#¡;¤;Ñ.µ´¸aÑ0@Ô0@ÐAð	Cð 	Cr   )rA   rA   c           	      óŠ   — | \  }}}|                      |d|z  d|dz  z  d|z  z
  ||                     |¦  «        z  g¦  «        S ©Nr  rB   rC   r7  ©r   r)   Úx1Úx2Úx3s        r   Úf4zTestJacobian.f4  sK   € Ø‰
ˆˆB�Ø�xŠx˜˜Q ™V Q¨¨q©¡[°1°r±6Ñ%9¸2ÀÇÂÀrÁ
Ä
¹?ÐKÑLÔLÐLr   c                 óÞ   — | \  }}}t          j        |¦  «        }|d|z  d|z  gd|z  d|z  d|z  gd|z  d|z  d|z  g|t          j        |¦  «        z  d|z  t          j        |¦  «        ggS ©Nr   r  r×   rö   )r_   Ú	ones_liker¦   r£   ©r   rK  rL  rM  r  s        r   Údf4zTestJacobian.df4  s†   € Ø‰
ˆˆB�ÝŒl˜2ÑÔˆØ�a˜#‘g˜q 3™wÐ'Ø�S‘˜!˜c™' 1 s¡7Ð+Ø�S‘˜!˜b™& " s¡(Ð+Ø•b”f˜R‘j”j‘ ! c¡'­2¬6°"©:¬:Ð6ð8ð 	8r   r@   c           	      óŽ   — | \  }}}|                      d|z  d|dz  z  d|                     ||z  ¦  «        z  z
  ||z  g¦  «        S rI  r7  rJ  s        r   Úf5zTestJacobian.f5  sN   € Ø‰
ˆˆB�Ø�xŠx˜˜R™  R¨1¡W¡¨q°2·6²6¸"¸r¹'±?´?Ñ/BÑ!BÀBÈÁGÐLÑMÔMÐMr   c                 óÜ   — | \  }}}t          j        |¦  «        }d|z  d|z  d|z  gd|z  d|z  t          j        ||z  ¦  «        z  d|z  t          j        ||z  ¦  «        z  gd|z  ||ggS rP  )r_   rQ  r¦   rR  s        r   Údf5zTestJacobian.df5  s‚   € Ø‰
ˆˆB�ÝŒl˜2ÑÔˆØ�S‘˜!˜c™' 1 s¡7Ð+Ø�R‘˜˜b™¥2¤6¨"¨r©'¡?¤?Ñ2°B¸±G½b¼fÀRÈ"ÁW¹o¼oÑ4MÐNØ�S‘˜"˜bÐ!ð#ð 	#r   c                 ó*   — t          j        | ¦  «        S r   )r
   r0  )r   Ú_s     r   r0  zTestJacobian.rosen$  s   € �HœN¨1Ñ-Ô-Ð-r   )r  r<   r"   rç   rL   )rS   )r=   )rC   rA   r1  c                 ó¼  ‡‡— |dk    rdnd}t          ‰|¦  «        }t          j                             d¦  «        }‰j        \  }}|                     |f|z   ¬¦  «        }	t          ˆˆfd„‰                     |	|¬¦  «        ¦  «        }
‰                     t          j        ‰                     |	¦  «        ¦  «        |¬¦  «        }t          |
j	        ||¬¦  «         d S )	Nrh   r1   g“ÆhUM`?ì   6Hœ2«)rL   c                 ó   •—  ‰| ‰¦  «        S r   rS   )r   r1  r)   s    €€r   ry   z,TestJacobian.test_examples.<locals>.<lambda>1  s   ø€    a¨"¡¤€ r   r!   r2   )
r4   r_   r|   r�   Úmnr   r#   r,   r   r&   )r   r"   rL   r1  r)   r3   r}   ÚmrP   r   r+   r,   s      ``       r   Útest_exampleszTestJacobian.test_examples(  sÓ   øø€ ð  Ò*Ð*ˆuˆu°ˆÝ˜˜EÑ"Ô"ˆÝŒi×#Ò# LÑ1Ô1ˆØŒw‰ˆˆ1Ø�JŠJ˜Q˜D 4™KˆJÑ(Ô(ˆÝÐ-Ð-Ð-Ð-Ð-¨r¯zªz¸!À5¨zÑ/IÔ/IÑJÔJˆà�jŠj�œ D§H¢H¨Q¡K¤KÑ0Ô0¸ˆjÑ>Ô>ˆÝ˜œ ¨$Ð/Ñ/Ô/Ð/Ð/Ð/r   c           
      óÔ  ‡‡‡‡— ‰                      ddg¦  «        Šˆfd„}ˆfd„Šˆfd„Št          |‰d¬¦  «        }t          ‰¦  «        s>t          j        |j        ¦  «        dk    sJ ‚t          j        |j        ¦  «        dk    sJ ‚t          ˆˆfd	„‰d
d…         d¬¦  «        }t          ˆˆfd„‰dd…         d¬¦  «        }t          ˆˆfd„‰d
d…         d¬¦  «        }t          ˆˆfd„‰dd…         d¬¦  «        }t          j        ¦   «         }dD ]Ð}	‰                      t          ||	¦  «        t          ||	¦  «        gt          ||	¦  «        t          ||	¦  «        gg¦  «        }
‰ 
                    |
t          d„ t          |
j        ¦  «        D ¦   «         ¦  «        ¬¦  «        ||	<   ||	         j        ‰j        k    rdnd}t!          ||	         ||	         |¬¦  «         ŒÑd S )Nr°   ç      Ð?c                 óÌ   •— | \  }}‰                      ‰                     d|z  ¦  «        ‰                     |¦  «        z  ‰                     d|z  ¦  «        |dz  z  g¦  «        S )Nr°   rC   r=  )r8  r   r½   r)   s      €r   r;  z$TestJacobian.test_attrs.<locals>.df1<  sW   ø€ Ø‰DˆAˆqØ—8’8˜RŸVšV C¨¡E™]œ]¨R¯VªV°A©Y¬YÑ6¸¿º¸qÀ¹s¹¼ÀaÈÁdÑ8JÐKÑLÔLÐLr   c                 ó`   •— ‰                      d| z  ¦  «        ‰                      |¦  «        z  S )Nr°   )r¦   r¼   s     €r   Údf1_0xyz(TestJacobian.test_attrs.<locals>.df1_0xy@  s&   ø€ Ø—6’6˜#˜a™%‘=”= 2§6¢6¨!¡9¤9Ñ,Ð,r   c                 ó@   •— ‰                      d| z  ¦  «        |dz  z  S r  )r£   r¼   s     €r   Údf1_1xyz(TestJacobian.test_attrs.<locals>.df1_1xyC  s    ø€ Ø—6’6˜!˜A™#‘;”;  A¡Ñ%Ð%r   r   r  rB   c                 ó(   •—  ‰| ‰d         ¦  «        S rÇ   rS   )r   rd  r8  s    €€r   ry   z)TestJacobian.test_attrs.<locals>.<lambda>L  ó   ø€  7 7¨1¨a°¬dÑ#3Ô#3€ r   r   r<   c                 ó(   •—  ‰‰d         | ¦  «        S ©Nr   rS   )r½   rd  r8  s    €€r   ry   z)TestJacobian.test_attrs.<locals>.<lambda>M  ó   ø€  7 7¨1¨Q¬4°Ñ#3Ô#3€ r   rC   c                 ó(   •—  ‰| ‰d         ¦  «        S rÇ   rS   )r   rf  r8  s    €€r   ry   z)TestJacobian.test_attrs.<locals>.<lambda>N  rh  r   c                 ó(   •—  ‰‰d         | ¦  «        S rj  rS   )r½   rf  r8  s    €€r   ry   z)TestJacobian.test_attrs.<locals>.<lambda>O  rk  r   )r]   ra   r&   rI   rc   c              3   ó,   K  — | ]\  }}|d k    ¯|V — ŒdS )r<   NrS   )rV   ÚaxrL   s      r   ú	<genexpr>z*TestJacobian.test_attrs.<locals>.<genexpr>V  s+   è è € ÐUÐU¡( " dÈ4ÐSTÊ9È9˜2È9È9È9È9ÐUÐUr   )ÚaxisgiUMuï>g´àø¤tã=r�   )r#   r   r   r¹   ÚnuniquerI   rc   r
   ÚOptimizeResultr4   Úsqueezer(  Ú	enumerater>   r"   rè   r   )r   r)   r;  r+   Úres00Úres01Úres10Úres11r,   ÚattrÚref_attrrŽ   rd  rf  r8  s    `          @@@r   Ú
test_attrszTestJacobian.test_attrs6  sf  øøøø€ à�JŠJ˜˜T�{Ñ#Ô#ˆð	Mð 	Mð 	Mð 	Mð 	Mð	-ð 	-ð 	-ð 	-ð 	-ð	&ð 	&ð 	&ð 	&ð 	&õ �s˜A¨BÐ/Ñ/Ô/ˆå˜‰|Œ|ð 	.Ý”;˜sœwÑ'Ô'¨1Ò,Ð,Ð,Ð,Ý”;˜sœxÑ(Ô(¨AÒ-Ð-Ð-Ð-åÐ3Ð3Ð3Ð3Ð3°Q°q¸°s´VÈ"ÐMÑMÔMˆÝÐ3Ð3Ð3Ð3Ð3°Q°q¸°s´VÈ"ÐMÑMÔMˆÝÐ3Ð3Ð3Ð3Ð3°Q°q¸°s´VÈ"ÐMÑMÔMˆÝÐ3Ð3Ð3Ð3Ð3°Q°q¸°s´VÈ"ÐMÑMÔMˆÝÔ%Ñ'Ô'ˆØ>ð 	=ð 	=ˆDØ—z’z¥G¨E°4Ñ$8Ô$8½'À%ÈÑ:NÔ:NÐ#OÝ$+¨E°4Ñ$8Ô$8½'À%ÈÑ:NÔ:NÐ#Oð#Qñ Rô RˆHàŸ
š
ØÝÐUÐU­i¸¼Ñ.GÔ.GÐUÑUÔUÑUÔUð #ñ ô ˆC�‰Ið ! œYœ_°´
Ò:Ð:�6�6ÀˆDÝ˜C œI s¨4¤y°tÐ<Ñ<Ô<Ð<Ð<ð	=ð 	=r   c                 óä  ‡‡	‡
— t           j                             d¦  «        }|                     d¦  «        Š	dŠ
ˆ	ˆ
ˆfd„}g d¢}g d¢}ddi}t          |‰                     ‰	‰j        ¬	¦  «        |||¬
¦  «        }‰                     t                               ‰	¦  «        ‰j        ¬	¦  «        }t          |j	        |d¬¦  «         ‰ 
                    ‰                     |¦  «        ¦  «        sJ ‚d S )Nl   ]2œZëVrA   gH¯¼šò×z>c                 ól  •— t          j        | ¦  «        d| d         ‰d         k     f                              ‰j        ¦  «        } t          j        | ¦  «        d| d         ‰d         dz   k    f                              ‰j        ¦  «        } t          j        | ¦  «        d| d         ‰d         k    f                              ‰j        ¦  «        } t          j        | ¦  «        d| d         ‰d         dz
  ‰z
  k     f                              ‰j        ¦  «        } t                               | ‰¦  «        S )Nr   ra  r<   r0   )r¹   rº   r»   rƒ   r4  rU  )r   Úbrî   r)   s    €€€r   r   z0TestJacobian.test_step_direction_size.<locals>.fb  sï   ø€ Ý”�q‘	”	˜!˜Q˜qœT A a¤Dš[˜.Ô)×-Ò-¨b¬fÑ5Ô5ˆAÝ”�q‘	”	˜!˜Q˜qœT A a¤D¨4¡KÒ/Ð/Ô0×4Ò4°R´VÑ<Ô<ˆAÝ”�q‘	”	˜!˜Q˜qœT A a¤Dš[˜.Ô)×-Ò-¨b¬fÑ5Ô5ˆAÝ”�q‘	”	˜!˜Q˜qœT A a¤D¨3¡J¨s¡NÒ2Ð2Ô3×7Ò7¸¼Ñ?Ô?ˆAÝ—?’? 1 bÑ)Ô)Ð)r   )r<   rK   r   )ra  r0   r°   r3   ç:Œ0âŽyE>r!   )r±   r´   r�   r2   )r_   r|   r�   r   r#   rh   r4  rW  r   r&   rÀ   Úisfinite)r   r)   r}   r   ÚdirrÑ   r3   r+   r,   r  rî   s    `       @@r   Útest_step_direction_sizez%TestJacobian.test_step_direction_size[  s	  øøø€ õ Œi×#Ò# NÑ3Ô3ˆØ�JŠJ�q‰MŒMˆØˆð	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð ˆjˆjˆØÐÐˆØ˜ˆ~ˆÝ�q˜"Ÿ*š* Q¨b¬j˜*Ñ9Ô9ÈØ&)°dð<ñ <ô <ˆà�jŠj�×)Ò)¨!Ñ,Ô,°B´JˆjÑ?Ô?ˆÝ˜œ ¨$Ð/Ñ/Ô/Ð/Ø�vŠv�b—k’k #Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'r   N)r!  r"  r#  r   r.  r9  r;  r]  r,   r@  rB  rE  rG  rN  rS  rU  rW  r0  r
   Ú	rosen_derr  r$  r%  r_  r|  rƒ  rS   r   r   r4  r4  Ù  sÀ  € € € € € à€Gð
9ð 9ð 9ðFð Fð Fð €B„EØ€B„Fð<ð <ð <ð0ð 0ð 0ð
 €B„EØ€B„Fð+ð +ð +ð
Cð Cð Cð €B„EØ€B„FðMð Mð Mð8ð 8ð 8ð €B„EØ€B„FðNð Nð Nð#ð #ð #ð €B„EØ€B„Fà-Ð-Ð-Ø€E„HØÔ"€E„Ià„[×Ò˜WÐ&<Ñ=Ô=Ø„[×Ò˜VÐ%7Ð%7Ð%7Ñ8Ô8Ø„[×Ò˜V b¨"¨b°"°b¸%Ð%@ÑAÔAð	0ð 	0ñ BÔAñ 9Ô8ñ >Ô=ð	0ð#=ð #=ð #=ðJ(ð (ð (ð (ð (r   r4  c                   ó´   — e Zd ZeZej                             dg d¢¦  «        d„ ¦   «         Zd„ Z	d„ Z
ej                             dd¬¦  «        d	„ ¦   «         Zd
S )ÚTestHessianr>   )rS   )rB   )rC   rB   c                 ó  — t           j                             d¦  «        }d}|                     |                     |f|z   ¦  «        |j        ¬¦  «        }t          t          j        |¦  «        }|ro|                     ||df¦  «        }| 	                    d„ |j
        D ¦   «         ¦  «        }|                     |dd¦  «        }|                     |||f|z   ¦  «        }nt          j        |¦  «        }t          |j        |d¬¦  «         d S )	Nr[  rA   r!   rK   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rS   )r
   Ú
rosen_hess)rV   Úxis     r   rW   z,TestHessian.test_example.<locals>.<listcomp>  s#   € ÐBÐBÐB¸�HÔ/°Ñ3Ô3ÐBÐBÐBr   r   r€  r2   )r_   r|   r�   r#   rh   r   r
   r0  rf   r‰   ÚTÚmoveaxisr‰  r   Úddf)r   r>   r)   r}   r^  r   r+   r,   s           r   Útest_examplezTestHessian.test_examplew  sö   € åŒi×#Ò# LÑ1Ô1ˆØˆØ�JŠJ�s—z’z 1 $¨¡,Ñ/Ô/°r´zˆJÑBÔBˆÝ•h”n aÑ(Ô(ˆØð 	)Ø—
’
˜1˜q "˜gÑ&Ô&ˆAØ—(’(ÐBÐB¸a¼cÐBÑBÔBÑCÔCˆCØ—+’+˜c 1 bÑ)Ô)ˆCØ—*’*˜S 1 a '¨E¡/Ñ2Ô2ˆCˆCåÔ% aÑ(Ô(ˆCÝ˜œ ¨4Ð0Ñ0Ô0Ð0Ð0Ð0r   c                 óø  — t           j                             d¦  «        }|                     |                     d¦  «        |j        ¬¦  «        }t          t          j        |¦  «        }t          j        |¦  «        }|dk    }t          |j
        |         ||         ¦  «         d|                     |                     ||         ¦  «        ¦  «        z  }t          |j
        |          ||          |¬¦  «         d S )Nr[  rA   r!   r   g{®Gáz„?r2   )r_   r|   r�   r#   rè   r   r
   r0  r‰  r   r�  r'   Úmin)r   r)   r}   r   r+   r,   Úmaskr3   s           r   Útest_float32zTestHessian.test_float32‹  sË   € ÝŒi×#Ò# LÑ1Ô1ˆØ�JŠJ�s—z’z !‘}”}¨B¬JˆJÑ7Ô7ˆÝ•h”n aÑ(Ô(ˆÝÔ! !Ñ$Ô$ˆØ�q’ˆÝ˜œ œ s¨4¤yÑ1Ô1Ð1Ø�b—f’f˜RŸVšV C¨¤IÑ.Ô.Ñ/Ô/Ñ/ˆÝ˜œ  œ¨¨T¨E¬
¸Ð>Ñ>Ô>Ð>Ð>Ð>r   c                 ó¼  ‡‡‡— ‰                      ddg¦  «        Šˆˆfd„Šd‰_        t          ‰‰d¬¦  «        }d‰_        t          ˆˆfd„‰dd…         d¬¦  «        }|j        d	         ‰j        cxk    r|j        d	         k    sn J ‚d‰_        t          ˆˆfd
„‰dd…         d¬¦  «        }|j        d         ‰j        cxk    r|j        d	         k    sn J ‚d S )Nr°   ra  c                 óÊ   •—  ‰j         | Ž \  }}‰j        |j        dk    r!t          j        |j        dd …         ¦  «        ndz   ‰_        ‰                     |¦  «        |dz  z  S )NrC   r<   rA   )Úbroadcast_arraysrc   rM   ÚmathÚprodr>   r£   )r8  r   r½   r9  r)   s      €€r   r9  z!TestHessian.test_nfev.<locals>.f1˜  s`   ø€ Ø&�2Ô&¨Ð*‰DˆAˆqØ”g¸1¼6ÀAº:¸:¥¤¨1¬7°1°2°2¬;Ñ!7Ô!7Ð!7È1ÑMˆBŒGØ—6’6˜!‘9”9˜q A™vÑ%Ð%r   r   r   r  c                 ó6   •—  ‰| d         ‰d         g¦  «        S )Nr   r<   rS   )r   r9  r8  s    €€r   ry   z'TestHessian.test_nfev.<locals>.<lambda>¡  ó   ø€  " " a¨¤d¨A¨a¬D \Ñ"2Ô"2€ r   r<   )r   r   c                 ó6   •—  ‰‰d         | d         g¦  «        S rj  rS   )r½   r9  r8  s    €€r   ry   z'TestHessian.test_nfev.<locals>.<lambda>¥  r™  r   rC   )r<   r<   )r#   rc   r   )r   r)   r+   rv  ry  r9  r8  s    `   @@r   Ú	test_nfevzTestHessian.test_nfev•  s%  øøø€ Ø�JŠJ˜˜T�{Ñ#Ô#ˆð	&ð 	&ð 	&ð 	&ð 	&ð 	&ð ˆŒõ �b˜!¨"Ð-Ñ-Ô-ˆØˆŒÝÐ2Ð2Ð2Ð2Ð2°A°a¸°c´FÈÐLÑLÔLˆØŒx˜Œ~ ¤Ð<Ð<Ò<Ð<¨E¬J°tÔ,<Ò<Ð<Ð<Ð<Ð<Ð<àˆŒÝÐ2Ð2Ð2Ð2Ð2°A°a¸°c´FÈÐLÑLÔLˆØŒx˜Œ~ ¤Ð<Ð<Ò<Ð<¨E¬J°tÔ,<Ò<Ð<Ð<Ð<Ð<Ð<Ð<Ð<r   Tz$Python list input uses NumPy backend)r  Úreasonc                 ó¾   — d}t          j        t          |¬¦  «        5  t          |j        dgt          d¬¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz"The specified `rtol=1e-15`, but...rñ   r    rØ   r�   rø   )r  ÚwarnsÚRuntimeWarningr   r£   r”   )r   r)   r  s      r   Útest_small_rtol_warningz#TestHessian.test_small_rtol_warning­  s¦   € ð 7ˆÝŒ\�.°Ð8Ñ8Ô8ð 	?ð 	?Ý�B”F˜R˜D­T°uÐ-=Ñ-=Ô-=Ð>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   ž'AÁAÁAN)r!  r"  r#  r   r.  r  r$  r%  rŽ  r’  r›  r)  r   rS   r   r   r†  r†  s  s¨   € € € € € à€Gà„[×Ò˜WÐ&8Ð&8Ð&8Ñ9Ô9ð1ð 1ñ :Ô9ð1ð&?ð ?ð ?ð=ð =ð =ð0 „[×!Ò!¨$Ø)Oð "ñ Qô Qð?ð ?ñQô Qð?ð ?ð ?r   r†  )!r–  r  Únumpyr_   Ú(scipy._lib._elementwise_iterative_methodÚ_libÚ_elementwise_iterative_methodr•   Úscipy._lib.array_api_extraÚarray_api_extrar¹   Úscipy._lib._array_api_no_0dr   r   r   Úscipy._lib._array_apir   r   r   Úscipyr	   r
   r   Úscipy.differentiater   r   r   Ú"scipy.differentiate._differentiater   r   r,  r4  r†  rS   r   r   ú<module>r¬     sí  ðØ €€€Ø €€€à Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø >Ð >Ð >Ð >Ð >Ð >ð Ð�:ÑÔðf.ð f.ð f.ð f.ð f.ñ f.ô f.ñ Ôðf.ðR)ð )ð )ð )ð )ñ )ô )ð )ð< Ð�8ÑÔðV(ð V(ð V(ð V(ð V(Ð&ñ V(ô V(ñ ÔðV(ðr Ð�7ÑÔð>?ð >?ð >?ð >?ð >?Ð%ñ >?ô >?ñ Ôð>?ð >?ð >?r   