+
    /iO                        R t ^ RIHt ^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt ^ RIt^ RIt^ RIHt ^R	IHt R
]P.                  R]P0                  R]P2                  R]P4                  R]P6                  R]P8                  R]P:                  /tR
]P.                  R]P6                  R]P8                  R]P:                  /tR t . R%O] n!        / ] n"        / ] n#        / ] n$        R t%. R&O]%n!        R]P2                  R]P4                  /]%n"        / ]%n#        / ]%n$        R t&. R'O]&n!        / ]&n"        / ]&n#        / ]&n$        R t'. R(O]'n!        / ]'n"        / ]'n#        / ]'n$        R t(R)R*.](n!        R]P2                  R]P4                  R]P0                  /](n"        R0](n#        0 R+m](n$        R t). R,O])n!        R]P4                  R]P2                  R]P0                  /])n"        RR0])n#        R0])n$        R t*R-R.]*n!        R]P4                  R]P2                  R]P0                  /]*n"        / ]*n#        / ]*n$         ! R R4      t+ ! R R4      t, ! R R 4      t- ! R! R"4      t. ! R# R$4      t/R# ).z@Unit tests for nonlinear solvers
Author: Ondrej Certik
May 2007
)assert_N)partial)_nonlinroot)	csr_array)diagdot)invminres)pressure_networkandersondiagbroydenlinearmixingexcitingmixingbroyden1broyden2krylovc                     \         P                  ! V 4      P                  p \        . RO4      pRpV) V ,          V\	        V P                  V ,          4      ,          V ,          ,
          pV# )   {Gz?)r      g      ?         ?)npasarrayTr   float)xdcfs   &   ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/optimize/tests/test_nonlin.pyFr#   "   sN    


1A !AA	
QU1337^#a''AH    c                     V # N r   s   &r"   F2r)   0       Hr$   c                     V # r&   r'   r(   s   &r"   F2_luckyr,   ;   r*   r$   c                     \         P                  ! . RO. RO. RO.4      p\         P                  ! . RO4      pW,          V,
          # )r   )r           )r   r.   r   )    r   r.   )r   r         @)r   arrayr   Abs   &  r"   F3r6   E   s1    
+z:67A
A519r$   c                     R pW^ ,          ,          V ^,          ,          ^,
          \         P                  ! V ^ ,          ) 4      \         P                  ! V ^,          ) 4      ,           ^^V,          ,           ,
          .# )g     @)r   exp)r   r4   s   & r"   	F4_powellr9   Q   sR    AdF1Q4K!ORVVQqTE]RVVQqTE]:a!A#gFGGr$   r   cgsc                 H    \        V ^\        P                  ! . RO4      4      # )   )r   r   r   r   )r   r   r2   r(   s   &r"   F5r=   a   s    Aq"((+;"<==r$   c           	      d   V w  r\         P                  ! RR.RR..4      p\         P                  ! V^,           V^,          ^,
          ,          ^,           \         P                  ! V\         P                  ! V4      ,          ^,
          4      .4      p\         P                  P                  W44      ) # )g/$@gffffff-@g+,?grD0?g/$)r   r2   sinr8   linalgsolve)r   x1x2J0vs   &    r"   F6rF   p   s    FB	FD>z*, 
-B
26b!eai(3.&&bffRj1,-/ 	0AIIOOB"""r$   gffffff?c                     a  ] tR t^t o RtRR ltRR lt]P                  P                  R 4       t
]P                  P                  R4      R 4       t]P                  P                  R4      ]P                  P                  R. RO4      R 4       4       t]P                  P                  R4      R	 4       tR
 tR tR tRtV tR# )
TestNonlinz
Check the Broyden methods for a few test problems.

broyden1, broyden2, and newton_krylov must succeed for
all functions. Some of the others don't -- tests in KNOWN_BAD are skipped.

c                   V\         R ,          8X  dj   R Fc  pWAP                  9   d   K  V! WP                  VRV^^ R7      p\        \        P
                  ! V! V4      4      P                  4       V8  4       Ke  	  V! WP                  V^^ R7      p\        \        P
                  ! V! V4      4      P                  4       V8  4       R# )r   N)methodline_searchf_tolmaxiterverbose)rL   rM   rN   gmresbicgstabr:   r   tfqmr)SOLVERSJAC_KSP_BADxinr   r   absolutemax)selfr!   funcrL   rJ   r   s   &&&&  r"   _check_nonlin_funcTestNonlin._check_nonlin_func   s    78$$I]]*EE&d$c1>AaD)--/%78 J EEQ?AaD!%%'%/0r$   c                   VR 8X  dx   R Fq  pWAP                   9   d   K  \        WP                  VRVR^R^ RRV//R7      p\        \        P
                  ! VP                  4      P                  4       V8  4       Ks  	  \        WP                  VRVR^R^ /R7      p\        \        P
                  ! VP                  4      P                  4       V8  4       R# )	r   ftolrM   dispjac_optionsrJ   rJ   optionsNrO   )ROOT_JAC_KSP_BADr   rU   r   r   rV   funrW   )rX   r!   rJ   rL   
jac_methodress   &&&&  r"   _check_rootTestNonlin._check_root   s    XM
!3!331eeF$*E9c$*A$1Hj3I$KL CGG,002U:; N 1eeF"E9c61EGCGG$((*U23r$   c                    R # r&   r'   )rX   akws   &*,r"   _check_func_failTestNonlin._check_func_fail   s    r$   zignore::DeprecationWarningc                J   \         \        \        \        \        \
        \        3 Fy  p\        P                  4        F^  pW!P                  P                  4       9   d-   V\        P                  4       9   d   V P                  W4       KM  V P                  W4       K`  	  K{  	  R # r&   )r#   r)   r,   r6   r9   r=   rF   rS   values	KNOWN_BAD	MUST_WORKrk   rZ   )rX   r!   rY   s   &  r"   test_problem_nonlinTestNonlin.test_problem_nonlin   so    R2y"b9A(;;--//y//11--a6''0 ) :r$   rJ   c           
        a  R S n         V 3R lp\        P                  ! \        \        P                  VR^^ VR7       \        S P                   4       R# )Fc                 Z   < R Sn         \        P                  ! V 4      P                  4       # )T)_tol_norm_usedr   rV   rW   )r   rX   s   &r"   local_norm_func8TestNonlin.test_tol_norm_called.<locals>.local_norm_func   s"    "&D;;q>%%''r$   r   )rJ   rL   rM   rN   tol_normN)ru   nonlinnewton_krylovr#   rU   r   )rX   rJ   rv   s   f& r"   test_tol_norm_calledTestNonlin.test_tol_norm_called   sF    
 $	( 	QfD%(!&5	7 	##$r$   c                    \         \        \        \        \        \
        \        3 FO  p\         FB  pW!P                  9   d   V\        9   d   V P                  W4       K1  V P                  W4       KD  	  KQ  	  R # r&   )r#   r)   r,   r6   r9   r=   rF   rS   ro   rp   rk   rf   )rX   r!   meths   &  r"   test_problem_rootTestNonlin.test_problem_root   sV    R2y"b9A;;&y(--a6  )   :r$   c                    R  p\         P                  ! \        P                  P                  4      ;_uu_ 4        \
        P                  ! V^ .^R7       RRR4       R#   + '       g   i     R# ; i)c                     R V ,           # )g     @@r'   r(   s   &r"   wont_converge5TestNonlin.test_no_convergence.<locals>.wont_converge   s    7Nr$   )rU   rM   N)pytestraisesscipyoptimizeNoConvergencery   rz   )rX   r   s   & r"   test_no_convergenceTestNonlin.test_no_convergence   sE    	 ]]5>>7788  QCC 9888s   AA0	c           	        \         P                  ! \        RR7      ;_uu_ 4        \        P                  ! \
        \
        P                  RRR7       RRR4       \        P                  ! \
        \
        P                  R^dR R7       R	 p\        P                  ! \
        \
        P                  VR
7       R#   + '       g   i     Ln; i)z
Test for ENH #21986, for behavior of `nonlin.newton_krylov`
Test the following scenarios:
1. Raise warning for invalid inner param
2. No warning for valid inner param
3. No warning for user-provided callable method
z'Please check inner method documentationmatchr   h㈵>)rJ   
inner_atolNc                     R # ).r'   )_s   &r"   <lambda>>TestNonlin.test_warnings_invalid_inner_param.<locals>.<lambda>   s    r$   )rJ   inner_maxiterinner_callbackc                    \        W3/ VB # )z2A dummy user-provided callable method for testing.r
   )oprhskwargss   &&,r"   'user_provided_callable_method_enh_21986]TestNonlin.test_warnings_invalid_inner_param.<locals>.user_provided_callable_method_enh_21986   s     ",V,,r$   )rJ   )r   warnsUserWarningry   rz   r#   rU   )rX   r   s   & r"   !test_warnings_invalid_inner_param,TestNonlin.test_warnings_invalid_inner_param   s     \\+ IK K  AEE(tLK 	Qhc-;	=	-
 	Q$K	MK Ks   -B88C	c           	         \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! \
        \
        P                  RRR7       RRR4       R#   + '       g   i     R# ; i)zUnknown parameterr   r   r   )rJ   invalid_paramN)r   r   
ValueErrorry   rz   r#   rU   rX   s   &r"   test_non_inner_prefix TestNonlin.test_non_inner_prefix   sG    ]]:!4    AEE($O	   s   -AA-	)ru   N)r   )lgmresrP   rQ   r:   r   rR   )__name__
__module____qualname____firstlineno____doc__rZ   rf   r   markxfailrk   filterwarningsrq   parametrizer{   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r"   rH   rH      s     14" [[  [[ <=1 >1 [[ <=[[X (; <%< >% [[ <=* >*DM8P Pr$   rH   c                     a ] tR tRt oRt]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      ]P                  ! . RO4      .t] U u. uF  q ^,          ^,
          NK  	  up tRR lt	R t
R tR tR tR tR	tVtR
# u up i )
TestSecanti  zDCheck that some Jacobian approximations satisfy the secant conditionc           
     2   V! R/ VB pVP                  V P                  ^ ,          V P                  ^ ,          R4       \        \	        V P                  R,          V P                  R,          4      4       EF  w  pw  rgVP                  Wg4       \        \        W%^,           4      4       F  pV P                  WX,
          ^,           ,          V P                  WX,
          ,          ,
          p	V P                  WX,
          ^,           ,          V P                  WX,
          ,          ,
          p
\        \        P                  ! WP                  V
4      4      4       K  	  WR8  g   K  V P                  WR,
          ^,           ,          V P                  WR,
          ,          ,
          p	V P                  WR,
          ^,           ,          V P                  WR,
          ,          ,
          p
\        \        P                  ! WP                  V
4      4      '       * 4       EK  	  R# )zd
Check that the given Jacobian approximation satisfies secant
conditions for last `npoints` points.
Nr   NNr'   )setupxsfs	enumeratezipupdaterangeminr   r   allcloserA   )rX   jac_clsnpointsrj   jacjr   r!   kdxdfs   &&&,       r"   _check_secantTestSecant._check_secant  sH   
 mm		$''!*dggaj$/"3twwr{DGGBK#@AIAvJJq3w!,-WWQSU^dggacl2WWQSU^dggacl2B		"67 . |WWQYq[)DGGAI,>>WWQYq[)DGGAI,>>BKKIIbM::; Br$   c                D    V P                  \        P                  4       R # r&   )r   ry   BroydenFirstr   s   &r"   test_broyden1TestSecant.test_broyden1#  s    6../r$   c                D    V P                  \        P                  4       R # r&   )r   ry   BroydenSecondr   s   &r"   test_broyden2TestSecant.test_broyden2&  s    6//0r$   c           
        \         P                  ! R R7      pVP                  V P                  ^ ,          V P                  ^ ,          R4       \
        P                  ! ^4      R,          p\        \        V P                  R,          V P                  R,          4      4       F  w  pw  rEWPP                  V,          ,
          pW@P                  V,          ,
          pW&\        W'4      ,
          R,          VR	,          ,          \        Ww4      ,          ,          pVP                  WE4       \        \
        P                  ! VP                  4       VRRR7      4       K  	  R# )
皙?alphaNr   绽|=vIh%<=rtolatolg      $NNNNNr   )ry   r   r   r   r   r   identityr   r   r   r   r   r   todense)rX   r   Blast_jr   r!   r   r   s   &       r"   test_broyden1_updateTestSecant.test_broyden1_update)  s    !!,		$''!*dggaj$/KKNf%'DGGBK(EFNFFQWWV_$BWWV_$Bs1z/7+bk9CKGGAJJqBKKqu5IJ Gr$   c           
        \         P                  ! R R7      pVP                  V P                  ^ ,          V P                  ^ ,          R4       \
        P                  ! ^4      R,          p\        \        V P                  R,          V P                  R,          4      4       F  w  pw  rEWPP                  V,          ,
          pW@P                  V,          ,
          pW'\        W&4      ,
          R,          VR	,          ,          \        Wf4      ,          ,          pVP                  WE4       \        \
        P                  ! VP                  4       \        V4      RRR7      4       K  	  R# )
r   r   Nr   r   r   r   gr   r   )ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   )rX   r   Hr   r   r!   r   r   s   &       r"   test_broyden2_updateTestSecant.test_broyden2_update7  s    ""-		$''!*dggaj$/KKNd#'DGGBK(EFNFFQWWV_$BWWV_$Bs1z/7+bk9CKGGAJJqBKKs1vENO Gr$   c                L    V P                  \        P                  ^^ ^R7       R# )r   )Mw0r   N)r   ry   Andersonr   s   &r"   test_andersonTestSecant.test_andersonE  s    
 	6??aAqAr$   r'   N)      ?       @r1         @      @)r   r1   r   r   r   )r1   r   r   r   r   )r   r   r   r   r1   )      "@r   r   r   r1   )r/   r   r   r   r1   )r   r         @r   r   )r   r   r   r   r   )r   )r   r   r   r   r   r   r2   r   r   r   r   r   r   r   r   r   r   )r   r   s   0@r"   r   r     s     N
(('
(
(('
(
(('
(
(('
(
(('
(
(('
(
(('
(
(('
(
+B 	BqQ$((B	B<*01KPB Bs 
 s   *Cr   c                   X   a  ] tR tRt o RtRR ltR tR tR tR t	R t
R	 tR
 tRtV tR# )
TestLineariM  zYSolve a linear equation;
some methods find the exact solution in a finite number of stepsc           
       a	a
 \         P                  P                  ^{4      pVP                  W"34      o	V'       d!   S	RVP                  W"34      ,          ,           o	VP                  V4      o
V'       d    S
RVP                  V4      ,          ,           o
V	V
3R lp\        P
                  ! V\         P                  ! V4      WRR^ R7      p\        \         P                  ! \        S	V4      S
RR7      4       R# ){                 ?c                 *   < \        SV 4      S,
          # r&   r   r3   s   &r"   rY   TestLinear._check.<locals>.func[  s    q!9q= r$   ư>NrM   rL   rK   rN   r   )
r   randomdefault_rngstandard_normalry   nonlin_solvezerosr   r   r   )rX   r   NrM   complexrj   rngrY   solr4   r5   s   &&&&&,   @@r"   _checkTestLinear._checkQ  s    ii##C('Bs**A6222A"Bs**1---A	! !!$S(,$KC3K67r$   c                    V P                  \        P                  ! R R7      ^^)R4       V P                  \        P                  ! R R7      ^^)R4       R# r   r   FTN)r	  ry   r   r   s   &r"   r   TestLinear.test_broyden1b  s<    F''c2BEBF''c2BDAr$   c                    V P                  \        P                  ! R R7      ^^)R4       V P                  \        P                  ! R R7      ^^)R4       R# r  )r	  ry   r   r   s   &r"   r   TestLinear.test_broyden2g  s<    F((s3RUCF((s3RTBr$   c                    V P                  \        P                  ! ^2RR7      ^^R4       V P                  \        P                  ! ^2RR7      ^^R4       R# )2   r   )r   r   FTN)r	  ry   r   r   s   &r"   r   TestLinear.test_andersonl  s<    FOOb4b"eDFOOb4b"dCr$   c                    V P                  \        P                  ^^R^
R7       V P                  \        P                  ^^R^
R7       R# )   F)inner_mTN)r	  ry   KrylovJacobianr   s   &r"   test_krylovTestLinear.test_krylovq  s:    F))2q%DF))2q$Cr$   c           
       aa VV3R  lpV3R lp\         P                  ! V\        P                  ! SP                  ^ ,          4      V^RR^ R7      p\        P
                  P                  SV,          SRR7       \         P                  ! V\        P                  ! SP                  ^ ,          4      S^RR^ R7      p\        P
                  P                  SV,          SRR7       R# )c                 4   < SP                  V 4      S,
          # r&   r   r3   s   &r"   rY   'TestLinear._check_autojac.<locals>.funcw  s    558a<r$   c                    < S# r&   r'   )rE   r4   s   &r"   r   &TestLinear._check_autojac.<locals>.jacz  s    Hr$   r   Nr   r   )ry   r  r   r  shapetestingassert_allclose)rX   r4   r5   rY   r   r  s   &ff   r"   _check_autojacTestLinear._check_autojacv  s    	 	 !!$(<c1(,$K


""1s7AD"9!!$(<a(,$K


""1s7AD"9r$   c                    \        ^^.^^..4      p\        P                  ! ^R.4      pV P                  W4       V P                  RV,          RV,          4       R# r   Ny      ?       @y       @       @)r   r   r2   r!  rX   r4   r5   s   &  r"   test_jac_sparseTestLinear.test_jac_sparse  sQ    1v1v&'HHaWA!VqL6Q,7r$   c                    \         P                  ! ^^.^^..4      p\         P                  ! ^R.4      pV P                  W4       V P                  RV,          RV,          4       R# r$  )r   r2   r!  r&  s   &  r"   test_jac_ndarrayTestLinear.test_jac_ndarray  sU    HHq!fq!f%&HHaWA!VqL6Q,7r$   r'   N)F)r   r   r   r   r   r	  r   r   r   r  r!  r'  r*  r   r   r   s   @r"   r   r   M  s<     H8"B
C
D
D
:88 8r$   r   c                   b   a  ] tR tRt o 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V tR# )TestJacobianDotSolvei  zH
Check that solve/dot methods in Jacobian approximations are consistent
Nc                X    V^,          ^,
          \         P                  ! W!4      ,           # )r   )r   r   )rX   r   r4   s   &&&r"   _funcTestJacobianDotSolve._func  s    !tax"&&,&&r$   c           	       aaa \         P                  P                  ^{4      o^pVV3R lpV3R lpV! WU4      pSP                  V4      p	V! R/ VB p
V
P                  WP	                  W4      \        V P                  VR7      4       \        ^V,          4       EFk  pV! V4      p\        V
R4      '       Ede   \         P                  ! V
4      p\        V
R4      '       d:   V
P                  V4      p\         P                  P                  W4      pV! WR4       \        V
R4      '       dS   V
P                  V4      p\         P                  P                  VP                  P                  4       V4      pV! WR4       \        V
R	4      '       d2   V
P                  V4      p\         P                  ! W4      pV! VVR
4       \        V
R4      '       dK   V
P!                  V4      p\         P                  ! VP                  P                  4       V4      pV! VVR4       \        V
R	4      '       dN   \        V
R4      '       d<   V
P                  V4      pV
P                  V
P                  V4      4      pV! VVR4       \        V
R4      '       dN   \        V
R4      '       d<   V
P!                  V4      pV
P!                  V
P                  V4      4      pV! VVR4       V! V4      pV
P#                  VV P	                  VV4      4       EKn  	  R# )r   c                  x   < SP                  V 4      pS'       d    VR SP                  V 4      ,          ,           pV# )r   )r   )ri   qr  r  s   * r"   rand-TestJacobianDotSolve._check_dot.<locals>.rand  s/    

1A3::a=((Hr$   c                    < \        W,
          4      P                  4       pS\        V4      P                  4       S,          ,           pW48  d   \        V R VR 24      hR# )z: err gN)absrW   AssertionError)ri   r5   msgr   r!   tols   &&&  r"   assert_close5TestJacobianDotSolve._check_dot.<locals>.assert_close  sP    AE
 Ac!fjjl3&&Au$uF1Q%%899 r$   )r4   	__array__rA   zsolve vs arrayrsolvezrsolve vs arraymatveczdot vs arrayrmatveczrmatvec vs arrayzdot vs solvezrmatvec vs rsolveNr'   )r   r   r  r   r/  r   r   hasattrr2   rA   r@   r?  r   conjr@  r   rA  r   )rX   r   r  r;  rj   r  r4  r<  r4   x0r   r   rE   JdGvGv2JvJv2r   r  s   &&ff,              @r"   
_check_dotTestJacobianDotSolve._check_dot  sF   ii##C(		: J ZZ]mm		"jj'q)AB qsAQAsK((XXc]3((1B))//"0C *:;3))AB))//"$$))+q9C *;<3))AB&&-C S.93	**QB&&a0C S*<=sH%%'#w*?*?ZZ]ii

2/Rn5sI&&73+A+A[[^kk#**R.1R&9:QAJJq$**Q*+C r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# F)r  TN)rJ  ry   r   r   s   &r"   r   "TestJacobianDotSolve.test_broyden1  .    ++U;++T:r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# rM  )rJ  ry   r   r   s   &r"   r   "TestJacobianDotSolve.test_broyden2  s.    ,,e<,,d;r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# rM  )rJ  ry   r   r   s   &r"   r   "TestJacobianDotSolve.test_anderson  s*    76r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# rM  )rJ  ry   DiagBroydenr   s   &r"   test_diagbroyden%TestJacobianDotSolve.test_diagbroyden  s.    **E:**D9r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# rM  )rJ  ry   LinearMixingr   s   &r"   test_linearmixing&TestJacobianDotSolve.test_linearmixing  rO  r$   c                    V P                  \        P                  R R7       V P                  \        P                  RR7       R# rM  )rJ  ry   ExcitingMixingr   s   &r"   test_excitingmixing(TestJacobianDotSolve.test_excitingmixing  s.    --u=--t<r$   c                    V P                  \        P                  R RR7       V P                  \        P                  RRR7       R# )FgMbP?)r  r;  TN)rJ  ry   r  r   s   &r"   r   TestJacobianDotSolve.test_krylov  s2    --u$G--tFr$   r'   r&   )Fr   )r   r   r   r   r   r/  rJ  r   r   r   rV  rZ  r^  r  r   r   r   s   @r"   r-  r-    s?     ':,x;<7:;=G Gr$   r-  c                   l   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# )TestNonlinOldTestsi  zTest case for a simple constrained entropy maximization problem
(the machine translation example of Berger et al in
Computational Linguistics, vol 22, num 1, pp 39--72, 1996.)
c                    \         P                  ! \        \        P                  ^^R7      p\	        \         P
                  ! V4      R8  4       \	        \         P
                  ! \        V4      4      R8  4       R#    iterr   &.>N)ry   r   r#   rU   r   normrX   r   s   & r"   r    TestNonlinOldTests.test_broyden1  I    OOAquu2Q7A%&AaD!D()r$   c                    \         P                  ! \        \        P                  ^^R7      p\	        \         P
                  ! V4      R8  4       \	        \         P
                  ! \        V4      4      R8  4       R# re  )ry   r   r#   rU   r   rj  rk  s   & r"   r    TestNonlinOldTests.test_broyden2  rm  r$   c                    \         P                  ! \        \        P                  ^R^R7      p\	        \         P
                  ! V4      R8  4       R# )rf  Q?)rh  r   r   Q?N)ry   r   r#   rU   r   rj  rk  s   & r"   r    TestNonlinOldTests.test_anderson  s1    OOAquu2TQ?A%&r$   c                    \         P                  ! \        \        P                  ^<RR7      p\	        \         P
                  ! V4      R8  4       \	        \         P
                  ! \        V4      4      R8  4       R# )<   r   rg  Hz>N)ry   r   r#   rU   r   rj  rk  s   & r"   rZ  $TestNonlinOldTests.test_linearmixing  sK    155r=A%&AaD!D()r$   c                    \         P                  ! \        \        P                  ^RR7      p\	        \         P
                  ! V4      R8  4       \	        \         P
                  ! \        V4      4      R8  4       R# )r  r   rg  r   N)ry   r   r#   rU   r   rj  rk  s   & r"   test_exciting TestNonlinOldTests.test_exciting  sK    !!!QUU3?A%&AaD!D()r$   c                    \         P                  ! \        \        P                  ^^R7      p\	        \         P
                  ! V4      R8  4       \	        \         P
                  ! \        V4      4      R8  4       R# )   rg  :0yE>N)ry   r   r#   rU   r   rj  rk  s   & r"   rV  #TestNonlinOldTests.test_diagbroyden  sK    q!%%b:A%&AaD!D()r$   c           
        \        \        \        P                  R R^RR^//R7      p\        \        P
                  ! VP                  4      R8  4       \        \        P
                  ! VP                  4      R8  4       R# )r   nitr_   r   r`   ri  Nr   r#   rU   r   ry   rj  r   rc   rX   re   s   & r"   test_root_broyden1%TestNonlinOldTests.test_root_broyden1  [    1aeeJ!2}wlCECEE"T)*CGG$t+,r$   c           
        \        \        \        P                  R R^RR^//R7      p\        \        P
                  ! VP                  4      R8  4       \        \        P
                  ! VP                  4      R8  4       R# )r   r  r_   r   r`   ri  Nr  r  s   & r"   test_root_broyden2%TestNonlinOldTests.test_root_broyden2  r  r$   c                    \        \        \        P                  R R^RRRR^//R7      p\        \        P
                  ! VP                  4      R8  4       R# )	r   r  r_   r   rq  r   r`   rr  N)r   r#   rU   r   ry   rj  r   r  s   & r"   test_root_anderson%TestNonlinOldTests.test_root_anderson"  sL    1aeeJ!2)GT3+BDE 	CEE"T)*r$   c           
        \        \        \        P                  R R^<RRR//R7      p\        \        P
                  ! VP                  4      R8  4       \        \        P
                  ! VP                  4      R8  4       R# )r   r  r_   r   r   r`   rv  Nr  r  s   & r"   test_root_linearmixing)TestNonlinOldTests.test_root_linearmixing(  s_    1aeeN!2)GS>;< 	CEE"T)*CGG$t+,r$   c           
        \        \        \        P                  R R^RRR//R7      p\        \        P
                  ! VP                  4      R8  4       \        \        P
                  ! VP                  4      R8  4       R# )r   r  r_   r   r   r`   r   Nr  r  s   & r"   test_root_excitingmixing+TestNonlinOldTests.test_root_excitingmixing/  s`    1aee$4!2)GS>;< 	CEE"T)*CGG$t+,r$   c           
        \        \        \        P                  R R^RR^//R7      p\        \        P
                  ! VP                  4      R8  4       \        \        P
                  ! VP                  4      R8  4       R# )r   r  r_   r   r`   r}  Nr  r  s   & r"   test_root_diagbroyden(TestNonlinOldTests.test_root_diagbroyden6  s_    1aeeM!2)GQ<9: 	CEE"T)*CGG$t+,r$   r'   N)r   r   r   r   r   r   r   r   rZ  ry  rV  r  r  r  r  r  r  r   r   r   s   @r"   rc  rc    sK     
*
*
'*
*
*
--+--- -r$   rc  )r   r   r   r   r   )r   r   r   r<         )r0   r0   r0   r0   r0   r0   )r   r   r   r%  r.   >   r:   rP   rR   r   rQ   )r   r0   r   r0   g      )0r   numpy.testingr   r   	functoolsr   scipy.optimizer   ry   r   scipy.sparser   numpyr   r   numpy.linalgr	   r   r   scipy.sparse.linalgr   test_minpackr   r   r   r   r   r   r   rz   rS   rp   r#   rU   ro   rT   rb   r)   r,   r6   r9   r=   rF   rH   r   r   r-  rc  r'   r$   r"   <module>r     s   "   2 "     & *v&,,6..V22vvV))+ *foo(F4H4HJ	 	  
 3 3 &"7"79  "    
 H
 R	%v':':')>)>$f&8&8:	  "
	 L	 > 
 &"7"7 3 3v113 "j #  &"7"7 3 3v113  xP xPvIB IBXB8 B8J^G ^GBH- H-r$   