
    g<                     z    d dl Z d dl d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZ d Zd Zd Zd Zd Zd	 Zd
 Zd Zy)    N)*)SecantMuller	BisectionIllinoisPegasusAndersonRidderANewtonNewtonMNewtonMDNewtonc            	         dt         _        t        d t        d            j	                  d      sJ t        t
        t        d            j	                  t              sJ t        t
        t        d      t        d      f      j	                  t              sJ t        d t        d            j	                  d	      sJ d
 } t        t        t        t        t        fD ]*  }t        | d|      }t         | |            t        k  r*J  t        t        t        t         t"        t$        t&        fD ]*  }t        | d|      }t         | |            t        k  r*J  d } t)        t        | dd      t              sJ t)        t*        j                  | dd      t*        j                        sJ t)        t,        j                  | dd      t.              sJ t)        t,        j                  | dd      t0              sJ t3        j4                  t6              5  t9        d      5  t        d t        dd             d d d        d d d        t3        j4                  t6              5  t        d d       d d d        t3        j4                  t6              5  t        d d       d d d        y # 1 sw Y   pxY w# 1 sw Y   txY w# 1 sw Y   QxY w# 1 sw Y   y xY w)N   c                     d| z  dz
  S )N       xs    R/var/www/openai/venv/lib/python3.12/site-packages/mpmath/tests/test_rootfinding.py<lambda>ztest_findroot.<locals>.<lambda>	       ac!e       g      ?r   gQ	@c                     | | z  dz   S N   r   r   s    r   r   ztest_findroot.<locals>.<lambda>   r   r   y       @       @y              ?c                     t        |       S N)cosr   s    r   r   ztest_findroot.<locals>.<lambda>   s    #a&r          @solver)      ?r"   c                     | dz
  dz  S N   r   r   s    r   r   ztest_findroot.<locals>.<lambda>   s    1q51*r   r   g|=)tolr%   y      ?        r(   c                     | dz  d| z  z
  dz   S )Nr(   iC l   F[ r   r   s    r   r   ztest_findroot.<locals>.<lambda>"   s    q!tgai/.@r   z	5.278e+13z
-5.278e+13)realimagc                      y)Nr   r   s    r   r   ztest_findroot.<locals>.<lambda>'   s    2r   r   c                     d| z
  dz  dz
  S )Nr      r   )ps    r   r   ztest_findroot.<locals>.<lambda>+   s    AEB;?r   g?)mpdpsfindrootmpfaesinpimpcr   r   r   r   r   absepsr   r   r   r	   r
   
isinstanceivfpfloatcomplexpytestraises
ValueErrorworkprec)fr$   r   s      r   test_findrootrF      s    BFOSV,//555CQ ##B'''C#a&#d),-00444OSY/222666A67FG<Q6*1Q4y3 = 69hQ01Q4y3
 	Ahq!/555bkk!RUk3RVV<<<bkk!QEk2E:::bkk!Tuk5w??? 
z	"a[@k=?  
# 
z	"q! 
# 
z	"*C0 
#	" [ 
#	" 
#	" 
#	"s<   J:&J.?J:(KK.J7	3J::KKKc                  ,    t        d dd      dk(  sJ y )Nc                     | dz  dz
  S )Nr(   r   r   r   s    r   r   z test_bisection.<locals>.<lambda>/   s    ad1fr   )r   r(   bisectr#   r   r4   r   r   r   test_bisectionrK   -   s    $U(;q@@@r   c                  Z    d } t        | dd      }t         | |            t        k  sJ y )Nc                     t        g d|       S )N)r   r   r   r   )polyvalr   s    r   r   ztest_mnewton.<locals>.<lambda>2   s    ')A&r   gmnewtonr#   )r4   r:   r;   rE   r   s     r   test_mnewtonrQ   1   s)    &AD+Aqt9s??r   c                  b    d } t        | dt              }t         | |            t        k  sJ y )Nc                     | dz
  dz  S )Nr(   d   r   r   s    r   r   ztest_anewton.<locals>.<lambda>7   s    1q53,r   r%   r#   )r4   r   r:   r;   rP   s     r   test_anewtonrU   6   s)    ABw'Aqt9s??r   c                  b    d } t        | dt              }t         | |            t        k  sJ y )Nc                     d| z   dz  dz   S )Nr(   r   r   r   s    r   r   ztest_muller.<locals>.<lambda><   s    1q51*q.r   r%   r#   )r4   r   r:   r;   rP   s     r   test_mullerrX   ;   s)     ABv&Aqt9s??r   c                  t     t        dd      D ]   t         fdd       k(  rJ  t        d d      dk(  sJ y )Nr   r   c                     | dz
  z  S r   r   )r   is    r   r   z#test_multiplicity.<locals>.<lambda>B   s    q1uqjr   c                     | dz  S r'   r   r   s    r   r   z#test_multiplicity.<locals>.<lambda>C   s    !Q$r   r   )rangemultiplicity)r[   s   @r   test_multiplicityr_   @   s>    1a[0!4999 *a///r   c                  `   d } t        t        | d      t        ddgddgg      z
  d      dk  sJ t        t        | ddd	 
      D ]  \  }} t         |  d      dk  sJ d d d fd} t        | d      }|D cg c]  }t        t        |             c}ddgk(  sJ y c c}w )Nc                      d| d   dz  z  d| d   dz  z  z
  dz
  | d   dz  d| d   z  z
  | d   dz  z   d| d   z  z   dz
  gS )Nr   r   r(   r      r   r   s    r   rE   z test_multidimensional.<locals>.fF   sb    !A$'	!AaD!G)#A%qtQwq1v~adAg'=a!f'DQ'FGGr   )r      rb   r   rc   r   gHz>c                 "    t        | t              S r    )norminfr   s    r   r   z'test_multidimensional.<locals>.<lambda>J   s
    DCLr   )verboserf   r(   g+=c                     |  d|z  z   S r'   r   r   ys     r   r   z'test_multidimensional.<locals>.<lambda>O   s    qb1Q3hr   c                 <    | dz  | |dz  dz
  z  z   d|z  z
  | dz   z  S )Nr(   r   r   rj   s     r   r   z'test_multidimensional.<locals>.<lambda>P   s+    q!taAl*QqS0q1u=r   c                 *    t        | dz  |dz  z         S r'   )sqrtrj   s     r   r   z'test_multidimensional.<locals>.<lambda>Q   s    d1a4!Q$;'r   c                 F     | |      } | |      |z
   | |      |z
  fS r    r   )r   rk   f1xf1f2f3s      r   rE   z test_multidimensional.<locals>.fR   s-    Ah1a31a3//r   )
   rt   r   r   )	mnormjacobianmatrixr   r2   rf   r4   intround)rE   r   errorr[   rq   rr   rs   s       @@@r   test_multidimensionalr{   E   s    H!V$v!uaVn'==a@5HHHRFA"8:5: 1q>E!!! 
B	=B	'B0 	HA#$%1aCaM1%!Q///%s   B+c                  L    t        d d      dk(  sJ t        d d      dk(  sJ y )Nc                      y)Nr   r   r   s    r   r   ztest_trivial.<locals>.<lambda>Y   s    ar   r   c                     | S r    r   r   s    r   r   ztest_trivial.<locals>.<lambda>Z   s    ar   r   rJ   r   r   r   test_trivialr   X   s,    K#q(((K#q(((r   )rA   mpmathmpmath.calculus.optimizationr   r   r   r   r   r	   r
   r   r   r   r   rF   rK   rQ   rU   rX   r_   r{   r   r   r   r   <module>r      sM     B B B B%1NA


0
0&)r   