积分求和规则的矛盾疑问:Mathematica计算结果与理论推导不符
嗨,我来帮你拆解这个看似矛盾的问题~
你观察到的代数化简没错:把左边两个积分的被积函数相减,确实能得到右边的被积函数,但为什么Mathematica计算出来的结果不相等呢?核心问题出在反常积分的收敛性上!
咱们先看积分区域:x∈[-2,1],y∈[0,3],这时候直线y=x刚好穿过这个区域(当x∈[0,1]时,y=x落在y的取值范围内)。而左边两个积分的被积函数里都有1/(x-y)项,在y=x处会趋向无穷大,这意味着这两个积分都是反常积分——普通积分的线性规则(∫(f-g)=∫f-∫g)只在两个积分都收敛的情况下才成立,但这里的两个单独积分其实是发散的!
举个简单的类比:比如∫₋₁¹ 1/x dx,这个积分本身是发散的,但如果是∫₋₁¹ (1/x - 1/x)dx,结果显然是0。但你不能直接说∫₋₁¹1/x dx - ∫₋₁¹1/x dx=0,因为两个发散的积分做减法是没有意义的,只有当把它们作为一个整体(抵消发散部分后),才能得到收敛的结果。
回到你的问题,咱们把被积函数拆开看:log(x²-y²)=log|x-y| + log|x+y|,左边第一个积分的被积函数可以拆成:x/(x-y)log|x-y| + x/(x-y)log|x+y|
第二个积分的被积函数拆成:y/(x-y)log|x-y| + y/(x-y)log|x+y|
相减之后,x/(x-y)log|x-y| - y/(x-y)log|x-y|这一项,代数上等于log|x-y|,但单独看这两个子项,在y=x附近(令t=x-y,t→0),它们的行为近似于y/t log|t|,积分∫log|t|/t dt在t→0时是发散的(原函数是(1/2)(log|t|)²,趋向无穷)。也就是说,左边两个积分各自都包含发散的部分,只有当把它们放在一起相减时,发散的部分才会抵消,得到一个收敛的积分;但Mathematica单独计算每个积分时,要么无法处理这种发散,要么计算的是柯西主值,而两个主值的差并不等于合并后积分的结果——因为发散部分的抵消只能在整体运算中生效,单独计算时发散项会导致结果偏离预期。
简单来说:反常积分的线性运算有前提,必须所有积分都收敛才行。你遇到的情况就是两个发散积分的差得到了收敛积分,但单独计算发散积分的结果,自然和合并后的收敛积分结果不相等啦。
备注:内容来源于stack exchange,提问作者Yair

