U
    3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 E/tmp/pip-unpacked-wheel-zrfo1fqw/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    )	Znumpyr   Zsklearn.utils.optimizer   Zscipy.optimizer   Zsklearn.utils._testingr   r    r   r   r   r   <module>   s   