ó
Ë½÷Xc           @` sK   d  Z  d d l m Z m Z m Z d d l m Z m Z m Z d „  Z	 d S(   sl   
Here we perform some symbolic computations required for the N-D
interpolation routines in `interpnd.pyx`.

i    (   t   divisiont   print_functiont   absolute_import(   t   symbolst   binomialt   Matrixc          C` sÈ  t  d d d d d g ƒ \ }  } } } } |  | d |  d | d | d | g } d } xG t d ƒ D]9 } | t d | ƒ | | | | d	 | d | 7} qg W| j | d
 ƒ j ƒ  } | d
 j | d d	 f ƒ j ƒ  }	 t |	 j | d
 ƒ |	 j | | ƒ d
 g |	 j | | ƒ d
 |	 j | d
 ƒ g g ƒ }
 t |	 j | ƒ j | d ƒ g |	 j | ƒ j | d ƒ g g ƒ d
 } t	 d ƒ t	 |
 ƒ t	 d ƒ t	 | ƒ t	 d ƒ t	 |
 j
 ƒ  | ƒ d  S(   Nt   f1t   f2t   df1t   df2t   xi   i    i   i   i   t   At   Bt   solution(   R   t   rangeR   t   difft   expandt	   integrateR   t   coefft   subst   printt   inv(   R   R   R   R	   R
   t   ct   wt   kt   wppt   intwpp2R   R   (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/interpolate/interpnd_info.pyt   _estimate_gradients_2d_global   s"    **7"*0(




N(
   t   __doc__t
   __future__R    R   R   t   sympyR   R   R   R   (    (    (    s>   /tmp/pip-build-7oUkmx/scipy/scipy/interpolate/interpnd_info.pyt   <module>   s   