U
    L?hx                     @   s
  U d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
mZmZmZ ddlmZmZmZ d	d
dddddddddgZeddZeed	< edeZeed
< eddd\ZZeddd\ZZeefeed ed  eeefgeefeee eee fgdZedeeefeZeed< edeeefeZeed< e  ed ed ed!\ZZZZejeeegeed ed  eeegd"d"d# ejeeegeee eee gd"d"d# W 5 Q R X e   \e_e_ \e_e_\e_e_e   \e_e_ \e_e_\e_e_e!  \e_"e_# \e_"e_#\e_"e_#e!  \e_$e_% \e_$e_%\e_$e_%e&  \e_'e_( \e_'e_(\e_'e_(e&  \e_)e_* \e_)e_*\e_)e_*ed$d%Z+eed< ede+Z,eed< ed&dd\ZZZ-ed'dd\Z.Z/ZZZ0eee-feed ed  eeee-fge.e/e-fe.ee/ e.ee/ e-fgeee-feed ed  e-d  e
e-eed ed  e-d   eeefgeee0feee ee0 eee ee0 eee fge.e/e-fee.d e-d  e
e-ee.d e-d   e/fgeee0feee e0eee fgd(Z1ede,eee-fe1Z2eed< ed)e,e.e/e-fe1Z3eed< ed*e,eee0fe1Z4eed< e  ed ed+ed!\ZZZ-Z.Z/ZZZ0e2je3eee-geed ed  eeee-gd"d"d# e3je2e.e/e-ge.ee/ e.ee/ e-gd"d"d# e2je4eee-geed ed  e-d  e
e-eed ed  e-d   eeegd"d"d# e4je2eee0geee ee0 eee ee0 eee gd"d"d# e3je4e.e/e-gee.d e-d  e
e-ee.d e-d   e/gd"d"d# e4je3eee0geee e0eee gd"d"d# W 5 Q R X e2  \e2_e2_e2_-e3  \e3_.e3_/e3_-e4  \e4_e4_e4_0e2! \e2_"e2_#e2_5e3! \e3_6e3_7e3_5e4! \e4_$e4_%e4_8e2& \e2_'e2_(e2_9e3& \e3_:e3_;e3_9e4& \e4_)e4_*e4_<dS ),at  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.
    )AnyN)Dummysymbols)sqrt)acosatan2cossin   )ManifoldPatchCoordSystemR2	R2_originrelations_2dR2_rR2_pR3	R3_originrelations_3dR3_rR3_cR3_szR^2   originzx yT)realz	rho theta)Znonnegative))rectangularpolar)r   r   r   r   ignorezx y r theta)clsF)ZinverseZfill_in_gapszR^3   zx y zzrho psi r theta phi))r   cylindrical)r!   r   )r   	spherical)r"   r   )r!   r"   )r"   r!   r!   r"   zx y z rho psi r theta phi)=__doc__typingr   warningsZsympy.core.symbolr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   r	   Zdiffgeomr   r   r   __all__r   __annotations__r   xyrthetar   r   r   catch_warningssimplefilterZ
connect_toZcoord_functionsZbase_vectorsZe_xZe_yZe_rZe_thetaZbase_oneformsZdxZdyZdrZdthetar   r   zrhopsiphir   r   r   r   Ze_zZe_rhoZe_psiZe_phiZdzZdrhoZdpsiZdphi r2   r2   C/var/www/html/venv/lib/python3.8/site-packages/sympy/diffgeom/rn.py<module>   s
  
         $

  (((((("

   
 0  