2
我試圖按照我自己的例子在sympy.diffgeom中的文檔。我嘗試使用笛卡爾座標和環形座標,而不是使用笛卡爾座標和極座標。使用sympy.diffgeom.CoordSystem連接兩個座標系
這裏是從IPython的會話我的代碼:
from sympy.diffgeom import Manifold, Patch, CoordSystem
from sympy.abc import theta, eta, psi
import sympy as sym
x,y,z,a = sym.symbols("x y z a")
m = Manifold("M",2)
patch = Patch("P",m)
cartesian = CoordSystem("cartesian",patch)
toroidal = CoordSystem("toroidal",patch)
from sympy import sin,cos,sinh,cosh
toroidal.connect_to(cartesian,[eta,theta,psi],
[(a*sinh(eta)*cos(psi))/(cosh(eta) - cos(theta)),
(a*sinh(eta)*sin(psi))/(cosh(eta) - cos(theta)),
(a*sin(theta))/(cosh(eta) - cos(theta))])
當我嘗試在本地執行的最後一行,代碼簡單地運行不休。 爲什麼這不起作用?
我的目的是找到度量G和用它來確定黎曼曲率張量。我已經實現了可以找到度量的代碼。 我測試了代碼並返回了度量的正確條目。就個人而言,我寧願寫自己的實現來確定黎曼曲率張量,但由於在sympy.diffgeom中有一個實現,我很樂意爲上面描述的座標系測試它。 – imranal
你在2維或3維工作嗎?爲什麼你聲明你的流形是二維的,但是傳遞了3個參數給connect_to()方法? –
啊,我忘了改變歧管的尺寸。它應該是3!感謝您注意! – imranal