+
    /iLl                     4   ^ RI t ^ RIt^ RIt^ RIHu Ht ^ RIHu H	t
 ^ RIHtHtHt ^ RIHtHtHt ^ RIHtHtHt ^ RIHtHtHt ^ RIHt ]! ]4       ! R R4      4       t ! R	 R
4      t]! ]4       ! R R]4      4       t]! ]4       ! R R]4      4       t R# )    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            	       d  a  ] tR t^t o R t]P                  P                  RR]P                  ! R"R^
4      .4      R 4       t
]P                  P                  R]P                  P                  4      R 4       t]P                  P                  R^^.4      ]P                  P                  R	]! 4       R#R$R%.4      R
 4       4       tR tR tR tR tR tR tR tR tR t]P                  P                  RR&4      ]P                  P                  RRRR.34      ]P                  P                  RR'4      R 4       4       4       tR tR t]P                  P;                  RR7      ]P                  P<                  ]P                  P                  RR ^3R ^334      R 4       4       4       tR t V t!R!# )(TestDerivativec                .    \         P                  ! V4      # Nr   ndtr)selfxs   &&j/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/differentiate/tests/test_differentiate.pyfTestDerivative.f   s    ||A    r   333333??c                   VP                  R 4      P                  p\        V P                  VP                  WR7      4      pVP                  \        P
                  ! 4       P                  V4      VR7      p\        VP                  V4       \        V4      '       g9   \        VP                  VP                  V,
          4      VP                  4       R# R# )      ?dtypeN)asarrayr!   r   r   r	   normpdfr   dfr   r   abserror)r   r   xpdefault_dtyperesrefs   &&&   r   
test_basicTestDerivative.test_basic   s     

2,,A!CDjj))!,MjB$ ||266#&&3,/; r   casec                    Vw  r#\        \        V4      ! V!  pVP                  4       R ,           p\        VP                  V4      pVP                  V4      p\        VP                  VRR7       R# )皙?绽|=atolN)getattrr	   medianr   cdfr$   r   r%   )r   r.   distnameparamsdistr   r*   r+   s   &&      r   test_accuracyTestDerivative.test_accuracy#   sX    uh'0KKMC1%hhqk%0r   ordershapec                  a aaa V'       d(   \         P                  ! RR^4      P                  V4      MRp\         P                  ! V4      o/ o\         P                  VV 3R l4       pVV V3R lpRSR&   ^ SR&   \        WcP                  WCP                  R7      SR7      pV! V4      P                  4       pV U	u. uF  qP                  NK  	  p
p	\        VP                  VP                  R4      VP                  V
4      4       V U	u. uF  qP                  NK  	  pp	\        VP                  VP                  R4      VP                  V4      4       V U	u. uF  qP                  NK  	  pp	\        VP                  VP                  R4      VP                  V4      R	R
7       V U	u. uF  p	\        V	P                  4      NK  	  pp	\        VP                  VP                  R4      VP                  V4      4       V U	u. uF#  p	\         P                   ! V	P"                  4      NK%  	  pp	\        VP                  VP"                  R4      VP                  V4      4       V U	u. uF#  p	\         P                   ! V	P$                  4      NK%  	  pp	\        VP                  VP$                  R4      VP                  V4      4       \'        V4      '       d*   VP)                  VP$                  4      SR,          8X  g   Q hV U	u. uF#  p	\         P                   ! V	P*                  4      NK%  	  pp	\        VP                  VP*                  R4      VP                  V4      4       \'        V4      '       d,   VP)                  VP*                  4      SR,          8X  g   Q hR# R# u up	i u up	i u up	i u up	i u up	i u up	i u up	i )皙?r   r   c                 4   < \        SP                  V SR 7      # )r<   )r   r   )r   r<   r   s   &r   _derivative_single=TestDerivative.test_vectorization.<locals>._derivative_single5   s    dffau55r   c                    < SR ;;,          ^,          uu&   SR;;,          V P                   S8X  g   V P                  ^8:  d   ^MV P                  R,          ,          uu&   SP                  ! V .VO5/ VB # )nitfeval)sizendimr=   r   )r   argskwargsnr   states   &*,r   r   ,TestDerivative.test_vectorization.<locals>.f9   sV    %LAL'NAFFaK166A:aAGGBKON66!-d-f--r   rE   rF   r    rA   g-q=r2   N皙rG   rG   )nplinspacereshaperH   	vectorizer   r"   float64ravelr   r   r%   r'   boolsuccessr   int32statusnfevr   maxrE   )r   r<   r=   r(   r   rB   r   r*   refsr+   ref_xref_df	ref_errorref_successref_flagref_nfevref_nitrL   rM   s   ff&&             @@r   test_vectorization!TestDerivative.test_vectorization,   s   
 <ABKKtR(007cGGAJ		6 
	6	.
 egJJq

J;5I!!$**,"&'$3$'

355%0"**U2CD$()DS&&D)

366512::f3EF*./$3YY$	/

399e4bjj6K"	$ 599DStCKK(D9

3;;6

;8OP489DSBHHSZZ(D9

3::u5rzz(7KL267$3BHHSXX&$7

388U3RZZ5IJB<<66#((#uW~555045288CGG$5

377E2BJJw4GHB<<66#''?eEl222 / ( * 0 : : 8
 6s*   ;N#
N(N-*N2)N7')N<)Oc                  aaa \         P                  P                  R 4      oVVV3R lo^ Sn        SP	                  ^SP
                  R7      3p\        SSP                  ^SP                  R7      \        RR7      ^VR7      pSP                  \        P                  \        \        P                  \        P                  .SP                   R7      p\#        VP$                  V4       R# )   ;O c                   < S;P                   ^,          un         R VV3R lV3R lV3R l.p\        V SP                  VR4      4       UUu. uF  w  r4V\        V4      ,          ! V4      NK  	  pppSP	                  V4      # u uppi )   c                     V R ,
          # g      @ r   s   &r   <lambda>6TestDerivative.test_flags.<locals>.f.<locals>.<lambda>d   s    q3wr   c                 P   < SP                  V 4      SP                  4       ,          # r   )exprandom)r   rngr(   s   &r   ro   rp   e   s    rvvay5r   c                 &   < SP                  V 4      # r   rr   r   r(   s   &r   ro   rp   f   s    rvvayr   c                 <   < SP                  V SP                  4      # r   )	full_likenanrw   s   &r   ro   rp   g   s    r||Arvv6r   rP   )rE   ziprS   intstack)	xsjsfuncsr   jr*   r   rt   r(   s	   &&    r   r   $TestDerivative.test_flags.<locals>.fb   sp    EEQJE&5(68E 14B

2u8M0NO0N5Q=#0NCO88C=  Ps   #Br    +=rtol)
tolerancesr<   rJ   N)rQ   rs   default_rngrE   arangeint64r   onesrU   dictr"   eim_ECONVERGEDr   	_ECONVERR
_EVALUEERRrY   r   rZ   )r   r(   rJ   r*   	ref_flagsr   rt   s   &f   @@r   
test_flagsTestDerivative.test_flags^   s     ii##$45	! 		!288	,.BGGARZZG8$(e$4 t- JJ / # # 0 8:xx  A	 	

I.r   c                  aa \         P                  P                  R 4      oVV3R lp\        VSP	                  ^SP
                  R7      \        RR7      ^RR7      pSP	                  \        P                  \        \        P                  \        P                  .SP                  R7      p\        VP                  V4       R# )rh   c                    < V R ,
          SP                  V 4      SP                  4       ,          SP                  V 4      SP                  V SP                  4      .pSP	                  V4      # rl   )rr   rs   ry   rz   r}   )r   outrt   r(   s   & r   r   3TestDerivative.test_flags_preserve_shape.<locals>.fz   sT    s766!9SZZ\)66!9<<266*,C 88C= r   r    r   r   T)r   r<   preserve_shapeN)rQ   rs   r   r   r"   rU   r   r   r   r   r   r   rY   r   rZ   )r   r(   r   r*   r   rt   s   &f   @r   test_flags_preserve_shape(TestDerivative.test_flags_preserve_shapew   s    ii##$45	! BJJq

J;$(e$4 7 JJ / # # 0 8:xx  A	 	

I.r   c                  a V3R  lpSP                  R4      pSP                  SP                  ^4      ^SP                  ^V,          4      ,          ^^
SP                  ^
V,          4      ,          ,           ^SP                  ^V,          4      ,          V^,
          ^,          ,          ^SP                  ^V,          4      ,          V^,
          ,          ,           .4      p\        W#RR7      p\	        VP
                  V4       R# )c                    < V SP                  ^V ,          4      V SP                  ^
V ,          4      ,           SP                  ^V ,          4      V ^,
          ^,          ,          .pSP                  V4      # )   )sinr}   )r   r   r(   s   & r   r   -TestDerivative.test_preserve_shape.<locals>.f   sT    bffQqSk1RVVBqD\>266"Q$<1q3HIC88C= r           Tr   N)r"   cosr   r   r   r%   )r   r(   r   r   r+   r*   s   &f    r   test_preserve_shape"TestDerivative.test_preserve_shape   s    	! JJrNjj"**Q-266!A#;"RVVBqD\/8IRVVBqD\/1Q3(2Qrvvbd|^QqS5IIK Ld3$r   c                   VP                  R VP                  R7      p\        P                  p\	        \
        P                  P                  R 4      4      p\        ^ ^ R7      pVP                  4       pRVR&   \        W2V^R7      p\        VP                  V,
          4      R8  g   Q hRVR&   \        W2V^R7      p\        VP                  V,
          4      R8  g   Q h\        VP                  V,
          4      \        VP                  V,
          4      8  g   Q hVP                  4       pRVR&   \        W2V^R7      p\        VP                  V,
          4      RV,          8  g   Q hRVR&   \        W2V^R7      p\        VP                  V,
          4      RV,          8  g   Q h\        VP                  V,
          4      \        VP                  V,
          4      8  g   Q hR# )	r   r    )r3   r   gMbP?r3   )r   r<   gư>r   N)r"   rU   r   r   floatr	   r#   r$   r   copyr   r&   r%   )	r   r(   r   r   r+   tolerances0r   res1res2s	   &&       r   test_convergenceTestDerivative.test_convergence   s   JJrJ,LLEJJNN2&'* %%'
!
6!:Q?477S=!D(((!
6!:Q?477S=!D(((477S=!C#$6666 %%'
!
6!:Q?477S=!D3J...!
6!:Q?477S=!D3J...477S=!C#$6666r   c                N   VP                  R VP                  R7      p\        P                  p\	        \
        P                  P                  R 4      4      p\        W2R^R7      p\        W2R^R7      p\        VP                  V,
          4      \        VP                  V,
          4      8  g   Q h\        W2^^R7      p\        W2^^R7      p\        VP                  V,
          4      \        VP                  V,
          4      8  g   Q h\        ^^^ R7      p\        W23RRRR/VB p\        W23R^R^/VB p\        VP                  VP                  R	R
7       \        ^^^R7      p\        W23R^R^/VB p\        W23R^\        P                  ! ^4      ,          RR/VB p\        VP                  VP                  R	R
7       RVR&   \        W23R^R^/VB p\        W23R^\        P                  ! ^4      ,          RR/VB p\        VP                  VP                  R	R
7       R# )r   r          ?)initial_stepmaxiterr?   )step_factorr   )r<   r   step_directionr   r   g+<r   r   NrG   )r"   rU   r   r   r   r	   r#   r$   r   r&   r%   r   r   rQ   sqrt)	r   r(   r   r   r+   r   r   rK   r*   s	   &&       r   test_step_parameters#TestDerivative.test_step_parameters   s   JJrJ,LLEJJNN2&'!S!<!T1=477S=!C#$6666!Aq9!B:477S=!C#$6666 Aq;KCKSKFKGAG1GGU3 Aq;GAG1GGTAbggajLTcTVTU3#% GAG1GGTAbggajLTcTVTU3r   c                  a V3R  lpSP                  ^ ^^
4      pSP                  V4      p\        P                  ! V4      VR8  ,          P	                  ^4      p\        P                  ! V4      VR8  ,          P	                  R4      p\        W#VR7      p\        VP                  SP                  V4      4       SP                  VP                  4      '       g   Q hR# )c                    < SP                  V 4      p\        P                  ! V4      V ^ 8  V ^8  ,           ,          P                  SP                  4      pV# r   )rr   xpxatsetrz   r   yr(   s   & r   r   -TestDerivative.test_step_direction.<locals>.f   sC    q	Aq	1q5QU+,008AHr   r   gffffff?r   NrG   )rR   
zeros_liker   r   r   r   r   r%   rr   allrX   )r   r(   r   r   r   r*   s   &f    r   test_step_direction"TestDerivative.test_step_direction   s    	
 KK1b!q)/C8<<Q?/C8<<R@n=q	*vvckk""""r   c                   R  pR pVP                  VP                  . RO4      R4      pVP                  VP                  . RO4      R	4      pVP                  VP                  ^^.4      R
4      p\        W$WV3R7      pVP                  V! WF4      VP                  P
                  4      pVP                  WP                  R4      P                  R7      p\        VP                  V4       R# )c                     W,          # r   rm   r   ps   &&r   r   =TestDerivative.test_vectorized_step_direction_args.<locals>.f   s	    6Mr   c                 .    WV^,
          ,          ,          # rj   rm   r   s   &&r   r%   >TestDerivative.test_vectorized_step_direction_args.<locals>.df   s    QU|##r   )r   rJ   r   r    N)rj      r      )rG   rj   rj   rG   r   rj   )rj   rG   rj   )rj   rj   rG   )rS   r"   r   broadcast_tor%   r=   r!   r   )	r   r(   r   r%   r   hdirr   r*   r+   s	   &&       r   #test_vectorized_step_direction_args2TestDerivative.test_vectorized_step_direction_args   s    		$ JJrzz,/<zz"**Z0*=JJrzz1a&):6d>oobh5jjJJrN$8$8j9$r   c           
     R  a V3R  lpSP                  RSP                  R7      pSP                  . R
O4      pSP                  SP                  R^ ^
4      R4      p\	        W#V^^VR7      pSP                  VP                  V! V4      ,
          4      pSP                  VRR	1R3,          VR,          8  4      '       g   Q h\        VP                  ^ ,          4       FF  p\	        W#WX^ 3,          ^^VR7      p	\        VP                  VR3,          V	P                  RR7       KH  	  R# )c                 &   < SP                  V 4      # r   rv   rw   s   &r   r   +TestDerivative.test_initial_step.<locals>.f   s    66!9r   r   r    )r   r<   r   r   N.:NNNr   r   rG   r   )rG   rj   ):rj   NN.)r"   rU   rS   logspacer   r&   r%   r   ranger=   r   )
r   r(   r   r   r   h0r*   errir+   s
   &f        r   test_initial_step TestDerivative.test_initial_step   s    	 JJrJ,J/ZZB2.8Ba(68ffSVVad]# vvc#2#s(mc'l23333 rxx{#AQa41,:<CCFF1a4L#&&u= $r   c           	       aa	 VP                  R VP                  R7      p^o	R p^p\        W2S	\        RR7      R7      pVP	                  VP
                  4      '       d   Q hVP                  VP                  V^,           S	^,
          ^,          ,           8H  4      '       g   Q hVP                  VP                  S	8H  4      '       g   Q hVV	3R loRSn	        RSn
        \        4       Sn        \        W2S\        RR7      R7      pVP                  4        F  pVR	8X  d=   WW,          \        P                  8X  g   Q hWg,          \        P                   8X  g   Q hKF  VR
8X  dB   \#        Wg,          WW,          RR7       \#        SP                  V,          WW,          RR7       K  Wg,          SP                  V,          u;8X  d   WW,          8X  d   K  Q h Q h	  R# )g~,?r    c                 2    \         P                  ! V 4      pV# r   r   )r   r*   s   & r   r   /TestDerivative.test_maxiter_callback.<locals>.f	  s    ,,q/CJr   V瞯<r   )r   r   c                   < S;P                   ^,          un         V Sn        \        V R4      '       g   Q h\        V P                  4      SP
                  9  g   Q hSP
                  P                  \        V P                  4      4       V P                  \        P                  8X  g   Q hSP                   S8X  d   \        hR# )rj   r   N)iterr*   hasattrr   r%   dfsaddrZ   r   _EINPROGRESSStopIteration)r*   callbackr   s   &r   r   6TestDerivative.test_maxiter_callback.<locals>.callback  s    MMQMHL3$$$$=444LLU366]+::!1!1111}}'## (r   N)r   r   rZ   r'   r   r2   rG   )r"   rU   r   r   anyrX   r   r[   rE   r   r*   r   r   keysr   r   
_ECALLBACKr   )
r   r(   r   r   default_orderr*   r   keyr   r   s
   &&      @@r   test_maxiter_callback$TestDerivative.test_maxiter_callback  sl   JJxrzzJ2	 w4U;KL66#++&&&&vvchh-!"3w{Ao"EEFFFFvvcgg())))	$ u!d>NO 88:Chx3==000yCNN222  	38%@S 138%HyHLL$5AAAAAA r   r   g?gffffff?r!   c                  aa \        SS4      oSP                  VSR 7      pVV3R lpV3R lp\        WR^WR7      pVP                  P                  S8X  g   Q hVP
                  P                  S8X  g   Q hVP                  P                  S8X  g   Q hSP                  S4      P                  p\        S4      '       d   VR,          ^2,          MVR,          p	\        VP
                  SP                  VP                  4      V	R7       R# )r    c                 L   < V P                   S8X  g   Q hSP                  V 4      # r   )r!   rr   )r   r!   r(   s   &r   r   $TestDerivative.test_dtype.<locals>.f7  s#    77e###66!9r   c                    < V P                   P                  S8X  g   Q hV P                  P                  S8X  g   Q hV P                  P                  S8X  g   Q hR # r   )r   r!   r%   r'   )r*   r!   s   &r   r   +TestDerivative.test_dtype.<locals>.callback;  sE    55;;%'''66<<5(((99??e+++r   )r<   r   r   r   r   N)r4   r"   r   r   r!   r%   r'   finfoepsr   r   rr   )
r   r   r   r!   r(   r   r   r*   r   r   s
   &&&ff     r   
test_dtypeTestDerivative.test_dtype/  s    
 E"JJqJ&		,
 QtOuu{{e###vv||u$$$yy%'''hhuo!! (sCx"}#s(suuD9r   c           
     2   VP                  ^4      pRp\        P                  ! \        VR7      ;_uu_ 4        \	        RV4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VP                  R"4      4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VP                  R#R$.4      4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R	 V\        R%R
7      R7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \	        R V\        RR7      R7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \	        R V\        4       R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VRR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \	        R V^ R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VRR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \	        R V^ R7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VRR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \	        R VR R!7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL}; i  + '       g   i     ELI; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELk; i  + '       g   i     ELC; i  + '       g   i     EL; i  + '       g   i     R# ; i)&rj   z`f` must be callable.matchNz3Abscissae and function output must be real numbers.c                     V # r   rm   rn   s   &r   ro   6TestDerivative.test_input_validation.<locals>.<lambda>S      r   z6When `preserve_shape=False`, the shape of the array...c                 
    . RO# )rj   )rj   r   r   rm   rn   s   &r   ro   r   W  s    r   z6Tolerances and step parameters must be non-negative...c                     V # r   rm   rn   s   &r   ro   r   [  r   r   r2   r   c                     V # r   rm   rn   s   &r   ro   r   ]  r   r   ekkir   c                     V # r   rm   rn   s   &r   ro   r   _  r   r   r   %`maxiter` must be a positive integer.c                     V # r   rm   rn   s   &r   ro   r   c  r   r         ?r   c                     V # r   rm   rn   s   &r   ro   r   e  r   r   z"`order` must be a positive integerc                     V # r   rm   rn   s   &r   ro   r   i  r   r   rA   c                     V # r   rm   rn   s   &r   ro   r   k  r   r   z'`preserve_shape` must be True or False.c                     V # r   rm   rn   s   &r   ro   r   o  r   r   herringr   z`callback` must be callable.c                     V # r   rm   rn   s   &r   ro   r   s  r   r   	shrubbery)r   y            ?r   rG   )r"   pytestraises
ValueErrorr   r   object)r   r(   onemessages   &&  r   test_input_validation$TestDerivative.test_input_validationI  s   jjm)]]:W55tS! 6 H]]:W55{BJJu$56 6 K]]:W55*BJJBx,@A 6 K]]:W55{CDbMB 6]]:W55{CDf4EF 6]]:W55{CVX> 6 :]]:W55{C5 6]]:W55{C3 6 7]]:W55{Cs3 6]]:W55{Cq1 6 <]]:W55{C	B 6 1]]:W55{C+> 65I 655 655 655 655555555 655555 655555 655 655s   L)3L=>MM%M9NN!N5O	OO1P)L:	=M	M"	%M6	9N
	N	!N2	5O		O	O.	1P	P	c           
       aa V3R  lp\        S4      '       ga   \        VSP                  ^4      \        RR7      R7      pVP                  '       g   Q h\        VP                  SP                  R4      4       \        SP                  SP                  ^4      SP                  R7      p\        VP                  SP                  SP                  4      4       \        VP                  SP                  RSP                  R7      4       \        SP                  SP                  ^4      ^ R7      p\        VP                  SP                  SP                  4      4       \        VP                  SP                  RSP                  R7      4       \        ^4       EF  oSP                  RSP                  R7      pV3R lp^S,          VS^,
          ,          ,          p\        W$^\        ^S4      R	7      p\        VP                  VR
R7       \        VP                  SP                  SP                  SP                  R7      4       \        W$\        ^S4      R7      pVP                  '       g   Q hVP                   ^8X  g   Q h\        VP                  VR
R7       EK	  	  R p\        VSP                  ^4      SP                  ^4      R7      p\        VP                  SP                  R4      4       R# )c                 l   < SP                  V P                  R 4      '       g   Q hV ^c,          ^,
          # )zreal floating)isdtyper!   rw   s   &r   r   ,TestDerivative.test_special_cases.<locals>.fz  s,    ::agg77777Q;r   r1   r   r  r   r    r   r	  c                 $   < ^V S,          ,          # r   rm   )r   rL   s   &r   r   r    s    Avr   )r   r<   r   rA   c                      W,          ^,
          # r   rm   )r   cs   &&r   r   r    s    37Nr   )rJ   g      @Ngl)~IQr   )r   r   r"   r   rX   r   r%   rr   rz   r   rZ   rY   r   rU   r\   r'   rE   )r   r(   r   r*   r   r+   rL   s   &f    @r   test_special_cases!TestDerivative.test_special_casesu  s   
	 ||Q

1$E:JKC;;;;CFFBJJy$9: ArvvF

266 23

BJJrJ$BCAQ?

266 23

BJJrJ$BC qA

3bjj
1A A#a!A#h,CQ1C1I>CCFFCe4CIIrzz"&&

z'KLQQ3C;;;;77a<<CFFCe44 "	 BJJqM

1>

2/r   T)np_onlyc                "    V ^,
          ^,          # r   rm   rn   s   &r   ro   TestDerivative.<lambda>  s    AEa<r   c                p    \         P                  ! V ^8  V ^,
          ^,          V ^,
          ^,          4      # r   )rQ   wherern   s   &r   ro   r(    s%    288AEAEa<!a%A>r   c                    R p\        VR. RORV/ p\        P                  ! VP                  4      '       g   Q h\	        VP
                  ^ VR7       R# )gؗҜ<r   r3   r2   Nr   )r   rQ   r   rX   r   r%   )r   r.   r(   r3   r*   s   &&&  r   test_saddle_gh18811"TestDerivative.test_saddle_gh18811  sF     $EzEEvvckk""""-r   rm   NrO   )   r   r   )r   r   r   r   float32rU   )"__name__
__module____qualname____firstlineno__r   r  markparametrizerQ   rR   r,   r	   _distr_paramsdistcontr:   tuplere   r   r   r   r   r   r   r   r   r   r   r  r$  skip_xp_backendsxfailr,  __static_attributes____classdictcell____classdict__s   @r   r   r      s     [[S3E4(D"EF	< G	< [[VU%8%8%A%AB1 C1 [[Wq!f-[[Wuwvy&IJ.3 K ..3`/2/(
%724>#% >,)BV [[VZ0[[S4$"56[[W&<=: > 7 1:.*?X30l [[!!$!/[[[[V	#	>B& .	  0.r   r   c                   &   a  ] tR tRt o R tRtV tR# )JacobianHessianTesti  c           
     T   V P                   P                  pR p\        P                  ! \        VR7      ;_uu_ 4        V! VP
                  ^\        RR7      R7       RRR4       VP                  ^4      p\        P                  pRp\        P                  ! \        VR7      ;_uu_ 4        V! WT\        RR7      R7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        V! WT\        RR7      R7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        V! WTRR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        V! WTRR	7       RRR4       R
p\        P                  ! \        VR7      ;_uu_ 4        V! WTRR7       RRR4       R#   + '       g   i     ELa; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)z"Argument `x` must be at least 1-D.r   r2   r  Nz<Tolerances and step parameters must be non-negative scalars.r   r  z#`order` must be a positive integer.rA   r  r
  rG   )
jh_func__func__r  r  r  r   r   r   r
   rosen)r   r(   rD  r  r   funcs   &&    r   test_ivJacobianHessianTest.test_iv  sS   ,,'' 7]]:W55BFFA$B-8 6
 GGAJ~~P]]:W55D"6 6]]:W55D"6 6]]:W55D, 6 8]]:W55D2& 6 :]]:W55DR( 65) 655 6555555 65 655sG    F5,G	-G.G0'H H5G		G	G-	0H 	H	H'	rm   N)r2  r3  r4  r5  rH  r=  r>  r?  s   @r   rB  rB    s     ) )r   rB  c                     a  ] tR tRt o ]tR tR tR]n        ]]n	        R t
R tR]
n        ]]
n	        R tR tR]n        ]]n	        R tR	 tR]n        ]]n	        R
 tR tR]n        ]]n	        R tR]n        ]P(                  ]n	        ]P,                  P/                  RR4      ]P,                  P/                  R. RO4      ]P,                  P/                  R]]
]]]].4      R 4       4       4       tR tR tRtV tR# )TestJacobiani  c                    V w  r#VP                  V^,          V,          ^V,          VP                  V4      ,           .4      # r!  r}   r   )zr(   r   r   s   &&  r   f1TestJacobian.f1  s6    xxa!QURVVAY%6788r   c                    V w  r^V,          V,          V^,          .\         P                  ! V^4      \         P                  ! V4      ..# r!  )rQ   ry   r   )rN  r   r   s   &  r   df1TestJacobian.df1  s=    QAF#bll1a&8"&&)%DEEr   c                    V w  r#VP                  W!P                  V4      ,          W!P                  V4      ,          .4      # r   r}   r   r   )rN  r(   rphis   &&  r   f2TestJacobian.f2  s1    xxVVC[!ffSk/:;;r   c                    V w  r\         P                  ! V4      V) \         P                  ! V4      ,          .\         P                  ! V4      V\         P                  ! V4      ,          ..# r   )rQ   r   r   )rN  rV  rW  s   &  r   df2TestJacobian.df2  sN    qb266#;./a"&&+o.0 	0r   c                
   V w  r#pVP                  W!P                  V4      ,          VP                  V4      ,          W!P                  V4      ,          VP                  V4      ,          W!P                  V4      ,          .4      # r   )r}   r   r   )rN  r(   rV  rW  ths   &&   r   f3TestJacobian.f3  sa    
xxVVC[266":5q66#;PR7SVVC[* + 	+r   c                   V w  rp\         P                  ! V4      \         P                  ! V4      ,          V\         P                  ! V4      ,          \         P                  ! V4      ,          V) \         P                  ! V4      ,          \         P                  ! V4      ,          .\         P                  ! V4      \         P                  ! V4      ,          V\         P                  ! V4      ,          \         P                  ! V4      ,          V\         P                  ! V4      ,          \         P                  ! V4      ,          .\         P                  ! V4      V) \         P                  ! V4      ,          \         P                  ! V4      ..# r   )rQ   r   r   r   )rN  rV  rW  r^  s   &   r   df3TestJacobian.df3  s    
rvvbz)1rvvc{?RVVBZ+GbffSk!BFF2J.0rvvbz)1rvvc{?RVVBZ+GRVVC[266":-/qb266#;.a0@A	C 	Cr   c           	         V w  r#pVP                  V^V,          ^V^,          ,          ^V,          ,
          WAP                  V4      ,          .4      #    rM  r   r(   x1x2x3s   &&   r   f4TestJacobian.f4  sB    
xxQVQq[1r6%92r
?KLLr   c                8   V w  rp\         P                  ! V4      pV^ V,          ^ V,          .^ V,          ^ V,          ^V,          .^ V,          ^V,          RV,          .V\         P                  ! V4      ,          ^ V,          \         P                  ! V4      ..# r   r  )rQ   	ones_liker   r   r   rh  ri  rj  r  s   &    r   df4TestJacobian.df4  s    
ll2a#gq3w'S!c'1s7+S!b&"s(+bffRj!c'266":68 	8r   c           	         V w  r#pVP                  ^V,          ^V^,          ,          ^VP                  W4,          4      ,          ,
          W4,          .4      # re  rM  rg  s   &&   r   f5TestJacobian.f5  sC    
xxRR1Wq266"'?/B!BBGLMMr   c                8   V w  rp\         P                  ! V4      p^ V,          ^V,          ^ V,          .^V,          RV,          \         P                  ! W#,          4      ,          RV,          \         P                  ! W#,          4      ,          .^ V,          W2..# rn  )rQ   ro  r   rp  s   &    r   df5TestJacobian.df5  sy    
ll2S!c'1s7+Rb266"'?2BGbffRWo4MNS"!# 	#r   c                .    \         P                  ! V 4      # r   )r
   rF  )r   _s   &&r   rF  TestJacobian.rosen$  s    HNN1--r   r!   rH   rG  c                  aa VR 8X  d   RMRp\        SV4      p\        P                  P                  R4      pSP                  w  rxVP                  V3V,           R7      p	\        VV3R lSP                  WR7      4      p
SP                  \        P                  ! SP                  V	4      4      VR7      p\        V
P                  WR7       R# )	rU   r1   ghUM`?   6H2)rH   c                    < S! V S4      # r   rm   )r   rG  r(   s   &r   ro   ,TestJacobian.test_examples.<locals>.<lambda>1  s    a"r   r    r2   N)
r4   rQ   rs   r   mnr   r"   r+   r   r%   )r   r!   rH   rG  r(   r3   rt   mrL   r   r*   r+   s   &&&ff       r   test_examplesTestJacobian.test_examples(  s     *uE"ii##L1wwJJQD4KJ(-rzz!z/IJjjDHHQK0j>/r   c           
       aaaa SP                  R R.4      oV3R lpV3R loV3R lo\        VS^
R7      p\        S4      '       gO   \        P                  ! VP
                  4      ^8X  g   Q h\        P                  ! VP                  4      ^8X  g   Q h\        VV3R lSR,          ^
R7      p\        VV3R lSR	,          ^
R7      p\        VV3R
 lSR,          ^
R7      p\        VV3R lSR	,          ^
R7      p\        P                  ! 4       pR F  p	SP                  \        WI4      \        WY4      .\        Wi4      \        Wy4      ..4      p
SP                  T
\        ;QJ d'    . R \        V
P                  4       4       F  NK  	  5M ! R \        V
P                  4       4       4      R7      W&   W9,          P                  SP                  8X  d   RMRp\!        W9,          W,          VR7       K  	  R# )r         ?c                    < V w  rSP                  SP                  R V,          4      SP                  V4      ,          SP                  ^V,          4      V^,          ,          .4      # r   rU  )rN  r   r   r(   s   &  r   rR  $TestJacobian.test_attrs.<locals>.df1<  sL    DA88RVVCE]RVVAY6qsad8JKLLr   c                 `   < SP                  R V ,          4      SP                  V4      ,          # r  )r   r   s   &&r   df1_0xy(TestJacobian.test_attrs.<locals>.df1_0xy@  s"    66#a%=266!9,,r   c                 P   < SP                  ^V ,          4      V^,          ,          # r!  )r   r   s   &&r   df1_1xy(TestJacobian.test_attrs.<locals>.df1_1xyC  s    66!A#;A%%r   r  c                 $   < S! V S^,          4      # r   rm   )r   r  rN  s   &r   ro   )TestJacobian.test_attrs.<locals>.<lambda>L      71ad#3r   r   rj   Nc                 $   < S! S^ ,          V 4      # r   rm   )r   r  rN  s   &r   ro   r  M      71Q4#3r   rj   r   Nc                 $   < S! V S^,          4      # r   rm   )r   r  rN  s   &r   ro   r  N  r  r   c                 $   < S! S^ ,          V 4      # r   rm   )r   r  rN  s   &r   ro   r  O  r  r   c              3   <   "   T F  w  rV^8X  g   K  Vx  K  	  R# 5i)rj   Nrm   ).0axrH   s   &  r   	<genexpr>*TestJacobian.test_attrs.<locals>.<genexpr>V  s     U.G("4ST922.Gs   
)axisgiUMu>gt=r   N)rX   rZ   r%   rE   r[   )r"   r   r   r   nuniquerE   r[   r
   OptimizeResultr4   squeezer:  	enumerater=   r!   r1  r   )r   r(   rR  r*   res00res01res10res11r+   attrref_attrr   r  r  rN  s   &f          @@@r   
test_attrsTestJacobian.test_attrs6  s   JJT{#	M	-	& sAB/||;;sww'1,,,;;sxx(A---3QsV"M3QsV"M3QsV"M3QsV"M%%'>DzzGE$8'%:N#O$+E$8'%:N#O#Q RH

UUi.GUUUUi.GUU # CI !Y__

:6DCIsyt< ?r   c                  aa	a
 \         P                  P                  R 4      pVP                  ^4      o	Ro
V	V
V3R lp. R	Op. R
OpRR/p\        VSP	                  S	SP
                  R7      VWFR7      pSP	                  \        P                  S	4      SP
                  R7      p\        VP                  VRR7       SP                  SP                  V4      4      '       g   Q hR# )l   ]2ZVgHz>c                   < \         P                  ! V 4      ^ V ^ ,          S^ ,          8  3,          P                  SP                  4      p \         P                  ! V 4      ^ V ^ ,          S^ ,          R,           8  3,          P                  SP                  4      p \         P                  ! V 4      ^V ^,          S^,          8  3,          P                  SP                  4      p \         P                  ! V 4      ^V ^,          S^,          R,
          S,
          8  3,          P                  SP                  4      p \        P                  V S4      # )r   r  r0   )r   r   r   rz   rK  rt  )r   br   r(   s   &r   r   0TestJacobian.test_step_direction_size.<locals>.fb  s    q	!QqTAaD[.)--bff5Aq	!QqTAaD4K//044RVV<Aq	!QqTAaD[.)--bff5Aq	!QqTAaD3JsN22377?A??1b))r   r3   :0yE>r    )r   r   r   r2   N)rj   rG   r   )r  r0   r   )rQ   rs   r   r   r"   rU   rK  rw  r   r%   r   isfinite)r   r(   rt   r   dirr   r3   r*   r+   r  r   s   &f       @@r   test_step_direction_size%TestJacobian.test_step_direction_size[  s     ii##N3JJqM	* ~q"**Qbjj*9&)<jj))!,BJJj?$/vvbkk#&''''r   rm   N)r   r   )r   r   r/  )rf  rj   r0  )rm   )   )r   r   )r2  r3  r4  r5  r   rD  rO  rR  r  r+   rX  r[  r_  rb  rk  rq  rt  rw  rF  r
   	rosen_derr  r6  r7  r  r  r  r=  r>  r?  s   @r   rK  rK    s    G
9F BEBF<0
 BEBF+
C BEBFM8 BEBFN# BEBF-EH""EI[[W&<=[[V%78[[Vb"b"b%%@A	0 B 9 >	0#=J( (r   rK  c                      a  ] tR tRt o ]t]P                  P                  R. RO4      R 4       t	R t
R t]P                  P                  RRR7      R	 4       tR
tV tR# )TestHessianis  r=   c                Z   \         P                  P                  R 4      p^pVP                  VP                  V3V,           4      VP                  R7      p\        \        P                  V4      pV'       d   VP                  WTR34      pTP                  VP                   Uu. uF  p\        P                  ! V4      NK  	  up4      pVP                  V^ R4      pVP                  WV3V,           4      pM\        P                  ! V4      p\        VP                  VRR7       R# u upi )r}  r    r  r2   NrG   )rQ   rs   r   r"   rU   r   r
   rF  rS   r}   T
rosen_hessmoveaxisr   ddf)	r   r=   r(   rt   r  r   r*   xir+   s	   &&&      r   test_exampleTestHessian.test_examplew  s    ii##L1JJszz1$,/rzzJBhnna(

1"g&A((accBcH//3cBCC++c1b)C**Sa'E/2C%%a(C40 Cs   $D(c                   \         P                  P                  R 4      pVP                  VP                  ^4      VP                  R7      p\        \        P                  V4      p\        P                  ! V4      pV^ 8g  p\        VP                  V,          WV,          4       RVP                  VP                  WV,          4      4      ,          p\        VP                  V( ,          WV( ,          VR7       R# )r}  r    g{Gz?r2   N)rQ   rs   r   r"   r1  r   r
   rF  r  r   r  r&   min)r   r(   rt   r   r*   r+   maskr3   s   &&      r   test_float32TestHessian.test_float32  s    ii##L1JJszz!}BJJJ7hnna(!!!$qsy1bffRVVCI.//E
>r   c                  aaa SP                  R R.4      oVV3R lo^ Sn        \        SS^
R7      p^ Sn        \        VV3R lSR,          ^
R7      pVP                  R	,          SP                  u;8X  d   VP                  R	,          8X  g   Q h Q h^ Sn        \        VV3R lSR,          ^
R7      pVP                  R
,          SP                  u;8X  d   VP                  R	,          8X  g   Q h Q hR# )r   r  c                   < SP                   ! V !  w  rSP                  VP                  ^8  d(   \        P                  ! VP
                  R,          4      M^,           Sn        SP                  V4      V^,          ,          # )r   :r   NN)broadcast_arraysr[   rI   mathprodr=   r   )rN  r   r   rO  r(   s   &  r   rO  !TestHessian.test_nfev.<locals>.f1  sY    &&*DAgg166A:1772;!71MBG66!9qAv%%r   r  c                 4   < S! V ^ ,          S^,          .4      # r   rm   )r   rO  rN  s   &r   ro   'TestHessian.test_nfev.<locals>.<lambda>      "adAaD\"2r   r  c                 4   < S! S^ ,          V ^ ,          .4      # r   rm   )r   rO  rN  s   &r   ro   r    r  r   r  N)r   r   )rj   rj   )r"   r[   r   )r   r(   r*   r  r  rO  rN  s   &f   @@r   	test_nfevTestHessian.test_nfev  s    JJT{#	&  b!"-2AcFLxx~<EJJt,<<<<<<2AcFLxx~<EJJt,<<<<<<r   Tz$Python list input uses NumPy backend)r&  reasonc           
         R p\         P                  ! \        VR7      ;_uu_ 4        \        VP                  R.\        RR7      R7       RRR4       R#   + '       g   i     R# ; i)z"The specified `rtol=1e-15`, but...r   r   r   r   r  N)r  warnsRuntimeWarningr   r   r   )r   r(   r  s   && r   test_small_rtol_warning#TestHessian.test_small_rtol_warning  s@     7\\.88BFFRDTu-=> 9888s   $AA&	rm   N)rm   )r   )r   r   )r2  r3  r4  r5  r   rD  r  r6  r7  r  r  r  r;  r  r=  r>  r?  s   @r   r  r  s  sg     G[[W&891 :1&?=0 [[!!$)O " Q?Q?r   r  )!r  r  numpyrQ   (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   rB  rK  r  rm   r   r   <module>r     s       6 6 ( ( X X G G * * = = > :f. f. f.R) )< 8V(& V( V(r 7>?% >? >?r   