我有一些多元积分操作,我想用Maple验证,但我似乎无法让它调用Divergence定理(又名高斯定理;斯托克斯定理的特殊情况;部分积分的概括,格林定理。
例如,考虑Dirichlet energy:
E(v)=∫∇v.∇vdA=-∫vΔvdA+∮v∇v.nds
假设我想验证Divergence定理的应用,我可以尝试在单位平方上定义相等的两边(Dirichlet
和Dirichlet2
)并检查它们的差异是否为0:
with(LinearAlgebra):
with(VectorCalculus):
Lap := (v) -> Divergence(Gradient(v,[x y])):
boundary := (v,w) -> \
eval(int(DotProduct(Multiply(w,Gradient(v,[x,y])),< 0,-1>),x=0..1),y=0) + \
eval(int(DotProduct(Multiply(w,Gradient(v,[x,y])),< 0, 1>),x=0..1),y=1) + \
eval(int(DotProduct(Multiply(w,Gradient(v,[x,y])),<-1, 0>),y=0..1),x=0)+ \
eval(int(DotProduct(Multiply(w,Gradient(v,[x,y])),< 1, 0>),y=0..1),x=1):
Dirichlet2 := (v,w) -> \
-int(Lap(v)*w,x=0..1,y=0..1) + boundary(v,w);
Dirichlet := (v,w) -> \
int(DotProduct(Gradient(v,[x,y]),Gradient(w,[x,y])),x=0..1,y=0..1):
simplify(Dirichlet(v(x,y),w(x,y)) - Dirichlet2(v(x,y),w(x,y)),size);
不幸的是,这不会返回所需的内容:
0
相反,只是一长串未评估的内部和边界积分。
我当然可以对显式函数进行验证:
Dirichlet(x^2+y^4,x^2+y^4) - Dirichlet2(x^2+y^4,x^2+y^4);
确实返回
0
(当然任何其他功能)。但是,无论如何要告诉Maple在内部调用Divergence定理?然后我可以完全象征性地验证上面的(和我的实际的,更复杂的表达式)。或者,如果没有,是否有某种方法可以重新安排我的输入以帮助枫树解决这个问题?