
    g<                     z    d dl Z d dlT 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dS )    N)*)SecantMuller	BisectionIllinoisPegasusAndersonRidderANewtonNewtonMNewtonMDNewtonc            	         dt           _        t          d t          d                                        d          sJ t          t
          t          d                                        t                    sJ t          t
          t          d          t          d          f                              t                    sJ t          d t          d                                        d	          sJ d
 } t          t          t          t          t          fD ]7}t          | d|          }t           | |                    t          k     sJ 8t          t          t          t           t"          t$          t&          fD ]7}t          | d|          }t           | |                    t          k     sJ 8d } t)          t          | dd          t                    sJ t)          t*                              | dd          t*          j                  sJ t)          t,                              | dd          t.                    sJ t)          t,                              | dd          t0                    sJ t3          j        t6                    5  t9          d          5  t          d t          dd                     d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t3          j        t6                    5  t          d d           d d d            n# 1 swxY w Y   t3          j        t6                    5  t          d d           d d d            d S # 1 swxY w Y   d S )N   c                     d| z  dz
  S )N       xs    Y/var/www/html/ai-engine/env/lib/python3.11/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                     dS )Nr   r   s    r   r   ztest_findroot.<locals>.<lambda>'   s    2 r   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OOSVV,,//55555CQ  ##B'''''C#a&&#d)),--0044444OOSYY//22266666A67FG<  Q6***11Q44yy369h  Q00011Q44yy3Ahq!///55555bkk!RUk33RV<<<<<bkk!QEk22E:::::bkk!Tuk55w????? 
z	"	" ? ?a[[ 	? 	?@@k===? ? ?	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
z	"	" " "q!!!" " " " " " " " " " " " " " " 
z	"	" 1 1**C0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1sZ   K+'!KK+K	K+K	K++K/2K/L--L14L1M00M47M4c                  8    t          d dd          dk    sJ d S )Nc                     | dz  dz
  S )Nr(   r   r   r   s    r   r   z test_bisection.<locals>.<lambda>/   s    ad1f r   )r   r(   bisectr#   r   r4   r   r   r   test_bisectionrK   -   s,    $$U(;;;q@@@@@@r   c                  v    d } t          | dd          }t           | |                    t          k     sJ d S )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qqtt99s??????r   c                      d } t          | dt                    }t           | |                    t          k     sJ d S )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qqtt99s??????r   c                      d } t          | dt                    }t           | |                    t          k     sJ d S )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qqtt99s??????r   c                       t          dd          D ] t           fdd           k    sJ t          d d          dk    sJ d S )Nr   r   c                     | dz
  z  S r   r   )r   is    r   r   z#test_multiplicity.<locals>.<lambda>B   s    q1uqj r   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_   @   se    1a[[ : :0000!4499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 |D             ddgk    sJ d S )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CLL r   )verboserf   r(   g+=c                     |  d|z  z   S r'   r   r   ys     r   r   z'test_multidimensional.<locals>.<lambda>O   s    qb1Q3h r   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                 2    t          | dz  |dz  z             S r'   )sqrtrj   s     r   r   z'test_multidimensional.<locals>.<lambda>Q   s    d1a4!Q$;'' r   c                 X     | |          } | |          |z
   | |          |z
  fS r    r   )r   rk   f1xf1f2f3s      r   rE   z test_multidimensional.<locals>.fR   s9    bAhh1a31a3//r   )
   rt   c                 F    g | ]}t          t          |                    S r   )intround).0r[   s     r   
<listcomp>z)test_multidimensional.<locals>.<listcomp>V   s$    %%%aCaMM%%%r   r   r   )mnormjacobianmatrixr   r2   rf   r4   )rE   r   errorrq   rr   rs   s      @@@r   test_multidimensionalr~   E   s   H H H!V$$v!uaVn'='==a@@5HHHHRFA"8"8: : :  51q>>E!!!! 
	B	=	=B	'	'B0 0 0 0 0 0 0 	HA%%1%%%!Q//////r   c                  b    t          d d          dk    sJ t          d d          dk    sJ d S )Nc                     dS )Nr   r   r   s    r   r   ztest_trivial.<locals>.<lambda>Y       a r   r   c                     | S r    r   r   s    r   r   ztest_trivial.<locals>.<lambda>Z   r   r   r   rJ   r   r   r   test_trivialr   X   sB    KK##q((((KK##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      s<       B B B B B B B B B B B B B B B B B B B B B B B B B B%1 %1 %1NA A A  
  
  
0 0 0
0 0 0&) ) ) ) )r   