ó
¡¼™\c        
   @  sÄ  d  Z  d d l m Z m Z d d l m Z m Z m Z d d l m	 Z	 m
 Z
 m Z m Z m Z m Z e d d ƒ Z e d e ƒ Z e d	 e d
 d g ƒ Z e d e d d g ƒ Z g  d
 d d d g D] Z e e ƒ ^ qÇ \ Z Z Z Z e j e e e g e	 e d e d ƒ e
 e e ƒ g d e d e ƒe j e e e g e e e ƒ e e e ƒ g d e d e ƒ[ [ [ [ e j ƒ  \ e _ e _ \ e _ e _ \ e _ e _ e j ƒ  \ e _ e _ \ e _ e _ \ e _ e _ e j ƒ  \ e _ e _ \ e _ e _ \ e _ e _ e j ƒ  \ e _ e _ \ e _ e _ \ e _ e _ e j  ƒ  \ e _! e _" \ e _! e _" \ e _! e _" e j  ƒ  \ e _# e _$ \ e _# e _$ \ e _# e _$ e d d ƒ Z% e d e% ƒ Z& e d	 e& d
 d d g ƒ Z' e d e& d d d g ƒ Z( e d e& d d d g ƒ Z) g  d
 d d d d d d d g D] Z e e ƒ ^ qZ\ Z Z Z* Z+ Z, Z Z Z- e' j e( e e e* g e	 e d e d ƒ e
 e e ƒ e* g d e d e ƒe( j e' e+ e, e* g e+ e e, ƒ e+ e e, ƒ e* g d e d e ƒe' j e) e e e* g e	 e d e d e* d ƒ e e* e	 e d e d e* d ƒ ƒ e
 e e ƒ g d e d e ƒe) j e' e e e- g e e e ƒ e e- ƒ e e e ƒ e e- ƒ e e e ƒ g d e d e ƒe( j e) e+ e, e* g e	 e+ d e* d ƒ e e* e	 e+ d e* d ƒ ƒ e, g d e d e ƒe) j e( e e e- g e e e ƒ e- e e e ƒ g d e d e ƒ[ [ [* [+ [, [ [ [- e' j ƒ  \ e' _ e' _ e' _* e( j ƒ  \ e( _+ e( _, e( _* e) j ƒ  \ e) _ e) _ e) _- e' j ƒ  \ e' _ e' _ e' _. e( j ƒ  \ e( _/ e( _0 e( _. e) j ƒ  \ e) _ e) _ e) _1 e' j  ƒ  \ e' _! e' _" e' _2 e( j  ƒ  \ e( _3 e( _4 e( _2 e) j  ƒ  \ e) _# e) _$ e) _5 d S(   st  Predefined R^n manifolds together with common coord. systems.

Coordinate systems are predefined as well as the transformation laws between
them.

Coordinate functions can be accessed as attributes of the manifold (eg `R2.x`),
as attributes of the coordinate systems (eg `R2_r.x` and `R2_p.theta`), or by
using the usual `coord_sys.coord_function(index, name)` interface.
iÿÿÿÿ(   t   print_functiont   divisioni   (   t   Manifoldt   Patcht   CoordSystem(   t   sqrtt   atan2t   acost   sint   cost   Dummys   R^2i   t   origint   rectangulart   xt   yt   polart   rt   thetat   inverset   fill_in_gapss   R^3i   t   zt   cylindricalt   rhot   psit	   sphericalt   phiN(6   t   __doc__t
   __future__R    R   t   diffgeomR   R   R   t   sympyR   R   R   R   R	   R
   t   R2t	   R2_origint   R2_rt   R2_pt   sR   R   R   R   t
   connect_tot   Falset   coord_functionst   base_vectorst   e_xt   e_yt   e_rt   e_thetat   base_oneformst   dxt   dyt   drt   dthetat   R3t	   R3_origint   R3_rt   R3_ct   R3_sR   R   R   R   t   e_zt   e_rhot   e_psit   e_phit   dzt   drhot   dpsit   dphi(    (    (    s0   lib/python2.7/site-packages/sympy/diffgeom/rn.pyt   <module>	   st   .7' 888888C*##3*=#