Ë
    éì�i5S  ã                   ó    — d Z ddlZddlZddlmZmZmZ ddlm	Z	m
Z
mZmZmZ ddlmZmZmZ dd„Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Zy)z4
Unit tests for trust-region iterative subproblem.

é    N)Ú estimate_smallest_singular_valueÚsingular_leading_submatrixÚIterativeSubproblem)ÚsvdÚget_lapack_funcsÚdetÚqrÚnorm)Úassert_array_equalÚassert_equalÚassert_array_almost_equalc                 ó`  — t         j                  j                  |«      }|j                  dd| | f¬«      }t	        |d¬«      \  }}}|j                  ||| ¬«      }t        j
                  |«      d d d…   }t        j                  ||«      }	t        j                  |	|j                  «      }
|dk(  rIt        j                  | «      }|j                  dd| dz
  ¬«      |d d t        j                  ||«      }|
|fS |dk(  rt        j                  | «      }|
|fS |j                  dd| ¬«      }|
|fS )Néÿÿÿÿé   )ÚlowÚhighÚsizeÚTrue)ÚpivotingÚhardÚjac_equal_zero)
ÚnpÚrandomÚdefault_rngÚuniformr	   ÚsortÚmultiplyÚdotÚTÚzeros)ÚnÚmin_eigÚmax_eigÚcaseÚrngÚrandÚQÚ_Ú	eigvaluesÚQauxÚAÚgs               ú�/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/scipy/optimize/tests/test_trustregion_exact.pyÚrandom_entryr.      s'  € Ü
�)‰)×
Ñ
 Ó
$€Cð �;‰;˜2 A¨Q°¨Fˆ;Ó3€Dô � Ô'�G€A€qˆ!ð —‘ ¨g¸A�Ó>€IÜ—‘˜	Ó"¡4 R 4Ñ(€Iô �;‰;�y !Ó$€DÜ
�‰ˆt�Q—S‘SÓ€Að ˆv‚~Ü�H‰H�Q‹KˆØ—‘ ¨!°!°A±#�Ó6ˆˆ#ˆ2ˆÜ�F‰F�1�a‹Lˆð ˆaˆ4€Kð 
Ð!Ò	!Ü�H‰H�Q‹Kˆð ˆaˆ4€Kð �K‰K˜B Q¨QˆKÓ/ˆàˆaˆ4€Kó    c                   ó   — e Zd Zd„ Zy)Ú!TestEstimateSmallestSingularValuec                 óø   — t        j                  g d¢g d¢g d¢g d¢g«      }t        |«      \  }}}|d   }|dd d …f   }t        |«      \  }}t	        ||d¬«       t	        t        |«      t        |«      d¬«       y )N)r   é   é   é   )r   gš™™™™™©?é<   é   )r   r   çš™™™™™é?é	   )r   r   r   é
   r   é   )Údecimal)r   Úarrayr   r   r   Úabs)	ÚselfÚCÚUÚsÚVtÚsmin_svdÚzmin_svdÚsminÚzmins	            r-   Ú test_for_ill_condiotioned_matrixzBTestEstimateSmallestSingularValue.test_for_ill_condiotioned_matrix1   s}   € ô �H‰H’lÚ&Ú$Ú#ð%ó &ˆô �q“6‰ˆˆ1ˆbð �R‘5ˆØ�bš!�e‘9ˆô 6°aÓ8‰
ˆˆdô 	" $¨¸!Õ<Ü!¤# d£)¬S°«]ÀAÖFr/   N)Ú__name__Ú
__module__Ú__qualname__rH   © r/   r-   r1   r1   /   s   „ óGr/   r1   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestSingularLeadingSubmatrixc                 ón  — t        j                  g d¢g d¢g d¢g«      }t        d|f«      \  } ||ddd¬«      \  }}t        |||«      \  }}||dz
  |dz
  fxx   |z  cc<   t	        t        |d |…d |…f   «      d	«       t        j                  |t        j                  ||«      «      }t	        |d	«       y )
N)r   r3   r4   )r3   r5   é   )r4   rP   é   ©ÚpotrfFT©ÚlowerÚoverwrite_aÚcleanr   r   ©r   r=   r   r   r   r   r   ©r?   r+   ÚcholeskyÚcÚkÚdeltaÚvÚquadratic_terms           r-   Ú+test_for_already_singular_leading_submatrixzHTestSingularLeadingSubmatrix.test_for_already_singular_leading_submatrixJ   s¹   € ô �H‰H’iÚÚð!ó "ˆô
 % Z°!°Ó6‰	ˆñ ˜ °EÀÔF‰ˆˆ1ä-¨a°°AÓ6‰ˆˆqà	ˆ!ˆA‰#ˆq�‰sˆ(‹�uÑ‹ô 	"¤# a¨¨¨¨B¨Q¨B¨¡i£.°!Ô4ô Ÿ™ ¤2§6¡6¨!¨Q£<Ó0ˆÜ! .°!Õ4r/   c                 óz  — t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        d|f«      \  } ||ddd¬	«      \  }}t        |||«      \  }}||d
z
  |d
z
  fxx   |z  cc<   t	        t        |d |…d |…f   «      d«       t        j                  |t        j                  ||«      «      }t	        |d«       y )N)r   r3   r4   r7   r;   )r3   rP   rP   r9   r   )r4   rP   é   r   r3   )r7   r9   r   r7   rP   )r;   r   r3   rP   r;   rR   FTrT   r   r   )r   Úasarrayr   r   r   r   r   rY   s           r-   Ú#test_for_simetric_indefinite_matrixz@TestSingularLeadingSubmatrix.test_for_simetric_indefinite_matrixc   s¿   € ô �J‰JšÚ'Ú(Ú'Ú'ð	)ó *ˆô % Z°!°Ó6‰	ˆñ ˜ °EÀÔF‰ˆˆ1ä-¨a°°AÓ6‰ˆˆqà	ˆ!ˆA‰#ˆq�‰sˆ(‹�uÑ‹ô 	"¤# a¨¨¨¨B¨Q¨B¨¡i£.°!Ô4ô Ÿ™ ¤2§6¡6¨!¨Q£<Ó0ˆÜ! .°!Õ4r/   c                 ón  — t        j                  g d¢g d¢g d¢g«      }t        d|f«      \  } ||ddd¬«      \  }}t        |||«      \  }}||dz
  |dz
  fxx   |z  cc<   t	        t        |d |…d |…f   «      d	«       t        j                  |t        j                  ||«      «      }t	        |d	«       y )
N)r   r4   rb   )r4   é   rP   )rb   rP   rQ   rR   FTrT   r   r   rX   rY   s           r-   Ú$test_for_first_element_equal_to_zerozATestSingularLeadingSubmatrix.test_for_first_element_equal_to_zero~   s¹   € ô �H‰H’jÚ Ú ð"ó #ˆô
 % Z°!°Ó6‰	ˆñ ˜ °EÀÔF‰ˆˆ1ä-¨a°°AÓ6‰ˆˆqà	ˆ!ˆA‰#ˆq�‰sˆ(‹�uÑ‹ô 	"¤# a¨¨¨¨B¨Q¨B¨¡i£.°!Ô4ô Ÿ™ ¤2§6¡6¨!¨Q£<Ó0ˆÜ! .°!Õ4r/   N)rI   rJ   rK   r`   rd   rg   rL   r/   r-   rN   rN   H   s   „ ò5ò25ó65r/   rN   c                   ó°   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  d¬«      ej                  j                  d«      d	„ «       «       Zd
„ Zy)ÚTestIterativeSubproblemc                 ó¼   ‡‡— g d¢g d¢g d¢g d¢gŠg d¢Šd}t        dd„ ˆfd	„ˆfd
„dd¬«      }|j                  |«      \  }}t        |g d¢«       t        |d«       y )N©r:   r3   r4   r5   ©r3   r   r7   r   ©r4   r7   r   r7   ©r5   r   r7   r3   )r   r   r   r   r   r   c                  ó   — y©Nr   rL   ©Úxs    r-   ú<lambda>z@TestIterativeSubproblem.test_for_the_easy_case.<locals>.<lambda>©   ó   � r/   c                 ó.   •— t        j                  ‰«      S ©N©r   r=   ©rr   r,   s    €r-   rs   z@TestIterativeSubproblem.test_for_the_easy_case.<locals>.<lambda>ª   ó   ø€ ´B·H±H¸Q³K€ r/   c                 ó.   •— t        j                  ‰«      S rv   rw   ©rr   ÚHs    €r-   rs   z@TestIterativeSubproblem.test_for_the_easy_case.<locals>.<lambda>«   ó   ø€ ´R·X±X¸a³[€ r/   ç»½×Ùß|Û=©rr   ÚfunÚjacÚhessÚk_easyÚk_hard)gë8<Œbp?gøgÌEø®á¿gÎþ vå?gË�ùëÛªß¿T©r   Úsolver   )r?   Útrust_radiusÚsubprobÚpÚhits_boundaryr|   r,   s        @@r-   Útest_for_the_easy_casez.TestIterativeSubproblem.test_for_the_easy_caseš   sr   ù€ ò ÚÚÚðˆò ˆð ˆô &¨Ù*5Û*?Û+@Ø-2Ø-2ô4ˆð #Ÿ=™=¨Ó6Ñˆˆ=ä! !ò &?ô 	@ä! -°Õ6r/   c                 óº   ‡‡— g d¢g d¢g d¢g d¢gŠg d¢Šd}d}t        dd	„ ˆfd
„ˆfd„dd¬«      }|j                  |«      \  }}t        | |j                  «       y )Nrk   rl   rm   rn   )gASýéð@r   r   r   grv»f(n Àr   r   c                  ó   — yrp   rL   rq   s    r-   rs   z@TestIterativeSubproblem.test_for_the_hard_case.<locals>.<lambda>Ä   rt   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   rx   s    €r-   rs   z@TestIterativeSubproblem.test_for_the_hard_case.<locals>.<lambda>Å   ry   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   r{   s    €r-   rs   z@TestIterativeSubproblem.test_for_the_hard_case.<locals>.<lambda>Æ   r}   r/   r~   r   )r   r†   r   Úlambda_current)r?   rB   r‡   rˆ   r‰   rŠ   r|   r,   s         @@r-   Útest_for_the_hard_casez.TestIterativeSubproblem.test_for_the_hard_case´   so   ù€ ò ÚÚÚðˆò *ˆØˆð ˆô &¨Ù*5Û*?Û+@Ø-2Ø-2ô4ˆð #Ÿ=™=¨Ó6Ñˆˆ=ä! 1 " g×&<Ñ&<Õ=r/   c                 ó  ‡‡— g d¢g d¢g d¢g d¢g d¢gŠg d¢Št        dd„ ˆfd	„ˆfd
„¬«      }|j                  d«      \  }}t        |g d¢«       t        |d«       t        |j                  d«       t        |j                  d«       y )N)gÛn‚ošþü?ç�ž¶¡½uê?ç,wnó)ôË?ç”/ËK¼Ëà¿çÿëš˜GÐ?)r“   gì¼®ÛwO@çÙ¢y¾n*Ô?çr–<8±Ù¿çõ¶Û&ÃŽ¶?)r”   r—   gÓ6›ª
@çøòÄ½CÔ¿ç8Š¤ÄKƒÑ?)r•   r˜   rš   gÀc‘‰èù?çò†«>øÚ¿)r–   r™   r›   rœ   gÂ-£Qõ?)g*‹ã<sAè?g³¢¼E�?gM x¾—©Õ?gzý‹˜ÀÊê?gôÒ=€©Þ¿r   c                  ó   — yrp   rL   rq   s    r-   rs   zGTestIterativeSubproblem.test_for_interior_convergence.<locals>.<lambda>Ù   rt   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   rx   s    €r-   rs   zGTestIterativeSubproblem.test_for_interior_convergence.<locals>.<lambda>Ú   ry   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   r{   s    €r-   rs   zGTestIterativeSubproblem.test_for_interior_convergence.<locals>.<lambda>Û   r}   r/   )rr   r€   r�   r‚   çš™™™™™ñ?)g8bÒ„òå¿gåO
©‘L¿?g p4OÇFÌ¿g� Ïqå¿g­oš-7Ô?Fr   )r   r†   r   r�   Úniter©r?   rˆ   r‰   rŠ   r|   r,   s       @@r-   Útest_for_interior_convergencez5TestIterativeSubproblem.test_for_interior_convergenceÍ   s‡   ù€ âHÚJÚIÚLÚJð	Lˆò Jˆô &¨Ù*5Û*?Û+@ôBˆð #Ÿ=™=¨Ó-Ñˆˆ=ä! !ò &?ô 	@ä! -°Ô7Ü! '×"8Ñ"8¸!Ô<Ü! '§-¡-°Õ3r/   c                 ó¾   ‡‡— g d¢g d¢g d¢g d¢g d¢gŠg d¢Št        dd„ ˆfd	„ˆfd
„dd¬«      }|j                  d«      \  }}t        |g d¢«       t        |d«       y )N©gÝVaÐUì?çø˜›±`A@ç5“ýF€ï?çÔ9Ô)n@é¿ç€îcñÑ¿©r¦   gµÚ{ú¥§¿ç.<íøÕ?ç~õýÏËê¿çÔ:]³èÅ?©r§   r«   g@33ôë¿ç �5Ð:²°¿ç¦ä¤IŒâö¿©r¨   r¬   r¯   gÐ¹ÛõÒTú¿ç¦F¦K°Õ¿©r©   r­   r°   r²   g¬¢&—Rùú¿)r   r   r   r   r   r   c                  ó   — yrp   rL   rq   s    r-   rs   zATestIterativeSubproblem.test_for_jac_equal_zero.<locals>.<lambda>ð   rt   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   rx   s    €r-   rs   zATestIterativeSubproblem.test_for_jac_equal_zero.<locals>.<lambda>ñ   ry   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   r{   s    €r-   rs   zATestIterativeSubproblem.test_for_jac_equal_zero.<locals>.<lambda>ò   r}   r/   r~   r   r    ©g÷iG7ã°±?glµ$“•W�¿gÀü€ÍZæä¿g-ðOˆ|Î¿g¦mô‚/ë¿Tr…   r¢   s       @@r-   Útest_for_jac_equal_zeroz/TestIterativeSubproblem.test_for_jac_equal_zeroä   sn   ù€ âKÚKÚLÚLÚMð	Oˆò ˆô &¨Ù*5Û*?Û+@Ø-2Ø-2ô4ˆð #Ÿ=™=¨Ó-Ñˆˆ=ä! !ò &3ô 	4ô 	" -°Õ6r/   c                 ó¾   ‡‡— g d¢g d¢g d¢g d¢g d¢gŠg d¢Št        dd„ ˆfd	„ˆfd
„dd¬«      }|j                  d«      \  }}t        |g d¢«       t        |d«       y )Nr¥   rª   r®   r±   r³   )r   r   r   r   gVçž¯Ò<r   c                  ó   — yrp   rL   rq   s    r-   rs   zITestIterativeSubproblem.test_for_jac_very_close_to_zero.<locals>.<lambda>  rt   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   rx   s    €r-   rs   zITestIterativeSubproblem.test_for_jac_very_close_to_zero.<locals>.<lambda>	  ry   r/   c                 ó.   •— t        j                  ‰«      S rv   rw   r{   s    €r-   rs   zITestIterativeSubproblem.test_for_jac_very_close_to_zero.<locals>.<lambda>
  r}   r/   r~   r   r    r·   Tr…   r¢   s       @@r-   Útest_for_jac_very_close_to_zeroz7TestIterativeSubproblem.test_for_jac_very_close_to_zeroü   sn   ù€ âKÚKÚLÚLÚMð	Oˆò  ˆô &¨Ù*5Û*?Û+@Ø-2Ø-2ô4ˆð #Ÿ=™=¨Ó-Ñˆˆ=ä! !ò &3ô 	4ô 	" -°Õ6r/   zfails in parallel)Úreasonr:   c                 ó²  ‡‡— t         j                  j                  d«      }d}dD �]®  }g d¢}|D �]¡  \  }}t        |||||¬«      \  ŠŠg d¢}|D �]~  }t	        dd„ ˆfd	„ˆfd
„dd¬«      }	|	j                  |«      \  }
}dt        j                  |
t        j                  ‰|
«      «      z  t        j                  ‰|
«      z   }g d¢}|D �]  \  }}t        |dz
  dt        j                  |«      z
  «      }d|z
  }t	        dd„ ˆfd„ˆfd„||¬«      }|j                  |«      \  }}dt        j                  |t        j                  ‰|«      «      z  t        j                  ‰|«      z   }|r5t        t        j                  t        |«      |z
  «      |dz
  |z  k  d«       nt        t        |«      |k  d«       t        |||z  k  d«       �Œ �Œ� �Œ¤ �Œ± y )Nr   rP   )Úeasyr   r   ))iìÿÿÿiñÿÿÿ)éöÿÿÿéûÿÿÿ)rÁ   r   )rÂ   rP   )rÁ   r:   )r   r:   )rP   r:   )é   é   )r%   )	çš™™™™™¹?g333333Ó?g333333ã?r8   r   g333333ó?gffffff
@g      @r:   r   c                  ó   — yrp   rL   rq   s    r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>2  rt   r/   c                 ó   •— ‰S rv   rL   rx   s    €r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>3  ó   ø€ ¸q€ r/   c                 ó   •— ‰S rv   rL   r{   s    €r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>4  rÈ   r/   r~   )rƒ   r„   ç      à?))rÅ   r3   )rÊ   r    )gÍÌÌÌÌÌì?g)\�Âõ(ð?c                  ó   — yrp   rL   rq   s    r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>M  rt   r/   c                 ó   •— ‰S rv   rL   rx   s    €r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>N  ó   ø€ À€ r/   c                 ó   •— ‰S rv   rL   r{   s    €r-   rs   zATestIterativeSubproblem.test_for_random_entries.<locals>.<lambda>O  rÍ   r/   T)r   r   r   r.   r   r†   r   ÚminÚsqrtr   r>   r
   r   )r?   r%   r!   r$   Ú
eig_limitsr"   r#   Útrust_radius_listr‡   Ú
subprob_acÚp_acÚhits_boundary_acÚJ_acÚstop_criteriaÚk_optÚk_trfrƒ   r„   rˆ   r‰   rŠ   ÚJr|   r,   s                         @@r-   Útest_for_random_entriesz/TestIterativeSubproblem.test_for_random_entries  sì  ù€ ô �i‰i×#Ñ# AÓ&ˆð ˆà6ó C	<ˆDò$ˆJð %/ó 8<Ñ �˜ô $ A w°¸À3ÔG‘��1ò %OÐ!à$5ó 0<�Lä!4°QÙ5@Û5@Û5@Ø<AØ<Aô"C�Jð .8×-=Ñ-=¸lÓ-KÑ*�DÐ*ð œrŸv™v d¬B¯F©F°1°d«OÓ<Ñ<¼R¿V¹VÀAÀt»_ÑL�Dò%2�Mð )6ó <™˜˜uô "% U¨1¡WØ%&¤r§w¡w¨u£~Ñ%5ó"7˜à!" 5¡˜ô #6°aÙ6AÛ6AÛ6AØ=CØ=Cô#E˜ð ,3¯=©=¸Ó+FÑ(˜˜=ð  ¤§¡ q¬"¯&©&°°A«,Ó 7Ñ7¼¿¹¸qÀ!»ÑD˜ñ )Ü.¬r¯v©v´d¸1³g¸lÑ6JÓ/KØ05°a±¸Ñ/Eñ0FØGKõMô )¬¨a«°LÑ)@À$ÔGô % Q¨%°©*¡_°dÖ;ò=<ò%0<ò8<ñC	<r/   c                 ó¬  ‡‡— t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      Št        j                  g d¢«      Šddg}|D ]d  }t        dd„ ˆfd„ˆfd„dd|¬«      }d}|j                  |«      \  }}|€ |j                  t        j
                  k  rŒRJ ‚|j                  |k  rŒdJ ‚ y)zRegression test for gh-12513)gŠÉ`æ]B@çÁnØ¶ŠoÀç}c¾rs'@ç9þÿ�b¦S¿ç½Æ.Q-  Àçí”õ8w ÀrÝ   ç8‚TŠ�`„Àçw•^Ñ¿ç-ïä²UÒÿ¿ç\ùv\žˆó?ç‚¾_’ëj@çRù^Ý¸¿ç“iõTÕ[à¿çÊ¢¶]ð¿çÙÏ›LXÂ?ç¯�>'@ç,ˆÈ:êY°¿ç,¹>7*3Å?)rÝ   ç¼"øßJž›@ç“õåÒXÀçàWÆmÑ…?çàœ¥%6Ì@çÍx¶¢(Ã,@rî   çyöÑñÖ±@çÖ·þ#ôÇ@ç®ú·&8L0@çš‡löBÀç|sÉ‚Óü(Àçh0s¥‘å?ç„ðªÿÒ	@çÈèFyb™@ç¨Ð{Žˆ¬î¿çPû­�(œCÀçfRïòžÜ?çˆ�ºcÒÛò¿)rÞ   rï   gÏ ¡rm¬@ç¨Gò)Ü¿çãP¿{Û�Àçíú`tÔ<ò¿rï   ç…8„ê$pÀçÊ&
>JÀçùÀŽÿÂ—wÀçy¹>b*âPÀç×÷á ¡®gÀçcµ\ª�¶@ç©è¯ÍK@ç•‘ÄÜÿE1@çƒ!aÎ"*Àç%�·DŸSÀç	5ŽVh	@çäk	Ø’ž@)rß   rð   rÿ   g¹ÂOhj?çÒéL º?çZËÔ"'?rð   ç\û,8Qœ?çÉZÏªÞ¡y?çMØ¤ùh§?ç¹B¸ ¥²�?çNŒêR—?çH¢OAîâK¿ç9¡½ê«%?ç�’O$ÅV?ç�ø>ÐfB?ç–ñO¦ZŒ?ç¿ÆÏ—ïø@¿çdßíAñ ¿)rà   rñ   r   r  g3333Ýþ@ç¿ðJ’ç�_@rñ   çrŠŽä`Jâ@çþÅ"<�Ù5@ç|DL‰$d@çÏJZñÓRÀç¤µûU]ÀçÕ‹ë)ƒT@çàÏ³~?@çÃÖlå%íH@ç¥¿U¦±ª"Àç¿€^¸sÇwÀç7 [ùÙZ@çÙ 8Ó)ô&À)rá   rò   r  r  r  gã<AŠ·Â?rò   çœx½ê·¹B@çs”d^…[œ?çƒ™b¯üÉ?ç�¶c~7£¶¿ç%7F�8”À¿çQt¨�üƒ€?çƒ‚Bd £?ç7ÒÃ`ßÆ­?çœüVæ‡¿çu«–]ø­Ü¿ç{£jfu?çùB¤EÆúŒ¿)râ   ró   r  r  r  r)  ró   g—ÿ�~ëÇ@çsÏ¡©*J@ç³ÊçWE@ç ‡}Q4Àçq�å%@Àç?.XGáü?ç }#:¾ @ç¹ÝpÄÿr*@çÝ¦ì²gðÀç	oB@TYÀçÐ"_2#–ò?ç/³�)SÀÀ)rã   rô   r  r  r  r*  rô   r5  gB›w÷[ÐE@ç<Û¤b­s@çôW#Œy4Àçu��Ö²�>ÀçÐ˜e);ø¿¿çŒM†>³''@çÐ€z3jXD@ç§ú!xtJö¿ç¥>ÚIŽ‹CÀçÄ±½=à¸¿çcrÕœZ»?)rä   rõ   r  r  r  r+  rõ   r6  r@  gR,·´Á¡@ç�‰”fó`bÀçBÑ<€ÅtkÀçà3mIì¿ç„EêâÛ¶T@çœÛ„{e6r@çšÇ«½™ò#ÀçæuÄ!‘qÀçès® =æ¿ç£´õÛðžç?)rå   rö   r  r  r   r,  rö   r7  rA  rJ  g6mk°••S@ç[z4U�d@ç½¹l2²5Àçí×�î<õ9Àç™Ó
x>HOÀç$ŠdŠÌ@ç“ŠÆÚ_àl@ç€›ƒo³{Àçôí�½ÿÇ@)ræ   r÷   r  r  r!  r-  r÷   r8  rB  rK  rS  gµßÚI~w@ç�u'Žò®Àçõ|r¹fÒFÀç>ÍÉ‹Ä[Àçé¤­ •À'@ç�úë–ë}@ç+Lc¤¬EÀçÔVô ¡!@)rç   rø   r  r  r"  r.  rø   r9  rC  rL  rT  r[  gR3ZýÇÈî?çA¼	#�ø?çj„Ÿ´Gê@ç7VÞeñ¨é¿çeGô|83Àç·­†ôv,Ø?ç/yng€§ê¿)rè   rù   r  r  r#  r/  rù   r:  rD  rM  rU  r\  rb  g§�ÕG–b:@ç�G>_R@çÌ`)Y™Àç¦€´ÿ\ÀçÉ¤É�^à?çë9Èo2À)ré   rú   r	  r  r$  r0  rú   r;  rE  rN  rV  r]  rc  rh  g6ÌÐx"‘m@ç¨o™Óeí%ÀçJìÚÞnqÀçv†yôNå?çä~êÌû+À)rê   rû   r
  r  r%  r1  rû   r<  rF  rO  rW  r^  rd  ri  rm  gb®˜Sú°ò?çRBUñë>@çºWUKãÜ¿çsøliªqï?)rë   rü   r  r  r&  r2  rü   r=  rG  rP  rX  r_  re  rj  rn  rq  g<Ú8bM±‘@çâ¥åQ;½*ÀçÀýÊ” K6@)rì   rý   r  r  r'  r3  rý   r>  rH  rQ  rY  r`  rf  rk  ro  rr  rt  g&œ¦AdÛ?çaBÜæIà¿)rí   rþ   r  r  r(  r4  rþ   r?  rI  rR  rZ  ra  rg  rl  rp  rs  ru  rv  gC€ã�	f@)gƒùqÕ ÿ�¾gbk‚ýú—½>gç™6ß“R½>gÂIëˆ‘Óü½gìXFï;î>g)	Ÿ@AnN>gù¨\áú—½>gûœhMÎÔ>g˜VÖ•¥�¾gH³4>ÖS¼¾gÀ…²ÜéÍœ>gìsCa!T¦>gÈ's„Çd¾g6µ¡KJ•¾g~|WR´¾g,ŽçN®h>g	°Á…ã	¼>g½ÊZÙÆ|O>gÚ+®Ý±f>Nr:   r   c                  ó   — yrp   rL   rq   s    r-   rs   zNTestIterativeSubproblem.test_for_finite_number_of_iterations.<locals>.<lambda>Ò  rt   r/   c                 ó   •— ‰S rv   rL   )rr   rÚ   s    €r-   rs   zNTestIterativeSubproblem.test_for_finite_number_of_iterations.<locals>.<lambda>Ó  s   ø€ ˜a€ r/   c                 ó   •— ‰S rv   rL   r{   s    €r-   rs   zNTestIterativeSubproblem.test_for_finite_number_of_iterations.<locals>.<lambda>Ô  s   ø€ ˜q€ r/   rÅ   gš™™™™™É?)rr   r€   r�   r‚   rƒ   r„   Úmaxiterr   )r   r=   r   r†   r¡   ÚMAXITER_DEFAULT)	r?   Úsubproblem_maxiterrz  rˆ   r‡   r‰   rŠ   r|   rÚ   s	          @@r-   Ú$test_for_finite_number_of_iterationsz<TestIterativeSubproblem.test_for_finite_number_of_iterationsb  s  ù€ ä�H‰Hò>ò
>ò
<ò
@ò
=ò
@ò
>ò
=ò
?ò
?ò
<ò
<ò
?ò
>ò
>ò
>ò
<ò
?ò
=ðu^>ó`
ˆôB �H‰Hò 
ó ˆð # B˜ZÐØ)ò 	0ˆGä)ØÙÛÛ ØØØôˆGð ˆLØ&Ÿ}™}¨\Ó:ÑˆAˆ}àˆØ—}‘}Ô(;×(KÑ(KÓKÐKÐKà—}‘}¨Ó/Ð/Ð/ñ#	0r/   N)rI   rJ   rK   r‹   r‘   r£   r¸   r½   ÚpytestÚmarkÚthread_unsafeÚ	fail_slowrÛ   r}  rL   r/   r-   ri   ri   ˜   sb   „ ò7ò4>ò24ò.7ò07ð0 ‡[�[×ÑÐ&9ÐÓ:Ø‡[�[×Ñ˜2ÓñI<ó ó ;ðI<óX}0r/   ri   rv   )Ú__doc__r~  Únumpyr   Ú!scipy.optimize._trustregion_exactr   r   r   Úscipy.linalgr   r   r   r	   r
   Únumpy.testingr   r   r   r.   r1   rN   ri   rL   r/   r-   ú<module>r‡     s[   ðñó Û ÷ñ ÷ @Õ ?÷Dñ Dó÷>Gñ G÷2M5ñ M5÷`G0ò G0r/   