o
    oÇ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 g d	¢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 ¡ F 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âw   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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 d  ƒ n	1 s/w   Y  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é   r   Úoriginr   zx yT)Úrealz	rho theta)Únonnegative))ÚrectangularÚpolar)r   r   r   r   r   r   Úignorezx y r theta)ÚclsF)ÚinverseÚfill_in_gapszR^3é   r   r   zx y zzrho psi r theta phi))r   Úcylindrical)r$   r   )r   Ú	spherical)r%   r   )r$   r%   )r%   r$   r   r$   r   r%   r   zx y z rho psi r theta phi)=Ú__doc__Útypingr   ÚwarningsÚsympy.core.symbolr   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   r   r	   Údiffgeomr   r   r   Ú__all__r   Ú__annotations__r   ÚxÚyÚrÚthetar   r   r   Úcatch_warningsÚsimplefilterÚ
connect_toÚcoord_functionsÚbase_vectorsÚe_xÚe_yÚe_rÚe_thetaÚbase_oneformsÚdxÚdyÚdrÚdthetar   r   ÚzÚrhoÚpsiÚphir   r   r   r   Úe_zÚe_rhoÚe_psiÚe_phiÚdzÚdrhoÚdpsiÚdphi© rM   rM   úe/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/diffgeom/rn.pyÚ<module>   sê    
$þ

þþú((((((ÿÿ"þÿ
þÿþÿÿï

þþÿÿýÿÿ
ÿý0þþê