Python реализация оператора angular импульса - PullRequest
0 голосов
/ 20 июня 2020

Оператор angular импульса в направлении z - это xD_y-yD_x, то есть «x, умноженное на y-производную минус y, умноженное на x-производную».

Кодирование в Python, я хочу чтобы применить этот оператор к функции f (x, y), которая у меня есть как матрица. x и y являются np.arrays.

Я написал следующее:

X=np.outer(x,np.ones(len(y)-1))
Dy=np.diff(f,1,1)/(x[1]-x[0])
xdy=X*Dy

Y=np.outer(np.ones(len(x)-1),y)
Dx=np.diff(f,1,0)/(y[1]-y[0])
ydx=Y*Dx

X - матрица функции, которая равна x во всех точках (x, y), и Dy является y-производной f. Я уменьшаю размер y на 1, потому что это то, что делает diff, чтобы я мог умножить X и Dy.

Аналогично, Y - матрица функции, которая равна y во всех точках (x, y), а Dx - производная по x.

Правильна ли эта реализация? Есть способ попроще?

...