U
    /‰dq  ã                   @   s<   d dl Zd dlmZ d dlZd dlmZ dd„ Zdd„ Z	dS )é    N)Úassert_allclose)Úminimizec               
   C   sl   dd„ } dD ]Z}t ddƒD ]J}t| ddd||dœd	}| t d
g¡¡ d
d
¡}|j ¡ }t||ƒ qqd S )Nc                 S   s   | d d| d  fS )Né   é   © ©Úxr   r   úL/tmp/pip-unpacked-wheel-9gxwnfpp/scipy/optimize/tests/test_lbfgsb_hessinv.pyÚf   s    ztest_1.<locals>.f)g:Œ0âŽyE>gê-™—q=g#B’¡œÇ;é   é#   TúL-BFGS-B)ÚgtolÚmaxcor)ÚfunZjacÚmethodÚx0Úoptionsé   )Úranger   Úhess_invÚnpÚarrayÚreshapeÚtodenser   )r
   r   r   ÚresultÚH1ÚH2r   r   r	   Útest_1   s    
ÿ
r   c               	      sÐ   ddgddgg‰ ‡ fdd„} t | ddd	gd
}t | ddd	gd
}|j ¡ }t | t ddg¡¡| t ddg¡¡f¡}t| t ddg¡ dd¡¡ d¡| t ddg¡¡ƒ t||ƒ t||jddd d S )Nr   r   r   é   c                    s   t  | t  tj ˆ ¡| ¡¡S )N)r   ÚdotÚscipyZlinalgÚinvr   ©ZH0r   r	   r
      s    ztest_2.<locals>.fr   é
   r   )r   r   r   ZBFGSéÿÿÿÿg{®Gáz„?g¸…ëQ¸ž?)ZrtolZatol)r   r   r   r   Zvstackr   r   r   )r
   Zresult1Zresult2r   r   r   r#   r	   Útest_2   s    
þ þ
r&   )
Znumpyr   Znumpy.testingr   Zscipy.linalgr!   Zscipy.optimizer   r   r&   r   r   r   r	   Ú<module>   s
   