ó
8™xTc           @   sd   d  d l  m Z d  d l m Z d  d l Z d  d l Z d „  Z d „  Z e d k r` e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   approx_equalNc         C   sÕ  |  | d | t  j d | ƒ } |  | t j | ƒ |  | t j | ƒ } |  | t j | ƒ |  | t j | ƒ } t | | j ƒ s“ t ‚ t | | j ƒ s« t ‚ |  | d | d t  j d | ƒ } |  | t j | ƒ |  | t j | ƒ } |  | t j | ƒ |  | t j | ƒ }	 t | | j ƒ sCt ‚ t |	 | j ƒ s[t ‚ | d | t  j d | ƒ }
 | t j | ƒ | t j | ƒ } | t j | ƒ | t j | ƒ } t | |
 j ƒ sÚt ‚ t | |
 j ƒ sòt ‚ |  t  j d | ƒ } |  t j | ƒ } |  t j | ƒ } t | | j ƒ sGt ‚ t | | j ƒ s_t ‚ |  d t  j d | ƒ } |  t j | ƒ } |  t j | ƒ } t | | j ƒ s¹t ‚ t | | j ƒ sÑt ‚ d  S(   Ny              ð?(	   t   cmatht   expt   matht   cost   sinR   t   realt   AssertionErrort   imag(   t   gt   ffpt   fdpt   alphat   ct   at   bt   d_c_d_alphat   d_a_d_alphat   d_b_d_alphat   d_c_d_gt   d_a_d_gt   d_b_d_gt	   d_c_d_ffpt	   d_a_d_ffpt	   d_b_d_ffpt	   d_c_d_fdpt	   d_a_d_fdpt	   d_b_d_fdp(    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/g_exp_i_partial_derivatives.pyt   empirical_proof   s2    #,,'-,$$c       
   C   s’   x† t  d d ƒ D]u }  xl t  d d ƒ D][ } xR t  d d ƒ D]A } x8 t  d d d ƒ D]$ } t |  | | | t j d ƒ qU Wq< Wq& Wq Wd GHd  S(   Niýÿÿÿi   i    ih  i   i´   t   OK(   t   xrangeR   R   t   pi(   R
   R   R   t	   alpha_deg(    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/g_exp_i_partial_derivatives.pyt   exercise*   s    .t   __main__(	   t
   __future__R    t   libtbx.test_utilsR   R   R   R   R"   t   __name__(    (    (    sX   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/examples/g_exp_i_partial_derivatives.pyt   <module>   s   	$	