U
    ½mœd  ã                   @   s8   d dl Zd dlmZ d dlmZ d dlmZ dd„ ZdS )é    N)Ú
_newton_cg)Úfmin_ncg)Úassert_array_almost_equalc                     s€   t j d¡} | jdd�‰ t  d¡}‡ fdd„}‡ fdd„‰‡ fd	d
„}‡ ‡fdd„}tt||ˆ|dd�d t||ˆ|d�ƒ d S )Nr   )é
   r   )Úsizer   c                    s   ˆ   | ¡}d|  |¡ S )Ng      à?)Údot)ÚxZAx©ÚA© úZ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/sklearn/utils/tests/test_optimize.pyÚfunc   s    
ztest_newton_cg.<locals>.funcc                    s   ˆ j  ˆ  | ¡¡S ©N©ÚTr   ©r   r	   r   r   Úgrad   s    ztest_newton_cg.<locals>.gradc                    s   |  ˆ j  ˆ   |  ¡ ¡¡¡S r   )r   r   Úall)r   Úpr	   r   r   Úhess   s    ztest_newton_cg.<locals>.hessc                    s   ˆ| ƒ‡ fdd„fS )Nc                    s   ˆ j  ˆ  | ¡¡S r   r   r   r	   r   r   Ú<lambda>   ó    z3test_newton_cg.<locals>.grad_hess.<locals>.<lambda>r   r   ©r
   r   r   r   Ú	grad_hess   s    z!test_newton_cg.<locals>.grad_hessg»½×Ùß|Û=)Ztol)ÚfÚx0ZfprimeZfhess_p)ÚnpÚrandomZRandomStateÚnormalZonesr   r   r   )Úrngr   r   r   r   r   r   r   Útest_newton_cg	   s    
þr    )	Únumpyr   Zsklearn.utils.optimizer   Zscipy.optimizer   Zsklearn.utils._testingr   r    r   r   r   r   Ú<module>   s   