K ixvUdZddlmZddlZddlmZmZddlmZddl m Z m Z m Z m Z ddlmZmZmZgd Zed d Zeed <ed eZeed<edd\ZZedd\ZZeefeed zed zze eefgeefee ezee ezfgdZedeeefeZeed<edeeefeZeed<ej:5ej<dede\ZZZZej?eeegeed zed zze eegddej?eeegee ezee ezgdddddejAx\e_e_x\e_e_\e_e_ejAx\e_e_x\e_e_\e_e_ejCx\e_"e_#x\e_"e_#\e_"e_#ejCx\e_$e_%x\e_$e_%\e_$e_%ejMx\e_'e_(x\e_'e_(\e_'e_(ejMx\e_)e_*x\e_)e_*\e_)e_*eddZ+eed <ed e+Z,eed!<ed"d\ZZZ-ed#d\Z.Z/ZZZ0eee-feed zed zze eee-fge.e/e-fe.e e/ze.e e/ze-fgeee-feed zed zze-d zze e-eed zed zze-d zzz e eefgeee0fee eze e0zee eze e0zee ezfge.e/e-fee.d ze-d zze e-ee.d ze-d zzz e/fgeee0fee eze0ee ezfgd$Z1ede,eee-fe1Z2eed%<ed&e,e.e/e-fe1Z3eed'<ed(e,eee0fe1Z4eed)<ej:5ej<ded*e\ZZZ-Z.Z/ZZZ0e2j?e3eee-geed zed zze eee-gdde3j?e2e.e/e-ge.e e/ze.e e/ze-gdde2j?e4eee-geed zed zze-d zze e-eed zed zze-d zzz e eegdde4j?e2eee0gee eze e0zee eze e0zee ezgdde3j?e4e.e/e-gee.d ze-d zze e-ee.d ze-d zzz e/gdde4j?e3eee0gee eze0ee ezgddddde2jA\e2_e2_e2_-e3jA\e3_.e3_/e3_-e4jA\e4_e4_e4_0e2jC\e2_"e2_#e2_5e3jC\e3_6e3_7e3_5e4jC\e4_$e4_%e4_8e2jM\e2_'e2_(e2_9e3jM\e3_:e3_;e3_9e4jM\e4_)e4_*e4_<y#1swYxYw#1swYSxYw)+atPredefined 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)Dummysymbols)sqrt)acosatan2cossin)ManifoldPatch CoordSystem) R2 R2_origin relations_2dR2_rR2_pR3 R3_origin relations_3dR3_rR3_cR3_szR^2roriginrzx yT)realz rho theta) nonnegative)) rectangularpolar)rrrrrrignorez x y r theta)clsF)inverse fill_in_gapszR^3rrzx y zzrho psi r theta phi))r cylindrical)r%r)r spherical)r&r)r%r&)r&r%rr%rr&rzx y z rho psi r theta phi)=__doc__typingrwarningssympy.core.symbolrr(sympy.functions.elementary.miscellaneousr(sympy.functions.elementary.trigonometricrrr r diffgeomr r r__all__r__annotations__rxyrthetarrrcatch_warnings simplefilter connect_tocoord_functions base_vectorse_xe_ye_re_theta base_oneformsdxdydrdthetarrzrhopsiphirrrre_ze_rhoe_psie_phidzdrhodpsidphiW/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/diffgeom/rn.pyrQsH.9LL22  5! Cx$ 3$u4 1 ;D 15!"1vQTAqD[(95A;'GH !5zAc%jL!CJ,+GH  y1a&, GcG QJ EcEX7H(#]6NAq!UOOD1a&adQTk*E!QK8!7 OOD1e*3u:qU|4!7 7:>9M9M9OO bdO %Y[)+EIEYEYE[[bh[-io0B FJEVEVEXXX- 0B$(QUQbQbQdd d5Y]I$58N$,@D?Q?Q?SS ruS)y|Y\,)>$?$'$)#*%&uc?$%c%jL#qU|#D#F# *  y1a)\ JcJ  y3Q- NcN  YE3 NcNX7H(#'./JPU'V$Aq!S#q%OOD1a)adQTk*E!QK;!7 OOD3Q-SXs3s8|Q7!7 OOD1a)adQTkAqD014 $QTAqD[1a4%7 8994:;@A;H!7 OOD1eS/3u:c#h.#!3#1##&s81,-.s5z\;!7  OOD3Q-c1fq!tm,d1T#q&1a4-5H3H.I3O!7 OOD1eS/3u:sAc%jL9!7-76--/!113$(DF#335 DH $002$(DH#'#4#4#6  DJ%)%6%6%8"$, !..0$' $ 2 2 4 49dg"&"4"4"6diI77z77sA>\!F\.!\+.\8