+
    Y°³jG�  ã                   ó  € ^ RI t ^ RIHt ^ RIt^ RIHtHtHt ^ RI	t	^ RI	H
t ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIHtHtHtHtHtHt ^ R	IHt R
 tR t ! R R4      t  ! R R4      t! ! R R4      t" ! R R4      t#R t$R t%R# )é    N)Úproduct)Úassert_allcloseÚassert_equalÚassert_)Úraises)Ú
MapWrapperÚ_ScalarFunctionWrapper)Ú	csr_arrayÚ	csc_arrayÚ	lil_array)Úxp_result_type)Ú_adjust_scheme_to_boundsÚapprox_derivativeÚcheck_derivativeÚgroup_columnsÚ_eps_for_methodÚ_compute_absolute_step©Úrosenc                  óÀ  € . RO. RO. RO. RO. RO. RO. RO.p \         P                  \        \        \        3 F�  pV! V 4      p\         P
                  ! ^4      p\         P                  ! . R	O4      p\        W#4      p\        WT4       . R
Op\         P                  ! . RO4      p\        W#4      p\        WT4       Kƒ  	  \        X4      p\        V4      p\        Wg4       R# )é   N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   é   r   r   r   )r   r   é   é   é   r   )r   r   r   r   r   r   )	ÚnpÚasarrayr
   r   r   ÚarangeÚarrayr   r   )Ú	structureÚ	transformÚAÚorderÚgroups_trueÚgroupsÚgroups_1Úgroups_2s           Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test__numdiff.pyÚtest_group_columnsr)      s´   € âÚÚÚÚÚÚð€Iô —j‘j¤)¬Y¼	ÓBˆ	Ù�iÓ ˆÜ—	’	˜!“ˆÜ—h’hÒ1Ó2ˆÜ˜qÓ(ˆÜ�VÔ)â"ˆÜ—h’hÒ1Ó2ˆÜ˜qÓ(ˆÜ�VÖ)ñ Cô ˜QÓ€HÜ˜QÓ€HÜ�Ö$ó    c                  ó�  € \         P                  ! \         P                  4      P                  p R V R,          RV R,          RV R,          /pR Fu  p\	        \        \         P                  \         P                  V4      W,          4       \	        \        \         P                  \         P                  V4      W,          4       Kw  	  \         P                  ! \         P                  4      P                  p R V R,          RV R,          RV R,          /pR F®  p\	        \        \         P                  \         P                  V4      W,          4       \	        \        \         P                  \         P                  V4      W,          4       \	        \        \         P                  \         P                  V4      W,          4       K°  	  R# )ú2-pointç      à?ú3-pointÚcsNçUUUUUUÕ?©r,   r.   r/   )r   ÚfinfoÚfloat64Úepsr   r   Ú
complex128Úfloat32)ÚEPSÚrelative_stepÚmethods      r(   Útest_correct_fp_epsr:   /   s@  € ä
�(Š(”2—:‘:Ó
×
"Ñ
"€CØ  S¥Ø˜s S�zØ˜3 �8ð%€Mó /ˆÜÜœBŸJ™J¬¯
©
°FÓ;ØÕ!ô	#ô 	ÜœBŸM™M¬2¯=©=¸&ÓAØÕ!ö	
ñ	 /ô �(Š(”2—:‘:Ó
×
"Ñ
"€CØ  S¥Ø˜s S�zØ˜3 �8ð%€Mó /ˆÜÜœBŸJ™J¬¯
©
°FÓ;ØÕ!ô	
ô 	ÜœBŸJ™J¬¯
©
°FÓ;ØÕ!ô	
ô 	ÜœBŸJ™J¬¯
©
°FÓ;ØÕ!ö	
ó /r*   c                   ó2   a € ] tR t^St o R tR tR tRtV tR# )ÚTestAdjustSchemeToBoundsc                ó
  € \         P                  ! ^4      p\         P                  ! ^R4      p\         P                  ! V4      p\         P                  ! V4      pVP	                  \         P
                  ) 4       VP	                  \         P
                  4       \        W^RW44      w  rV\        WR4       \        \         P                  ! V4      4       \        W^RW44      w  rV\        WR4       \        \         P                  ! V4      4       \        W^RW44      w  rV\        WR4       \        \         P                  ! V( 4      4       \        W^RW44      w  rV\        WR4       \        \         P                  ! V( 4      4       R# )r   ç{®Gáz„?ú1-sidedú2-sidedN)
r   ÚzerosÚfullÚ
empty_likeÚfillÚinfr   r   r   Úall)ÚselfÚx0ÚhÚ	inf_lowerÚ	inf_upperÚ
h_adjustedÚ	one_sideds   &      r(   Útest_no_boundsÚ'TestAdjustSchemeToBounds.test_no_boundsT   s  € Ü�XŠX�a‹[ˆÜ�GŠG�A�tÓˆÜ—M’M "Ó%ˆ	Ü—M’M "Ó%ˆ	Ø�‰œŸ™�wÔØ�‰”r—v‘vÔä 8Ø�1�i ó!7Ñˆ
ä˜
Ô&Ü”—’�yÓ!Ô"ä 8Ø�1�i ó!7Ñˆ
ä˜
Ô&Ü”—’�yÓ!Ô"ä 8Ø�1�i ó!7Ñˆ
ä˜
Ô&Ü”—’˜	�zÓ"Ô#ä 8Ø�1�i ó!7Ñˆ
ä˜
Ô&Ü”—’˜	�zÓ"Ö#r*   c                óÌ  € \         P                  ! . RO4      p\         P                  ! ^4      ) p\         P                  ! ^4      p\         P                  ! . RO4      R,          p\        W^RW#4      w  rV\	        WT4       \        W^RW#4      w  rV\	        V\         P                  ! . RO4      R,          4       \        W^RW#4      w  rW\	        V\         P
                  ! V4      4       \        \         P                  ! V( 4      4       \        W^RW#4      w  rW\	        V\         P                  ! . RO4      R,          4       \        V\         P                  ! . RO4      4       R# )	ç        çš™™™™™¹?r?   r@   N)rQ   g333333ë?g333333ë¿)r   r   éÿÿÿÿ)r   rS   r   )FTT)	r   r   Úonesr   r   Úabsr   rF   r   )rG   rH   ÚlbÚubrI   rL   Ú_rM   s   &       r(   Útest_with_boundÚ(TestAdjustSchemeToBounds.test_with_boundp   s  € Ü�XŠXÒ(Ó)ˆÜ�gŠg�a‹jˆ[ˆÜ�WŠW�Q‹ZˆÜ�HŠH’ZÓ  4Õ'ˆä0°¸¸9ÀbÓM‰ˆ
Ü˜
Ô&ä0°¸¸9ÀbÓM‰ˆ
Ü˜
¤B§H¢HªZÓ$8¸4Õ$?Ô@ä 8Ø�1�i ó!)Ñˆ
ä˜
¤B§F¢F¨1£IÔ.Ü”—’˜	�zÓ"Ô#ä 8Ø�1�i ó!)Ñˆ
ä˜
¤B§H¢HªZÓ$8¸4Õ$?Ô@Ü�Y¤§¢Ò)<Ó =Ö>r*   c                óÞ  € \         P                  ! R
R
.4      p\         P                  ! RR.4      p\         P                  ! RR .4      p\         P                  ! RR.4      p\        W4^RW4      w  rV\        V\         P                  ! RR.4      4       \        W4^RW4      w  rV\        V\         P                  ! RR
.4      4       \        W4^RW4      w  rW\        V\         P                  ! R R
.4      4       \	        V\         P                  ! RR.4      4       \        W4^RW4      w  rW\        V\         P                  ! RR.4      4       \	        V\         P                  ! RR.4      4       R	# )g¸…ëQ¸ž?gš™™™™™©?rQ   r?   gš™™™™™™?r@   FTg¸…ëQ¸Ž?Ng¸…ëQ¸ž¿çš™™™™™¹¿g¸…ëQ¸®¿g¸…ëQ¸Ž¿)r   r   r   r   r   )rG   rV   rW   rH   rI   rL   rX   rM   s   &       r(   Útest_tight_boundsÚ*TestAdjustSchemeToBounds.test_tight_bounds†   s$  € Ü�XŠX�u˜e�nÓ%ˆÜ�XŠX�t˜T�lÓ#ˆÜ�XŠX�s˜D�kÓ"ˆÜ�HŠH�d˜D�\Ó"ˆä0°¸¸9ÀbÓM‰ˆ
Ü˜
¤B§H¢H¨d°E¨]Ó$;Ô<ä0°¸¸9ÀbÓM‰ˆ
Ü˜
¤B§H¢H¨e°U¨^Ó$<Ô=ä 8Ø�1�i ó!)Ñˆ
ä˜
¤B§H¢H¨d°E¨]Ó$;Ô<Ü�Y¤§¢¨%°¨Ó 7Ô8ä 8Ø�1�i ó!)Ñˆ
ä˜
¤B§H¢H¨e°V¨_Ó$=Ô>Ü�Y¤§¢¨%°¨Ó 7Ö8r*   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rN   rY   r]   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r(   r<   r<   S   s   ø‡ € ò$ò8?÷,9ð 9r*   r<   c                   ó„  a € ] tR t^�t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR.R ltR/R ltR tR tR tR tR tR tR tR t]P4                  P7                  R4      R 4       tR tR tR tR t R t!R t"R t#R t$R  t%R! t&R" t'R# t(]P4                  PS                  R$]*PV                  ]*PX                  ]*PZ                  34      ]P4                  PS                  R%]*PV                  ]*PX                  ]*PZ                  34      ]P4                  PS                  R&R'R(.4      R) 4       4       4       t.R* t/R+ t0R,t1V t2R-# )0ÚTestApproxDerivativesDensec                ó.   € \         P                  ! V4      # ©N©r   Úsinh©rG   Úxs   &&r(   Úfun_scalar_scalarÚ,TestApproxDerivativesDense.fun_scalar_scalarž   ó   € Ü�wŠw�q‹zÐr*   c                ó.   € \         P                  ! V4      # rk   ©r   Úcoshrn   s   &&r(   Újac_scalar_scalarÚ,TestApproxDerivativesDense.jac_scalar_scalar¡   rr   r*   c                ó¼   € \         P                  ! V^ ,          ^,          \         P                  ! V^ ,          4      \         P                  ! V^ ,          4      .4      # ©r   ©r   r   ÚtanÚexprn   s   &&r(   Úfun_scalar_vectorÚ,TestApproxDerivativesDense.fun_scalar_vector¤   ó8   € Ü�xŠx˜˜1�˜q�¤"§&¢&¨¨1­£,´·²°q¸µt³Ð=Ó>Ð>r*   c                óê   € \         P                  ! ^V^ ,          ,          \         P                  ! V^ ,          4      R,          \         P                  ! V^ ,          4      .4      P	                  R^4      # ©r   éþÿÿÿrS   ©r   r   Úcosr|   Úreshapern   s   &&r(   Újac_scalar_vectorÚ,TestApproxDerivativesDense.jac_scalar_vector§   óN   € Ü�xŠxØ��1•�X”r—v’v˜a �d“| rÕ)¬2¯6ª6°!°Aµ$«<Ð8ó:ß:A¹'À"Àa».ð	Ir*   c                óœ   € \         P                  ! V^ ,          V^,          ,          4      \         P                  ! V^ ,          4      ,          # ry   ©r   ÚsinÚlogrn   s   &&r(   Úfun_vector_scalarÚ,TestApproxDerivativesDense.fun_vector_scalar«   ó.   € Ü�vŠv�a˜•d˜Q˜q�T•kÓ"¤R§V¢V¨A¨a­D£\Õ1Ð1r*   c                ó’   € \         P                  ! V^,          \         P                  ! V4      \         P                  ! V4      .4      # ©r   rz   rn   s   &&r(   Úwrong_dimensions_funÚ/TestApproxDerivativesDense.wrong_dimensions_fun®   s,   € Ü�xŠx˜˜A�œrŸvšv a›y¬"¯&ª&°«)Ð4Ó5Ð5r*   c           	     ó  € \         P                  ! V^,          \         P                  ! V^ ,          V^,          ,          4      ,          \         P                  ! V^ ,          4      ,          \         P                  ! V^ ,          V^,          ,          4      V^ ,          ,          ,           V^ ,          \         P                  ! V^ ,          V^,          ,          4      ,          \         P                  ! V^ ,          4      ,          .4      # ©r   ©r   r   r„   rŒ   r‹   rn   s   &&r(   Újac_vector_scalarÚ,TestApproxDerivativesDense.jac_vector_scalar±   ó¢   € Ü�xŠxØˆa�D”2—6’6˜!˜A�$  1¥�+Ó&Õ&¬¯ª°°!µ«Õ5Ü�FŠF�1�Q•4˜!˜A�$•;Ó ! A¥$Õ&õ'àˆa�D”2—6’6˜!˜A�$  1¥�+Ó&Õ&¬¯ª°°!µ«Õ5ð
ó ð 	r*   c                ó  € \         P                  ! V^ ,          \         P                  ! V^,          4      ,          V^,          \         P                  ! V^ ,          4      ,          V^ ,          ^,          V^,          R,          ,          .4      # ©r   ç      à¿©r   r   r‹   r„   rn   s   &&r(   Úfun_vector_vectorÚ,TestApproxDerivativesDense.fun_vector_vector¸   ó`   € Ü�xŠxØˆa�D”2—6’6˜!˜A�$“<ÕØˆa�D”2—6’6˜!˜A�$“<ÕØˆa�D�A�I˜˜!� �Õ$ð
ó ð 	r*   c                ó0  € V^*8X  g   Q h\         P                  ! V^ ,          \         P                  ! V^,          4      ,          V^,          \         P                  ! V^ ,          4      ,          V^ ,          ^,          V^,          R,          ,          .4      # )ú=Used to test passing custom arguments with check_derivative()rœ   r�   ©rG   ro   Úargs   &&&r(   Úfun_vector_vector_with_argÚ5TestApproxDerivativesDense.fun_vector_vector_with_arg¿   sl   € à�bŒyÐˆyÜ�xŠxØˆa�D”2—6’6˜!˜A�$“<ÕØˆa�D”2—6’6˜!˜A�$“<ÕØˆa�D�A�I˜˜!� �Õ$ð
ó ð 	r*   c                óú  € \         P                  ! \         P                  ! V^,          4      V^ ,          \         P                  ! V^,          4      ,          .V^,          ) \         P                  ! V^ ,          4      ,          \         P                  ! V^ ,          4      .^V^ ,          ^,          ,          V^,          R,          ,          RV^ ,          ^,          ,          V^,          R,          ,          ..4      # ©r   rœ   ç      ø¿r�   rn   s   &&r(   Újac_vector_vectorÚ,TestApproxDerivativesDense.jac_vector_vectorÈ   ó§   € Ü�xŠxÜ�VŠV�A�a•D‹\˜1˜Q�4¤"§&¢&¨¨1­£,Õ.Ð/Ø��dˆU”R—V’V˜A˜a�D“\Õ!¤2§6¢6¨!¨A­$£<Ð0Ø��1•˜•�]˜Q˜q�T T�\Õ)¨4°!°Aµ$¸!µ)Õ+;¸aÀ½dÀd½lÕ+JÐKð
ó ð 	r*   c                ó  € V^*8X  g   Q h\         P                  ! \         P                  ! V^,          4      V^ ,          \         P                  ! V^,          4      ,          .V^,          ) \         P                  ! V^ ,          4      ,          \         P                  ! V^ ,          4      .^V^ ,          ^,          ,          V^,          R,          ,          RV^ ,          ^,          ,          V^,          R,          ,          ..4      # )r¢   rœ   r©   r�   r£   s   &&&r(   Újac_vector_vector_with_argÚ5TestApproxDerivativesDense.jac_vector_vector_with_argÏ   s³   € à�bŒyÐˆyÜ�xŠxÜ�VŠV�A�a•D‹\˜1˜Q�4¤"§&¢&¨¨1­£,Õ.Ð/Ø��dˆU”R—V’V˜A˜a�D“\Õ!¤2§6¢6¨!¨A­$£<Ð0Ø��1•˜•�]˜Q˜q�T T�\Õ)¨4°!°Aµ$¸!µ)Õ+;¸aÀ½dÀd½lÕ+JÐKð
ó ð 	r*   c                ó¶   € \         P                  ! \         P                  ! W!^ ,          ,          4      \         P                  ! W1^,          ,          4      .4      # ry   ©r   r   r|   ©rG   ro   Úc0Úc1s   &&&&r(   Úfun_parametrizedÚ+TestApproxDerivativesDense.fun_parametrizedØ   s4   € Ü�xŠxœŸš  q¥T¥	Ó*¬B¯FªF°2¸!½µ9Ó,=Ð>Ó?Ð?r*   c           
     óÚ   € \         P                  ! V\         P                  ! W!^ ,          ,          4      ,          ^ .^ V\         P                  ! W1^,          ,          4      ,          ..4      # ry   r±   r²   s   &&&&r(   Újac_parametrizedÚ+TestApproxDerivativesDense.jac_parametrizedÛ   sP   € Ü�xŠxØ”"—&’&˜ �d�Ó#Õ# QÐ'Ø�”R—V’V˜B 1¥�IÓ&Õ&Ð'ð
ó ð 	r*   c                ó\   € \         P                  ! V4      R 8:  d   V# \         P                  # )ç:Œ0âŽyE>©r   rU   Únanrn   s   &&r(   Úfun_with_nanÚ'TestApproxDerivativesDense.fun_with_naná   s    € Ü—F’F˜1“I Ô%ˆqÐ1¬2¯6©6Ð1r*   c                ó\   € \         P                  ! V4      R 8:  d   R# \         P                  # )r»   ç      ð?r¼   rn   s   &&r(   Újac_with_nanÚ'TestApproxDerivativesDense.jac_with_nanä   s    € Ü—f’f˜Q“i 4Ô'ˆsÐ3¬R¯V©VÐ3r*   c                ó®   € \         P                  ! V^ ,          V^,          ,          \         P                  ! V^ ,          V^,          ,          4      .4      # ry   )r   r   r„   rn   s   &&r(   Úfun_zero_jacobianÚ,TestApproxDerivativesDense.fun_zero_jacobianç   s7   € Ü�xŠx˜˜1�  !¥�¤b§f¢f¨Q¨q­T°A°aµD­[Ó&9Ð:Ó;Ð;r*   c           
     ó6  € \         P                  ! V^,          V^ ,          .V^,          ) \         P                  ! V^ ,          V^,          ,          4      ,          V^ ,          ) \         P                  ! V^ ,          V^,          ,          4      ,          ..4      # r•   )r   r   r‹   rn   s   &&r(   Újac_zero_jacobianÚ,TestApproxDerivativesDense.jac_zero_jacobianê   so   € Ü�xŠxØˆq�T�1�Q•4ˆLØ��dˆU”R—V’V˜A˜a�D 1 Q¥4�KÓ(Õ(¨1¨Q­4¨%´"·&²&¸¸1½ÀÀ!Å½Ó2EÕ*EÐFð
ó ð 	r*   c                óv   € \         P                  ! V4      P                  4       p\        P                  ! V4      # rk   )r   r   ÚitemÚmathr|   )rG   ro   Úxps   && r(   Újac_non_numpyÚ(TestApproxDerivativesDense.jac_non_numpyð   s(   € ô �ZŠZ˜‹]×ÑÓ!ˆÜ�xŠx˜‹|Ðr*   c                ó  € R p\        V P                  VRR7      p\        V P                  V4      p\        V P                  VRR7      pV P                  V4      p\        W%RR7       \        W5RR7       \        WERR7       R# )	rÁ   r,   ©r9   r/   ç�íµ ÷Æ°>©Úrtolç•Ö&è.>çê-�™—q=N©r   rp   rv   r   ©rG   rH   Ú
jac_diff_2Ú
jac_diff_3Ú
jac_diff_4Újac_trues   &     r(   Útest_scalar_scalarÚ-TestApproxDerivativesDense.test_scalar_scalarö   su   € ØˆÜ& t×'=Ñ'=¸rØ.7ô9ˆ
ä& t×'=Ñ'=¸rÓBˆ
Ü& t×'=Ñ'=¸rØ.2ô4ˆ
à×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4Õ8Ü˜
°5×9r*   c                ó  € R p\        V P                  VRRR7      p\        V P                  VRR7      p\        V P                  VRRR7      pV P                  V4      p\        W%RR7       \        W5RR7       \        WER	R7       R
# )rÁ   r,   çÛ"•“\ÿO>©r9   Úabs_step)râ   r/   rÒ   rÓ   rÕ   rÖ   Nr×   rØ   s   &     r(   Útest_scalar_scalar_abs_stepÚ6TestApproxDerivativesDense.test_scalar_scalar_abs_step  s€   € àˆÜ& t×'=Ñ'=¸rØ.7À'ôKˆ
ä& t×'=Ñ'=¸rØ07ô9ˆ
ä& t×'=Ñ'=¸rØ.2¸WôFˆ
à×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4Õ8Ü˜
°5×9r*   c           	     óž  € R p\        ^4      ;_uu_ 4       p\        V P                  VRVR7      pRRR4       \        V P                  V\        R7      p\        V P                  VRRR7      pV P	                  \
        P                  ! V4      4      p\        XVRR7       \        WFRR7       \        WVR	R7       R#   + '       g   i     L”; i)
r-   r,   ©r9   ÚworkersN)rç   r/   rÒ   rÓ   rÕ   rÖ   )r   r   r}   Úmapr†   r   Ú
atleast_1dr   )rG   rH   ÚmapperrÙ   rÚ   rÛ   rÜ   s   &      r(   Útest_scalar_vectorÚ-TestApproxDerivativesDense.test_scalar_vector  s¢   € ØˆÜ˜�]Œ]˜fÜ*¨4×+AÑ+AÀ2Ø2;ÀVôMˆJ÷ ô ' t×'=Ñ'=¸rÌ3ÔOˆ
Ü& t×'=Ñ'=¸rØ.2¸DôBˆ
à×)Ñ)¬"¯-ª-¸Ó*;Ó<ˆÜ˜
 H°4Õ8Ü˜
°4Õ8Ü˜
°5×9÷ �]ús   –B<Â<C	g      @c           
     ó  € . R
Op\        ^4      ;_uu_ 4       p\        \        VRVRR7      w  r4\        \        VVRR7      w  rVRRR4       \        \        VR^RR7      w  rx\        \        4      p	\        W‘RRR7      w  r«\	        VR,          V	P
                  4       ^ V	n        \        W‘RR	7      w  rÍ\	        VR,          V	P
                  4       ^ V	n        \        W‘RRR7      w  rï\	        VR,          V	P
                  4       \	        XR,          VR,          4       \	        XR,          VR,          4       \	        VR,          VR,          4       \	        XV
4       \	        XV4       \	        W~4       R#   + '       g   i     EL=; i)r-   r,   T)r9   rç   Úfull_output)rç   rî   Nr/   )r9   rî   Únfev)rî   )r-   g      ø?ç       @)r   r   r   r	   r   rï   )rG   rH   rê   Úmd2Úmdct2Úmd3Úmdct3Úmd4Úmdct4ÚsfrÚd2Údct2Úd3Údct3Úd4Údct4s   &               r(   Ú!test_workers_evaluations_and_nfevÚ<TestApproxDerivativesDense.test_workers_evaluations_and_nfev  s=  € ò ˆÜ˜�]Œ]˜fÜ*¬5°"Ø2;ÀVØ7;ô=‰JˆCô +¬5°"Ø39ÀtôM‰JˆC÷	 ô '¤u¨bØ.2¸AØ37ô9‰
ˆô %¤UÓ+ˆÜ$ S°YÈDÔQ‰ˆÜ�T˜&•\ 3§8¡8Ô,ØˆŒÜ$ S¸$Ô?‰ˆÜ�T˜&•\ 3§8¡8Ô,ØˆŒÜ$ S°TÀtÔL‰ˆÜ�T˜&•\ 3§8¡8Ô,ä�U˜6•] D¨¥LÔ1Ü�U˜6•] D¨¥LÔ1Ü�U˜6•] D¨¥LÔ1ä�S˜"ÔÜ�S˜"ÔÜ�SÖ÷9 �]ˆ]ús   ˜,E8Å8F		c                ó2  € \         P                  ! R R	.4      p\        V P                  VRR7      p\        V P                  V4      p\        V P                  VRR7      pV P	                  V4      p\        W%RR7       \        W5RR7       \        WERR7       R# )
ç      Y@r,   rÑ   r/   rÒ   rÓ   çH¯¼šò×z>rÖ   Nrœ   )r   r   r   r�   r—   r   rØ   s   &     r(   Útest_vector_scalarÚ-TestApproxDerivativesDense.test_vector_scalar@  s‚   € Ü�XŠX�u˜d�mÓ$ˆÜ& t×'=Ñ'=¸rØ.7ô9ˆ
ä& t×'=Ñ'=¸rÓBˆ
Ü& t×'=Ñ'=¸rØ.2ô4ˆ
à×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4Õ8Ü˜
°5×9r*   c                óX  € \         P                  ! R R.4      p\        V P                  VRRR7      p\        V P                  VR\         P                  R7      p\        V P                  VRRR7      pV P                  V4      p\        W%RR7       \        W5RR7       \        WER	R7       R
# )r  r,   rà   rá   )râ   Úrel_stepr/   rÒ   rÓ   çßA:ÜÅ)>rÖ   Nrœ   )r   r   r   r�   rE   r—   r   rØ   s   &     r(   Útest_vector_scalar_abs_stepÚ6TestApproxDerivativesDense.test_vector_scalar_abs_stepL  s”   € ä�XŠX�u˜d�mÓ$ˆÜ& t×'=Ñ'=¸rØ.7À'ôKˆ
ä& t×'=Ñ'=¸rØ07Ä"Ç&Á&ôJˆ
ä& t×'=Ñ'=¸rØ.2¸WôFˆ
à×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4Õ8Ü˜
°5×9r*   c           	     ó”  € \         P                  ! RR.4      p\        V P                  VRR7      p\        V P                  V4      p\	        ^4      ;_uu_ 4       p\        V P                  VRVR7      pRRR4       V P                  V4      p\        W&RR7       \        W6R	R7       \        XVR
R7       R#   + '       g   i     LK; i)r  çš™™™™™É?r,   rÑ   r/   ræ   Nçñhãˆµøä>rÓ   rÒ   rÖ   ç      YÀ)r   r   r   rž   r   rª   r   )rG   rH   rÙ   rÚ   rê   rÛ   rÜ   s   &      r(   Útest_vector_vectorÚ-TestApproxDerivativesDense.test_vector_vectorZ  s¡   € Ü�XŠX�v˜s�mÓ$ˆÜ& t×'=Ñ'=¸rØ.7ô9ˆ
ä& t×'=Ñ'=¸rÓBˆ
Ü˜�]Œ]˜fÜ*¨4×+AÑ+AÀ2Ø26ÀôHˆJ÷ ð ×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4Õ8Ü˜
 H°5×9÷ �]ús   ÁB7Â7C	c                óÖ   € R p\        \        \        V P                  V4       V P                  \        P
                  ! V4      4      p\        \        \        V P                  WR7       R# )rÁ   )Úf0N)Úassert_raisesÚRuntimeErrorr   r’   r   ré   Ú
ValueError)rG   rH   r  s   &  r(   Útest_wrong_dimensionsÚ0TestApproxDerivativesDense.test_wrong_dimensionsg  sP   € ØˆÜ”lÔ$5Ø×/Ñ/°ô	5à×&Ñ&¤r§}¢}°RÓ'8Ó9ˆÜ”jÔ"3Ø×/Ñ/°÷	<r*   c                óî   € \         P                  ! RR .4      p\        V P                  VRRR7      p\        V P                  VRR7      pV P	                  V4      p\        W$RR7       \        W4RR7       R# )	rR   r,   g-Cëâ6?)r9   r  )r  r>   rÓ   Nr\   )r   r   r   rž   rª   r   )rG   rH   rÙ   rÚ   rÜ   s   &    r(   Útest_custom_rel_stepÚ/TestApproxDerivativesDense.test_custom_rel_stepo  si   € Ü�XŠX�t˜S�kÓ"ˆÜ& t×'=Ñ'=¸rØ.7À$ôHˆ
ä& t×'=Ñ'=¸rØ04ô6ˆ
à×)Ñ)¨"Ó-ˆÜ˜
°4Õ8Ü˜
°4×8r*   c                ó�  € \         P                  ! R R .4      pRpR pRpRpV P                  WVR7      p\         P                  ! RR.4      pV P                  WV4      p\	        V P                  VRVWb3\        VR7      WE3R7      p	\	        V P                  WWb3\        VR7      WE3R7      p
\        W˜RR	7       \        W¨R
R	7       R# )rÁ   rQ   rð   )r´   rÒ   r  r,   )r9   r  r  ÚargsÚkwargsÚbounds)r  r  r  r  r  rÓ   rÕ   Nç      ð¿g�íµ ÷Æ°¾)r   r   rµ   r¸   r   Údictr   )rG   rH   r³   r´   rV   rW   r  r  rÜ   rÙ   rÚ   s   &          r(   Útest_optionsÚ'TestApproxDerivativesDense.test_optionsy  sÇ   € Ü�XŠX�s˜C�jÓ!ˆØˆØˆØˆØˆØ×"Ñ" 2¨bÐ"Ó1ˆÜ—8’8˜U D˜MÓ*ˆØ×(Ñ(¨°Ó4ˆÜ&Ø×!Ñ! 2¨iÀ(Ø˜¤d¨b¤k¸2¸(ôDˆ
ô 'Ø×!Ñ! 2Ø˜¤d¨b¤k¸2¸(ôDˆ
ô 	˜
°4Õ8Ü˜
°4×8r*   c                óv  € \         P                  ! ^4      ) p\         P                  ! ^4      p\         P                  ! R	R.4      p\        \        \
        V P                  W1V3R7       \         P                  ! R
R.4      p\        V P                  VRW3R7      pV P                  V4      p\        WERR7       R# )r   r  ©r  rÁ   r,   ©r9   r  rÒ   rÓ   Ng       Àr  )	r   rT   r   r  r  r   rž   rª   r   )rG   rV   rW   rH   Újac_diffrÜ   s   &     r(   Útest_with_bounds_2_pointÚ3TestApproxDerivativesDense.test_with_bounds_2_point‹  s—   € Ü�gŠg�a‹jˆ[ˆÜ�WŠW�Q‹Zˆä�XŠX�t˜S�kÓ"ˆÜ”jÔ"3Ø×,Ñ,¨b¸b¸õ	Cô �XŠX�t˜S�kÓ"ˆÜ$ T×%;Ñ%;¸RØ,5¸r¸hôHˆà×)Ñ)¨"Ó-ˆÜ˜°×6r*   c                ó   € \         P                  ! R R .4      p\         P                  ! RR.4      p\         P                  ! R R.4      pV P                  V4      p\        V P                  V4      p\        WTRR7       \        V P                  VV\         P                  3R7      p\        WTRR7       \        V P                  V\         P                  ) V3R7      p\        WTRR7       \        V P                  VW3R7      p\        WTRR7       R# )rÁ   rð   rÕ   rÓ   r#  N)r   r   rª   r   rž   r   rE   )rG   rV   rW   rH   rÜ   r%  s   &     r(   Útest_with_bounds_3_pointÚ3TestApproxDerivativesDense.test_with_bounds_3_point™  sÛ   € Ü�XŠX�s˜C�jÓ!ˆÜ�XŠX�s˜C�jÓ!ˆä�XŠX�s˜C�jÓ!ˆØ×)Ñ)¨"Ó-ˆä$ T×%;Ñ%;¸RÓ@ˆÜ˜°Õ6ä$ T×%;Ñ%;¸RØ-/´·±¨Lô:ˆä˜°Õ6ä$ T×%;Ñ%;¸RÜ.0¯f©f¨W°b¨Mô;ˆä˜°Õ6ä$ T×%;Ñ%;¸RØ-/¨Hô6ˆä˜°×6r*   c                ó´  € \         P                  ! R R .4      pVR,
          pVR,           pV P                  V4      p\        V P                  VRW#3R7      p\        WTRR7       \        V P                  VRRW#3R7      p\        WTRR7       \        V P                  WV3R7      p\        WTRR7       \        V P                  VRW#3R	7      p\        WERR7       R
# )ç      $@r  g•Ö&è.!>r,   r$  rÒ   rÓ   ©r9   r  r  r#  ©r  r  N)r   r   rª   r   rž   r   )rG   rH   rV   rW   rÜ   r%  s   &     r(   r]   Ú,TestApproxDerivativesDense.test_tight_bounds¯  sÏ   € Ü�XŠX�t˜T�lÓ#ˆØ�$�YˆØ�$�YˆØ×)Ñ)¨"Ó-ˆÜ$Ø×"Ñ" B¨yÀ"ÀôKˆä˜°Õ6Ü$Ø×"Ñ" B¨yØ 2 (ô,ˆô 	˜°Õ6ä$Ø×"Ñ" B°B¨xô9ˆä˜°Õ6Ü$Ø×"Ñ" B°¸r¸hôHˆä˜°×6r*   c                ó–  € R	pR pRpV P                  V4      p\        V P                  VRRW3R7      p\        V P                  VRW3R7      p\        WTRR7       \        WdRR7       R pV P                  V4      p\        V P                  VRRW3R7      p\        V P                  VRW3R7      p\        WTRR7       \        WdRR7       R# )
r»   rQ   r,   rÒ   r-  r.  rÓ   rÕ   Nç:Œ0âŽyE¾)rÂ   r   r¾   r   )rG   rV   rW   rH   rÜ   rÙ   rÚ   s   &      r(   Útest_bound_switchesÚ.TestApproxDerivativesDense.test_bound_switchesÃ  sÖ   € ØˆØˆØˆØ×$Ñ$ RÓ(ˆÜ&Ø×Ñ˜r¨)¸dØ�8ôˆ
ô 'Ø×Ñ˜r¨D¸"¸ôCˆ
ä˜
°4Õ8Ü˜
°4Õ8àˆØ×$Ñ$ RÓ(ˆÜ&Ø×Ñ˜r¨)¸dØ�8ôˆ
ô 'Ø×Ñ˜r¨D¸"¸ôCˆ
ä˜
°4Õ8Ü˜
°4×8r*   c                ó  € R pV P                  V4      p\        V P                   VRR7      p\        V P                   V4      p\        W2RR7       \        WBRR7       \        \        \        V P                   V3/ \        RR7      B  R# )rÁ   r,   rÑ   rÒ   rÓ   r»   r/   N)rÎ   r   r   r  Ú	TypeErrorr  )rG   rH   rÜ   rÙ   rÚ   s   &    r(   Útest_non_numpyÚ)TestApproxDerivativesDense.test_non_numpyÚ  sz   € ØˆØ×%Ñ% bÓ)ˆÜ& t×'9Ñ'9¸2Ø.7ô9ˆ
ä& t×'9Ñ'9¸2Ó>ˆ
Ü˜
°4Õ8Ü˜
°4Õ8ô 	”iÔ!2°D×4FÑ4FÈñ 	+Ü DÔ)ô	+r*   c                ól  aaaa€ \         P                  P                  ^4      pR oV3R lo\         P                  ! ^ ^^d\         P                  R7      oVP                  ^d\         P                  R7      o\         P
                  ! RR.4      p\        SVRSS3R7      p\        SVP                  \         P                  4      RSS3R7      pS! VSS4      P                  \         P                  8X  g   Q h\        WCRR	7       VVV3R
 lp\        WRP                  \         P                  4      RR7      p\        WCRR	7       VP                  \         P                  8X  g   Q hR pR pR pR p	\         P                  \         P                  \         P                  3 F’  p
\         P                  ! V
4      P                  p\         P
                  ! R4      P                  V
4      p\        RWÆ! V4      R4      pV	! WÜWhV4      p\        WlRVR7      V! V4      ,
          o\        S4      V8  d   K’  Q h	  R# )r   c                 ó>   € V ^ ,          V ^,          V,          ,           # ry   r_   )Úpro   s   &&r(   ÚfuncÚ0TestApproxDerivativesDense.test_fp.<locals>.funcì  s   € Ø�Q•4˜!˜A�$ �(•?Ð"r*   c                 ó"   <€ S! W4      V,
          # rk   r_   )r:  ro   Úyr;  s   &&&€r(   ÚerrÚ/TestApproxDerivativesDense.test_fp.<locals>.errï  s   ø€ Ù˜“: •>Ð!r*   ©Údtype)ÚsizerB  rÁ   r,   )r9   r  çü©ñÒMbP?)Úatolc                 ó”   <€ V P                   \        P                  8X  g   Q hS! V SS4      P                  \        P                  4      # rk   )rB  r   r6   Úastype)r:  r?  ro   r>  s   &€€€r(   Úerr_fp32Ú4TestApproxDerivativesDense.test_fp.<locals>.err_fp32ÿ  s6   ø€ Ø—7‘7œbŸj™jÔ(Ð(Ð(Ù�q˜!˜Q“<×&Ñ&¤r§z¡zÓ2Ð2r*   rÑ   c                 ó.   € \         P                  ! V 4      # rk   ©r   r‹   ©ro   s   &r(   ÚfÚ-TestApproxDerivativesDense.test_fp.<locals>.f	  ó   € Ü—6’6˜!“9Ðr*   c                 ó.   € \         P                  ! V 4      # rk   )r   r„   rL  s   &r(   ÚgÚ-TestApproxDerivativesDense.test_fp.<locals>.g  rO  r*   c                 ó0   € \         P                  ! V 4      ) # rk   rK  rL  s   &r(   ÚhessÚ0TestApproxDerivativesDense.test_fp.<locals>.hess  s   € Ü—F’F˜1“I�:Ðr*   c           
      ó`  € V ^,          \        \        P                  ! V! V4      4      \        P                  ! V! W,           4      4      4      ,          pW@,          \        \        P                  ! V! V4      4      \        P                  ! V! W,           4      4      4      ,          pWV,           # r‘   )Úmaxr   rU   )rI   rH   rM  rT  r7   Út0Út1s   &&&&&  r(   Ú	calc_atolÚ5TestApproxDerivativesDense.test_fp.<locals>.calc_atol  sj   € à�Q•œœRŸVšV¡D¨£HÓ-¬r¯vªv±d¸2½6³lÓ/CÓDÕDˆBð •œ3œrŸvšv¡a¨£e›}¬b¯fªf±Q°rµv³YÓ.?Ó@Õ@ˆBØ•7ˆNr*   Nrá   r  )r   ÚrandomÚdefault_rngÚlinspacer3   r   r   rG  r6   rB  r   Úfloat16r2   r4   r   rU   )rG   ÚrngÚp0Újac_fp64Újac_fprH  rM  rQ  rT  rZ  rB  r7   rH   rI   rE  r?  r;  ro   r>  s   &              @@@@r(   Útest_fpÚ"TestApproxDerivativesDense.test_fpç  sº  û€ ô �i‰i×#Ñ# AÓ&ˆò	#õ	"ô �KŠK˜˜1˜c¬¯©Ô4ˆØ�J‰J˜C¤r§z¡zˆJÓ2ˆÜ�XŠX�t˜T�lÓ#ˆä$ S¨"°YÀaÈÀVÔLˆô # 3¨¯	©	´"·*±*Ó(=Ø*3¸1¸a¸&ôBˆá�2�q˜!‹}×"Ñ"¤b§j¡jÔ0Ð0Ð0Ü˜¨tÕ4÷	3ô # 8¯Y©Y´r·z±zÓ-BØ*3ô5ˆä˜¨tÕ4Ø�|‰|œrŸz™zÔ)Ð)Ð)ò	ò	ò	ò	ô —j‘j¤"§*¡*¬b¯j©jÓ9ˆEÜ—(’(˜5“/×%Ñ%ˆCÜ—’˜#“×%Ñ% eÓ,ˆBÜ& t¨R°°2³¸	ÓBˆAÙ˜Q A¨SÓ1ˆDÜ# A°)Ø-.ô0Ù23°B³%õ8ˆCä�s“8˜d–?Ð"�?ó :r*   Úx0_dtypeÚf0_dtyper9   r,   r.   c                óŽ  a€ \         P                  ! . R
OVR7      pV3R lp\        VV! V4      R\         R7      p\        WTVR7      pVP                  V8X  g   Q h\        WT\         P
                  ! R4      VR7      pVP                  V8X  g   Q h\        WT\         P
                  ! R4      VR7      pVP                  V8X  g   Q hR	# )rð   rA  c                 ó&   <€ S! \        V 4      4      # rk   r   )ro   rg  s   &€r(   rM  Ú6TestApproxDerivativesDense.test_check_dtype.<locals>.f-  s   ø€ ÙœE !›HÓ%Ð%r*   T)Úforce_floatingrÍ   rÑ   rR   )r  r9   )râ   r9   N)rð   g      @g      @)r   r   r   r   rB  r_  )rG   rf  rg  r9   ro   rM  Úpromoted_typerQ  s   &&f&    r(   Útest_check_dtypeÚ+TestApproxDerivativesDense.test_check_dtype#  s¨   ø€ ô �HŠH’_¨HÔ5ˆõ	&ô 'Ø	Ùˆa‹DØÜô	
ˆô ˜a¨6Ô2ˆØ�w‰w˜-Ô'Ð'Ð'ô ˜a¬R¯ZªZ¸«_ÀVÔLˆØ�w‰w˜-Ô'Ð'Ð'ä˜a¬R¯ZªZ¸«_ÀVÔLˆØ�w‰w˜-Ô'Ð'Ò'r*   c                óÞ  € \         P                  ! R^
.4      p\        V P                  V P                  V4      p\        VR8  4       \        V P                  V P                  V4      p\        VR8  4       \         P                  ! RR.4      p\        V P                  V P                  V4      p\        V^ 8H  4       \        V P                  V P                  V4      p\        V^ 8H  4       R# )r,  rÕ   rÒ   rQ   Nç      $À)r   r   r   rž   rª   r   rÅ   rÈ   ©rG   rH   Úaccuracys   &  r(   Útest_check_derivativeÚ0TestApproxDerivativesDense.test_check_derivative@  sÎ   € Ü�XŠX�u˜b�kÓ"ˆÜ# D×$:Ñ$:Ø$(×$:Ñ$:¸Bó@ˆä�˜4‘Ô Ü# D×$:Ñ$:Ø$(×$:Ñ$:¸Bó@ˆä�˜4‘Ô ä�XŠX�s˜C�jÓ!ˆÜ# D×$:Ñ$:Ø$(×$:Ñ$:¸Bó@ˆä�˜A‘ÔÜ# D×$:Ñ$:Ø$(×$:Ñ$:¸Bó@ˆä�˜A‘Ör*   c                óœ   € \         P                  ! R^
.4      p\        V P                  V P                  VR^*/R7      p\        VR8  4       R# )r,  r¤   )r  rÕ   Nrp  )r   r   r   r¥   r®   r   rq  s   &  r(   Ú!test_check_derivative_with_kwargsÚ<TestApproxDerivativesDense.test_check_derivative_with_kwargsQ  sG   € Ü�XŠX�u˜b�kÓ"ˆÜ# D×$CÑ$CØ$(×$CÑ$CØ$&Ø,1°2¨;ô8ˆô 	�˜4‘Ö r*   r_   N)rÁ   )rR   )3r`   ra   rb   rc   rp   rv   r}   r†   r�   r’   r—   rž   r¥   rª   r®   rµ   r¸   r¾   rÂ   rÅ   rÈ   rÎ   rÝ   rã   rë   ÚpytestÚmarkÚ	fail_slowrþ   r  r  r  r  r  r   r&  r)  r]   r2  r6  rd  Úparametrizer   r_  r6   r3   rm  rs  rv  rd   re   rf   s   @r(   ri   ri   �   sd  ø‡ € òòò?òIò2ò6òòòòòô@ôò2ò4ò<òòò
:ò:ò:ð ‡[�[×Ñ˜3Óñ ó  ð òD
:ò:ò:ò<ò9ò9ò$7ò7ò,7ò(9ò.+ò9#ðx ‡[�[×Ñ˜Z¨"¯*©*°b·j±jÀ"Ç*Á*Ð)MÓNØ‡[�[×Ñ˜Z¨"¯*©*°b·j±jÀ"Ç*Á*Ð)MÓNØ‡[�[×Ñ˜X¨	°9Ð'=Ó>ñ(ó ?ó Oó Oð(ò4÷"!ð !r*   ri   c                   óŒ   a € ] tR tRt o R tR tR tR t]P                  P                  ^4      R 4       tR tR tR	 tR
tV tR# )ÚTestApproxDerivativeSparseiZ  c                óN  € \         P                  P                  R 4      V n        ^2V n        R^\         P
                  ! V P                  4      ,           ,          V n        R^\         P
                  ! V P                  4      ,           ,          V n        \         P                  ! V P                  4      V n	        RV P                  R,          ,          V P                  R&   RV P                  R,          ,          V P                  R&   V P                  V P                  4      V n        R# )i‚´7rR   ºNNr   :r   Nr   Nr\   gËPÊÿÿï?)r   r\  r]  r`  Únr   rV   rW   ÚemptyrH   ÚjacÚJ_true)rG   s   &r(   Úsetup_methodÚ'TestApproxDerivativeSparse.setup_method\  s·   € Ü—9‘9×(Ñ(¨Ó3ˆŒØˆŒØ˜!œbŸiši¨¯©Ó/Õ/Õ0ˆŒØ˜œRŸYšY t§v¡vÓ.Õ.Õ/ˆŒÜ—(’(˜4Ÿ6™6Ó"ˆŒØ  D§G¡G¨C¥LÕ0ˆ�‰�‰Ø! T§W¡W¨T¥]Õ2ˆ�‰�‰à—h‘h˜tŸw™wÓ'ˆŽr*   c                óÊ   € VR ,          ^,          VRR ^,          ,
          p\         P                  ! ^ ^V,          34      \         P                  ! ^V,          ^ 34      ,           # ):r   NNNrS   )r   Úhstack)rG   ro   Úes   && r(   ÚfunÚTestApproxDerivativeSparse.fung  sK   € Øˆb�E�1�H�q˜˜"�v˜q•yÕ ˆÜ�yŠy˜!˜Q �U˜Ó$¤r§y¢y°!°aµ%¸°Ó'<Õ<Ð<r*   c                ó"  € VP                   p\        P                  ! W"34      pRV^ ,          ,          VR&   ^V^,          ^,          ,          VR&   \        ^V^,
          4       Fz  pRW^,
          ,          ,          W4V^,
          3&   ^	W,          ^,          ,          ^W,          ,          ,
          W4V3&   ^W^,           ,          ^,          ,          W4V^,           3&   K|  	  ^	VR,          ^,          ,          VR&   RVR,          ,          VR&   V# )	r   éüÿÿÿ©r   r   ©r   r   iúÿÿÿrS   ©rS   rS   r‚   ©rS   r‚   )rC  r   rA   Úrange)rG   ro   r€  ÚJÚis   &&   r(   r‚  ÚTestApproxDerivativeSparse.jack  sØ   € Ø�F‰FˆÜ�HŠH�a�VÓˆØ�q˜•t•)ˆˆ$‰Ø�a˜•d˜A•g•+ˆˆ$‰Ü�q˜!˜a�%–ˆAØ˜q 1¥�v�+ˆA��Q•ˆh‰KØ˜!�$ �'•k A¨­¥HÕ,ˆA�ˆd‰GØ˜a !¥�f a�i�-ˆA��Q•ˆh‹Kñ !ð ˜˜"�˜q�•Lˆˆ&‰	Ø˜˜2�•Jˆˆ&‰	àˆr*   c                óÈ   € \         P                  ! W3\        R 7      p^VR&   ^VR&   \        ^V^,
          4       F  p^W#V^,
          V^,           13&   K  	  ^VR&   ^VR&   V# )rA  r�  rŽ  r�  r�  )r   rA   Úintr‘  )rG   r€  r"   r“  s   &&  r(   r    Ú$TestApproxDerivativeSparse.structurey  si   € Ü�HŠH�a�V¤3Ô'ˆØˆˆ$‰Øˆˆ$‰Ü�q˜!˜a�%–ˆAØ!"ˆA��Q•˜˜A��ˆoÓñ !àˆˆ&‰	Øˆˆ&‰	àˆr*   c                ó¾  € V P                  V P                  4      p\        P                  ! V P                  4      p\	        W4      pV P
                  P                  V4       \	        W4      p\        ^4      ;_uu_ 4       p\        . R	OW4.\        P                  ) V P                  .\        P                  V P                  .\        V.4       Fï  w  rgr‰p
\        V P                  V P                  VW‰3W3V
R7      p\!        \#        V\$        4      4       \'        VP)                  4       V P*                  RR7       \        P,                  ! V P                  R4      pVR;;,          R
,          uu&   \        V P                  V P                  VWÁV3V
R7      p\'        VP)                  4       V P*                  RR7       Kñ  	  RRR4       R#   + '       g   i     R# ; i)r   )r9   r  Úsparsityrç   rÒ   rÓ   r»   r  )r9   r  r™  rç   r  Nr1   rS   )r    r€  r   r   r   r`  Úshuffler   r   rE   rV   rW   rè   r   r‰  rH   r   Ú
isinstancer
   r   Útoarrayrƒ  Ú	full_like)rG   r"   r#   r&   r'   rê   r9   r%   ÚlÚuÚmfr’  r  s   &            r(   Útest_allÚ#TestApproxDerivativeSparse.test_all„  sS  € à�N‰N˜4Ÿ6™6Ó"ˆÜ—	’	˜$Ÿ&™&Ó!ˆÜ  Ó*ˆØ�‰×Ñ˜ÔÜ  Ó*ˆä˜�]Œ]˜fÜ,3Ú0°8Ð2FÜ—f‘f�W˜dŸg™gÐ&¬¯©°·±Ð(9¼CÀ¸=ö-JÑ(�  bô & d§h¡h°·±ÀØ./¨V¸q¸kØ.0ô2�ô œ
 1¤iÓ0Ô1Ü §	¡	£¨T¯[©[¸tÕDäŸ<š<¨¯©°Ó6�Ø˜— Õ#“Ü% d§h¡h°·±ÀØ/7ÀfÀ+Ø.0ô2�ô   §	¡	£¨T¯[©[¸t×Dñ-J÷ �]�]Š]ús   Â EGÇG	c                óÌ   € V P                  V P                  4      p\        V P                  V P                  VR 7      p\        VP                  4       V P                  RR7       R# ))r™  rÒ   rÓ   N)r    r€  r   r‰  rH   r   rœ  rƒ  )rG   r"   r’  s   &  r(   Útest_no_precomputed_groupsÚ5TestApproxDerivativeSparse.test_no_precomputed_groups�  s@   € Ø�N‰N˜4Ÿ6™6Ó"ˆÜ˜dŸh™h¨¯©¸!Ô<ˆÜ˜Ÿ	™	› T§[¡[°t×<r*   c                ó€  € \         P                  ! V P                  V P                  3\        R 7      p\         P                  ! V P                  4      pR Fe  p\        V P                  V P                  VR7      p\        V P                  V P                  W3VR7      p\        WEP                  4       RRR7       Kg  	  R# )rA  rÑ   )r™  r9   gVçž¯Â<g¦ÖVs†ÿ<)rÔ   rE  Nr1   )
r   rT   r€  r–  r   r   r‰  rH   r   rœ  )rG   r    r%   r9   ÚJ_denseÚJ_sparses   &     r(   Útest_equivalenceÚ+TestApproxDerivativeSparse.test_equivalence¢  sˆ   € Ü—G’G˜TŸV™V T§V¡VÐ,´CÔ8ˆ	Ü—’˜4Ÿ6™6Ó"ˆÛ2ˆFÜ'¨¯©°$·'±'À&ÔIˆGÜ(Ø—‘˜$Ÿ'™'¨YÐ,?ÈôPˆHä˜G×%5Ñ%5Ó%7Ø!&¨U÷4ó	 3r*   c                ó0  a € V 3R  lp\        S P                  VS P                  S P                  S P                  3R7      p\        VR8  4       \        S P                  VS P                  S P                  S P                  3R7      p\        VR8  4       R# )c                 ó8   <€ \        SP                  V 4      4      # rk   )r
   r‚  )ro   rG   s   &€r(   r‚  Ú=TestApproxDerivativeSparse.test_check_derivative.<locals>.jac­  s   ø€ Ü˜TŸX™X a›[Ó)Ð)r*   r#  rÕ   N)r   r‰  rH   rV   rW   r   )rG   r‚  rr  s   f  r(   rs  Ú0TestApproxDerivativeSparse.test_check_derivative¬  sr   ø€ õ	*ô $ D§H¡H¨c°4·7±7Ø,0¯G©G°T·W±WÐ+=ô?ˆä�˜4‘Ô ä# D§H¡H¨c°4·7±7Ø,0¯G©G°T·W±WÐ+=ô?ˆä�˜4‘Ö r*   )rƒ  rV   r€  r`  rW   rH   N)r`   ra   rb   rc   r„  r‰  r‚  r    rx  ry  rz  r¡  r¤  r©  rs  rd   re   rf   s   @r(   r}  r}  Z  sR   ø‡ € ò	(ò=òò	ð ‡[�[×Ñ˜1ÓñEó ðEò0=ò
4÷
!ð 
!r*   r}  c                   ón   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )Ú"TestApproxDerivativeLinearOperatori¹  c                ó.   € \         P                  ! V4      # rk   rl   rn   s   &&r(   rp   Ú4TestApproxDerivativeLinearOperator.fun_scalar_scalar»  rr   r*   c                ó.   € \         P                  ! V4      # rk   rt   rn   s   &&r(   rv   Ú4TestApproxDerivativeLinearOperator.jac_scalar_scalar¾  rr   r*   c                ó¼   € \         P                  ! V^ ,          ^,          \         P                  ! V^ ,          4      \         P                  ! V^ ,          4      .4      # ry   rz   rn   s   &&r(   r}   Ú4TestApproxDerivativeLinearOperator.fun_scalar_vectorÁ  r   r*   c                óê   € \         P                  ! ^V^ ,          ,          \         P                  ! V^ ,          4      R,          \         P                  ! V^ ,          4      .4      P	                  R^4      # r�   rƒ   rn   s   &&r(   r†   Ú4TestApproxDerivativeLinearOperator.jac_scalar_vectorÄ  rˆ   r*   c                óœ   € \         P                  ! V^ ,          V^,          ,          4      \         P                  ! V^ ,          4      ,          # ry   rŠ   rn   s   &&r(   r�   Ú4TestApproxDerivativeLinearOperator.fun_vector_scalarÈ  r�   r*   c           	     ó  € \         P                  ! V^,          \         P                  ! V^ ,          V^,          ,          4      ,          \         P                  ! V^ ,          4      ,          \         P                  ! V^ ,          V^,          ,          4      V^ ,          ,          ,           V^ ,          \         P                  ! V^ ,          V^,          ,          4      ,          \         P                  ! V^ ,          4      ,          .4      # r•   r–   rn   s   &&r(   r—   Ú4TestApproxDerivativeLinearOperator.jac_vector_scalarË  r™   r*   c                ó  € \         P                  ! V^ ,          \         P                  ! V^,          4      ,          V^,          \         P                  ! V^ ,          4      ,          V^ ,          ^,          V^,          R,          ,          .4      # r›   r�   rn   s   &&r(   rž   Ú4TestApproxDerivativeLinearOperator.fun_vector_vectorÒ  r    r*   c                óú  € \         P                  ! \         P                  ! V^,          4      V^ ,          \         P                  ! V^,          4      ,          .V^,          ) \         P                  ! V^ ,          4      ,          \         P                  ! V^ ,          4      .^V^ ,          ^,          ,          V^,          R,          ,          RV^ ,          ^,          ,          V^,          R,          ,          ..4      # r¨   r�   rn   s   &&r(   rª   Ú4TestApproxDerivativeLinearOperator.jac_vector_vectorÙ  r¬   r*   c                ó  € R p\        V P                  VRRR7      p\        V P                  VRR7      p\        V P                  VRRR7      pV P                  V4      p\        P                  P                  R4      p\        ^
4       F€  pVP                  R^
RR7      p\        VP                  V4      WX,          RR	7       \        VP                  V4      WX,          R
R	7       \        VP                  V4      WX,          R
R	7       K‚  	  R# )rÁ   r,   T©r9   Úas_linear_operator©rÃ  r/   ì   nÊV)©rC  r  rÓ   çñhãˆµøÔ>Néöÿÿÿr•   )
r   rp   rv   r   r\  r]  r‘  Úuniformr   Údot©	rG   rH   rÙ   rÚ   rÛ   rÜ   r`  r“  r:  s	   &        r(   rÝ   Ú5TestApproxDerivativeLinearOperator.test_scalar_scalarà  sí   € ØˆÜ& t×'=Ñ'=¸rØ.7Ø:>ô@ˆ
ô ' t×'=Ñ'=¸rØ:>ô@ˆ
ä& t×'=Ñ'=¸rØ.2Ø:>ô@ˆ
ð ×)Ñ)¨"Ó-ˆÜ�i‰i×#Ñ# NÓ3ˆÜ�r–ˆAØ—‘˜C ¨$�Ó/ˆAÜ˜JŸN™N¨1Ó-¨x­zØ!%õ'ä˜JŸN™N¨1Ó-¨x­zØ!%õ'ä˜JŸN™N¨1Ó-¨x­zØ!%÷'ó r*   c                óz  € R p\        V P                  VRRR7      p\        V P                  VRR7      p\        V P                  VRRR7      pV P                  \        P                  ! V4      4      p\        P
                  P                  R4      p\        ^
4       F›  pVP                  R^
RR7      p\        VP                  V4      VP                  V4      RR	7       \        VP                  V4      VP                  V4      R
R	7       \        VP                  V4      VP                  V4      R
R	7       K�  	  R# )r-   r,   TrÂ  rÄ  r/   rÅ  rÆ  r  rÓ   rÇ  NrÈ  r•   )r   r}   r†   r   ré   r\  r]  r‘  rÉ  r   rÊ  rË  s	   &        r(   rë   Ú5TestApproxDerivativeLinearOperator.test_scalar_vectorõ  s  € ØˆÜ& t×'=Ñ'=¸rØ.7Ø:>ô@ˆ
ô ' t×'=Ñ'=¸rØ:>ô@ˆ
ä& t×'=Ñ'=¸rØ.2Ø:>ô@ˆ
ð ×)Ñ)¬"¯-ª-¸Ó*;Ó<ˆÜ�i‰i×#Ñ# NÓ3ˆÜ�r–ˆAØ—‘˜C ¨$�Ó/ˆAÜ˜JŸN™N¨1Ó-¨x¯|©|¸A«Ø!%õ'ä˜JŸN™N¨1Ó-¨x¯|©|¸A«Ø!%õ'ä˜JŸN™N¨1Ó-¨x¯|©|¸A«Ø!%÷'ó r*   c           	     ó
  € \         P                  ! R R.4      p\        V P                  VRRR7      p\        V P                  VRR7      p\        V P                  VRRR7      pV P	                  V4      p\         P
                  P                  R4      p\        ^
4       Fá  pVP                  R^
VP                  R7      p\        VP                  V4      \         P                  ! VP                  V4      4      RR	7       \        VP                  V4      \         P                  ! VP                  V4      4      R
R	7       \        VP                  V4      \         P                  ! VP                  V4      4      RR	7       Kã  	  R# )r  r,   TrÂ  rÄ  r/   rÅ  rÆ  r  rÓ   rÇ  r  Nrœ   rÈ  )r   r   r   r�   r—   r\  r]  r‘  rÉ  Úshaper   rÊ  ré   rË  s	   &        r(   r  Ú5TestApproxDerivativeLinearOperator.test_vector_scalar
  s+  € Ü�XŠX�u˜d�mÓ$ˆÜ& t×'=Ñ'=¸rØ.7Ø:>ô@ˆ
ô ' t×'=Ñ'=¸rØ:>ô@ˆ
ä& t×'=Ñ'=¸rØ.2Ø:>ô@ˆ
ð ×)Ñ)¨"Ó-ˆÜ�i‰i×#Ñ# NÓ3ˆÜ�r–ˆAØ—‘˜C ¨"¯(©(�Ó3ˆAÜ˜JŸN™N¨1Ó-¬r¯}ª}¸X¿\¹\È!»_Ó/MØ!%õ'ä˜JŸN™N¨1Ó-¬r¯}ª}¸X¿\¹\È!»_Ó/MØ!%õ'ä˜JŸN™N¨1Ó-¬r¯}ª}¸X¿\¹\È!»_Ó/MØ!%÷'ó r*   c                ó’  € \         P                  ! RR.4      p\        V P                  VRRR7      p\        V P                  VRR7      p\        V P                  VRRR7      pV P	                  V4      p\         P
                  P                  R4      p\        ^
4       F¥  pVP                  R^
VP                  R7      p\        VP                  V4      VP                  V4      R	R
7       \        VP                  V4      VP                  V4      RR
7       \        VP                  V4      VP                  V4      RR
7       K§  	  R# )r  r  r,   TrÂ  rÄ  r/   rÅ  rÆ  r  rÓ   rÒ   r  Nr  rÈ  )r   r   r   rž   rª   r\  r]  r‘  rÉ  rÐ  r   rÊ  rË  s	   &        r(   r  Ú5TestApproxDerivativeLinearOperator.test_vector_vector  s  € Ü�XŠX�v˜s�mÓ$ˆÜ& t×'=Ñ'=¸rØ.7Ø:>ô@ˆ
ô ' t×'=Ñ'=¸rØ:>ô@ˆ
ä& t×'=Ñ'=¸rØ.2Ø:>ô@ˆ
ð ×)Ñ)¨"Ó-ˆÜ�i‰i×#Ñ# NÓ3ˆÜ�r–ˆAØ—‘˜C ¨"¯(©(�Ó3ˆAÜ˜JŸN™N¨1Ó-¨x¯|©|¸A«ÀTÕJÜ˜JŸN™N¨1Ó-¨x¯|©|¸A«ÀTÕJÜ˜JŸN™N¨1Ó-¨x¯|©|¸A«ÀT×Jó	 r*   c           	     óœ   € \         P                  ! RR.4      p\        \        \        V P
                  VR^\         P                  3R7       R# )r  r  r,   r$  Nr  )r   r   r  r  r   rž   rE   )rG   rH   s   & r(   Útest_exceptionÚ1TestApproxDerivativeLinearOperator.test_exception1  s9   € Ü�XŠX�v˜s�mÓ$ˆÜ”jÔ"3Ø×,Ñ,¨bØ&°´2·6±6¨{÷	<r*   r_   N)r`   ra   rb   rc   rp   rv   r}   r†   r�   r—   rž   rª   rÝ   rë   r  r  rÕ  rd   re   rf   s   @r(   r°  r°  ¹  sM   ø‡ € òòò?òIò2òòòò'ò*'ò*'ò*K÷$<ð <r*   r°  c                  ó  € R  p \        V RR.RRR7      p\        VRR.4       \        V RR.RR	R7      p\        VRR.4       \        V RR.RRR.R7      p\        VRR.4       \        V RR.RRR	.R7      p\        VRR.4       \        V RR.RR	R.R7      p\        VRR.4       \        V RR.RR\        P                  ) R3R7      p\        VRR.4       \        V RR.RR	R\        P                  3R7      p\        VRR.4       R# )
c                 óž   € \         P                  ! V ^ ,          ^,           4      ) \         P                  ! V ^,          ^,           4      ,           # ry   )r   rU   rL  s   &r(   rM  Ú"test_absolute_step_sign.<locals>.fA  s2   € Ü—’�q˜•t˜a•xÓ Ð ¤2§6¢6¨!¨A­$°­(Ó#3Õ3Ð3r*   r,   r»   rá   rÁ   )r9   râ   r  NrS   r  r1  )r   r   r   rE   )rM  Úgrads     r(   Útest_absolute_step_signrÛ  8  s;  € ò4ô ˜Q  R °ÀTÔJ€DÜ�D˜4 ˜+Ô&ô ˜Q  R °ÀUÔK€DÜ�D˜3 ˜+Ô&ô Ø	ˆB�ˆ8˜I°°t°ô€Dô �D˜4 ˜+Ô&ô Ø	ˆB�ˆ8˜I°°u°ô€Dô �D˜4 ˜,Ô'ÜØ	ˆB�ˆ8˜I°¸°ô€Dô �D˜3 ˜*Ô%ô Ø	ˆB�ˆ8˜I°Ü—‘�˜ˆ}ô€Dô �D˜3 ˜+Ô&äØ	ˆB�ˆ8˜I°¸rÄ2Ç6Á6¸lô€Dô �D˜4 ˜+Ö&r*   c                  óœ  € . ROp \         P                  ! . RO4      p\         P                  ! \         P                  4      P                  pR VR,          RVR	,          RVR,          /p\         P                  ! R4      pV  F´  pW5,          p\         P                  ! VVR,          VR,          V\         P
                  ! V^,          4      ,          .4      p\        RWV4      p\        W‡4       V) ^ 8¬  P                  \        4      ^,          ^,
          p	\        RV) WE4      p\        W‰V,          4       K¶  	  \         P                  ! . R
O4      p\         P                  ! V^ ,          V^ ,          ,          VR ,          V^,          R,          V^,          \         P
                  ! V^,          4      ,          .4      p\        WaVR 4      p\        W‡4       V) ^ 8¬  P                  \        4      ^,          ^,
          p	\        Wa) VR 4      p\        W‰V,          4       \         P                  ! . RO\         P                  R7      p\        RWR4      pVP                  \         P                  8X  g   Q h\        RWR 4      pVP                  \         P                  8X  g   Q h\         P                  ! . RO\         P                  R7      p\        RWR4      pVP                  \         P                  8X  g   Q h\        RWR 4      pVP                  \         P                  8X  g   Q h\         P                  ! . RO\         P                  R7      p\         P                  ! R\         P                  R7      p\        WaVR 4      pVP                  \         P                  8X  g   Q h\         P                  ! . RO\         P                  R7      p\        WaVR 4      pVP                  \         P                  8X  g   Q h\         P                  ! . RO\         P                  R7      p\        WaVR 4      pVP                  \         P                  8X  g   Q hR# )r,   r.   r/   r-   rÁ   NrA  r1   )r  r   r   g     jø@r0   )rR   r   é
   éd   )rR   r   r   é2   )rD  r   r   rÝ  )r   r   r2   r3   r4   rU   r   r   rG  Úfloatr6   rB  r_  )
ÚmethodsrH   r7   r8   r  r9   r  Úcorrect_steprâ   Úsign_x0s
             r(   Útest__compute_absolute_steprä  m  s+  € â*€Gä	�ŠÒ#Ó	$€Bä
�(Š(”2—:‘:Ó
×
"Ñ
"€Cà�3˜•8Ø�3˜•:Øˆc�3�hð€Mô
 
�Š�#‹€BãˆØ Õ(ˆÜ—x’x Ø!)¨B¥Ø!)¨B¥Ø!)¬B¯FªF°2°aµ5«MÕ!9ð!;ó <ˆô
 *¨$°¸Ó?ˆÜ˜Ô/à�3˜!‘8×#Ñ#¤EÓ*¨QÕ.°Õ2ˆÜ)¨$°°°RÓ@ˆÜ˜¨LÕ"8Ö9ñ ô �xŠxÒ)Ó*€HÜ—8’8˜X a�[¨2¨a­5Õ0Ø*¨9Õ5Ø% a�[¨2Õ-Ø% a�[¬2¯6ª6°"°Qµ%«=Õ8ð:ó ;€Lô
 & h°B¸	ÓB€HÜ�HÔ+àˆs�a‰x×Ñ¤Ó&¨Õ*¨QÕ.€GÜ% h°°R¸ÓC€HÜ�H¨Õ4Ô5ô 
�ŠÒ#¬2¯:©:Ô	6€BÜ% d¨B°IÓ>€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'Ü% d¨B°IÓ>€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'ä	�Š’/¬¯©Ô	4€BÜ% d¨B°IÓ>€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'Ü% d¨B°IÓ>€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'ä	�ŠÒ"¬"¯*©*Ô	5€BÜ	�Š�#œRŸZ™ZÔ	(€BÜ% h°B¸	ÓB€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'ä	�ŠÒ#¬2¯:©:Ô	6€BÜ% h°B¸	ÓB€HØ�>‰>œRŸZ™ZÔ'Ð'Ð'ä	�ŠÒ"¬"¯*©*Ô	5€BÜ% h°B¸	ÓB€HØ�>‰>œRŸZ™ZÔ'Ð'Ò'r*   )&rÌ   Ú	itertoolsr   Únumpyr   Únumpy.testingr   r   r   rx  r   r  Úscipy._lib._utilr   r	   Úscipy.sparser
   r   r   Úscipy._lib._array_apir   Úscipy.optimize._numdiffr   r   r   r   r   r   Úscipy.optimizer   r)   r:   r<   ri   r}  r°  rÛ  rä  r_   r*   r(   Ú<module>rí     s€   ðÛ Ý ã ß @Ñ @Û Ý *ç ?ß 8Ñ 8Ý 0÷<÷ <õ !ò%ò8!
÷HG9ñ G9÷Tz!ñ z!÷z\!ñ \!÷~|<ñ |<ò~2'ôjC(r*   