ClearAll["Global`*"]
PoissonBracket[f_,g_,coords_List,moms_List]:=Total[MapThread[D[f,#1]*D[g,#2]-D[f,#2]*D[g,#1]&,{coords,moms}]];
q={qx,qy,qz};
p={px,py,pz};
A={Ax[qx,qy,qz],Ay[qx,qy,qz],Az[qx,qy,qz]};
v=(1/m)*(p-e*A);
H=1/2*m*(v.v)+e*\[Phi][qx,qy,qz];
rules={D[Az,qy]-D[Ay,qz]->Bx,
D[Ax,qz]-D[Az,qx]->By,
D[Ay,qx]-D[Ax,qy]->Bz,
D[Ay,qz]-D[Az,qy]->-Bx,
D[Az,qx]-D[Ax,qz]->-By,
D[Ax,qy]-D[Ay,qx]->-Bz};
我在计算带电粒子在电磁场中运动的泊松括号时,定义了磁矢势与磁场的替换规则,但是在实际计算的时候Mathematica并没有运用这套规则,请问这个问题该如何解决呢?
PoissonBracket[f_,g_,coords_List,moms_List]:=Total[MapThread[D[f,#1]*D[g,#2]-D[f,#2]*D[g,#1]&,{coords,moms}]];
q={qx,qy,qz};
p={px,py,pz};
A={Ax[qx,qy,qz],Ay[qx,qy,qz],Az[qx,qy,qz]};
v=(1/m)*(p-e*A);
H=1/2*m*(v.v)+e*\[Phi][qx,qy,qz];
rules={D[Az,qy]-D[Ay,qz]->Bx,
D[Ax,qz]-D[Az,qx]->By,
D[Ay,qx]-D[Ax,qy]->Bz,
D[Ay,qz]-D[Az,qy]->-Bx,
D[Az,qx]-D[Ax,qz]->-By,
D[Ax,qy]-D[Ay,qx]->-Bz};
我在计算带电粒子在电磁场中运动的泊松括号时,定义了磁矢势与磁场的替换规则,但是在实际计算的时候Mathematica并没有运用这套规则,请问这个问题该如何解决呢?

