a
    ¬<bÀ  ã                   @   sÚ  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 g d	¢Zed
dƒZedeƒZ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deeefeƒZ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 d  ƒ n1 s¤0    Y  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de*ƒZ+eddd\ZZZ,eddd\Z-Z.ZZZ/e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e/feeeƒ ee/ƒ eeeƒ ee/ƒ 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e/feeeƒ e/eeeƒ fgdœZ0ede+eee,fe0ƒZ1ede+e-e.e,fe0ƒZ2ed e+eee/fe0ƒZ3e ¡ º e d¡ ed!ed\ZZZ,Z-Z.ZZZ/e1je2eee,geed ed  ƒeeeƒe,gddd e2je1e-e.e,ge-ee.ƒ e-ee.ƒ e,gddd e1je3e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 e3je1eee/geeeƒ ee/ƒ eeeƒ ee/ƒ eeeƒ gddd e2je3e-e.e,gee-d e,d  ƒe
e,ee-d e,d  ƒ ƒe.gddd e3je2eee/geeeƒ e/eeeƒ gddd W d  ƒ n1 s0    Y  e1 ¡ \e1_e1_e1_,e2 ¡ \e2_-e2_.e2_,e3 ¡ \e3_e3_e3_/e1  ¡ \e1_!e1_"e1_4e2  ¡ \e2_5e2_6e2_4e3  ¡ \e3_#e3_$e3_7e1 %¡ \e1_&e1_'e1_8e2 %¡ \e2_9e2_:e2_8e3 %¡ \e3_(e3_)e3_;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   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© r1   r1   úa/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/diffgeom/rn.pyÚ<module>   sä   


$þ

þþ&((((((

ÿÿ"þÿ
þÿþÿÿï
þþÿÿýÿÿ
ÿý0þþ&