雅可比矩阵在积分换元中的应用

1.雅可比矩阵和雅可比行列式

雅可比矩阵可以理解为一个向量对另一个向量的微分,例如对于向量
y = [ f 1 ( x 1 , x 2 , ⋯   , x n ) f 2 ( x 1 , x 2 , ⋯   , x n ) ⋮ f m ( x 1 , x 2 , ⋯   , x n ) ] y=\left[ \begin{matrix} \begin{matrix} \begin{matrix} {{f}_{1}}({{x}_{1}},{{x}_{2}},\cdots ,{{x}_{n}}) \\ {{f}_{2}}({{x}_{1}},{{x}_{2}},\cdots ,{{x}_{n}}) \\ \end{matrix} \\ \vdots \\ \end{matrix} \\ {{f}_{m}}({{x}_{1}},{{x}_{2}},\cdots ,{{x}_{n}}) \\ \end{matrix} \right] y= f1(x1,x2,,xn)f2(x1,x2,,xn)fm(x1,x2,,xn)
和向量 x = [ x 1 x 2 ⋯ x n ] T x={{\left[ \begin{matrix} \begin{matrix} {{x}_{1}} & {{x}_{2}} \\ \end{matrix} & \cdots & {{x}_{n}} \\ \end{matrix} \right]}^{T}} x=[x1x2xn]T,则 x → y x\to y xy的雅可比矩阵可表示为
J = ∂ y ∂ x T = [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 ⋯ ∂ f 1 ∂ x n ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 ⋯ ∂ f 2 ∂ x n ⋮ ⋮ ⋮ ⋮ ∂ f m ∂ x 1 ∂ f m ∂ x 2 ⋯ ∂ f m ∂ x n ]   J=\frac{\partial y}{\partial {{x}^{T}}}=\left[ \begin{matrix} \frac{\partial {{f}_{1}}}{\partial {{x}_{1}}} & \frac{\partial {{f}_{1}}}{\partial {{x}_{2}}} & \cdots & \frac{\partial {{f}_{1}}}{\partial {{x}_{n}}} \\ \frac{\partial {{f}_{2}}}{\partial {{x}_{1}}} & \frac{\partial {{f}_{2}}}{\partial {{x}_{2}}} & \cdots & \frac{\partial {{f}_{2}}}{\partial {{x}_{n}}} \\ \vdots & \vdots & \vdots & \vdots \\ \frac{\partial {{f}_{m}}}{\partial {{x}_{1}}} & \frac{\partial {{f}_{m}}}{\partial {{x}_{2}}} & \cdots & \frac{\partial {{f}_{m}}}{\partial {{x}_{n}}} \\ \end{matrix} \right]\ J=xTy= x1f1x1f2x1fmx2f1x2f2x2fmxnf1xnf2xnfm  
则对于全微分向量 d x dx dx d y = [ d f 1 ⋯ d f m ] T dy={{\left[ d{{f}_{1}}\cdots d{{f}_{m}} \right]}^{T}} dy=[df1dfm]T有如下关系( ∗ * 表示矩阵乘法)
d y = J ∗ d x dy=J*dx dy=Jdx
m = n m=n m=n的条件下,可以定义雅可比矩阵 J J J的行列式 ∣ J ∣ \left| J \right| J

2.在积分换元中的应用

雅可比矩阵行列式在多重积分换元中的应用有如下关系
d y 1 d y 2 ⋯ d y n = ∣ J ∣ d x 1 d x 2 ⋯ d x n d{{y}_{1}}d{{y}_{2}}\cdots d{{y}_{n}}=\left| J \right|d{{x}_{1}}d{{x}_{2}}\cdots d{{x}_{n}} dy1dy2dyn=Jdx1dx2dxn
上面的这个公式就是本篇文章想要说明的核心内容。下面以二维平面的例子对上述公式进行说明(主要参考[1]),定义要求解的二重积分为
∬ S f ( x , y ) d x d y   \iint_{S}{f(x,y)}dxdy\ Sf(x,y)dxdy 
现要将 x − y x-y xy平面转化为在 u − v u-v uv平面上求解上述积分,并已知
x = f 1 ( u , v ) x={{f}_{1}}(u,v) x=f1(u,v)
y = f 2 ( u , v ) y={{f}_{2}}(u,v) y=f2(u,v)
则根据雅可比矩阵的定义有
[ d x d y ] = J [ d u d v ]   \left[ \begin{matrix} dx \\ dy \\ \end{matrix} \right]=J\left[ \begin{matrix} du \\ dv \\ \end{matrix} \right]\ [dxdy]=J[dudv] 
其中
J = [ ∂ x ∂ u ∂ x ∂ v ∂ y ∂ u ∂ y ∂ v ]   J=\left[ \begin{matrix} \frac{\partial x}{\partial u} & \frac{\partial x}{\partial v} \\ \frac{\partial y}{\partial u} & \frac{\partial y}{\partial v} \\ \end{matrix} \right]\ J=[uxuyvxvy] 
表现在二维平面上,则有以下关系
在这里插入图片描述
上图中的雅可比矩阵 J J J起到坐标变换的功能( u − v u-v uv平面中的小长方形映射到 x − y x-y xy平面上变为了平行四边形)。

在求 ∬ S f ( x , y ) d x d y \iint_{S}{f(x,y)}dxdy Sf(x,y)dxdy时, f ( x , y ) f(x,y) f(x,y)表示高度, d x d y dxdy dxdy为积分面元,在进行积分换元时, f ( x , y ) f(x,y) f(x,y) f ( f 1 ( u , v ) , f 2 ( u , v ) ) f\left( {{f}_{1}}(u,v),{{f}_{2}}(u,v) \right) f(f1(u,v),f2(u,v))替代,这两者是等价的。对于积分面元的变换,原本的积分面元是小长方形的 d x d y dxdy dxdy,变换后的积分面元同样应为小长方形,即为 d u d v dudv dudv,但根据上图所展示的,积分面元 d x d y dxdy dxdy d u d v dudv dudv很可能并不等价(经过了坐标变换的缩放和平移)。

上图中的左边小长方形面积为 d u d v dudv dudv,右边所映射的平行四边形面积为(行列式具有体积面积的几何含义,关于这一点将在本文第3节详细说明)
∣ J ( d u 0 0 d v ) ∣ = ∣ J ∣ ∣ ( d u 0 0 d v ) ∣ = ∣ J ∣ d u d v   \left| J\left( \begin{matrix} du & 0 \\ 0 & dv \\ \end{matrix} \right) \right|=\left| J \right|\left| \left( \begin{matrix} du & 0 \\ 0 & dv \\ \end{matrix} \right) \right|=\left| J \right|dudv\ J(du00dv) =J (du00dv) =Jdudv 
可以看出,积分面元 d x d y dxdy dxdy变换到 u − v u-v uv平面时,面积会缩小 ∣ J ∣ \left| J \right| J倍。因此,在将 d x d y dxdy dxdy替换为 d u d v dudv dudv时,为保证积分面积不变,需要在 d u d v dudv dudv前乘以 ∣ J ∣ \left| J \right| J,因此便得到
∬ S f ( x , y ) d x d y = ∬ S ′ f ( f 1 ( u , v ) , f 2 ( u , v ) ) ∣ J ∣ d u d v   \iint_{S}{f(x,y)}dxdy=\iint_{S'}{f\left( {{f}_{1}}(u,v),{{f}_{2}}(u,v) \right)}\left| J \right|dudv\ Sf(x,y)dxdy=Sf(f1(u,v),f2(u,v))Jdudv 
值得注意的是
d x d y = ( ∂ x ∂ u d u + ∂ x ∂ v d v ) ⋅ ( ∂ y ∂ u d u + ∂ y ∂ v d v ) ≠ ∣ J ∣ d u d v   dxdy=\left( \frac{\partial x}{\partial u}du+\frac{\partial x}{\partial v}dv \right)\cdot \left( \frac{\partial y}{\partial u}du+\frac{\partial y}{\partial v}dv \right)\ne \left| J \right|dudv\ dxdy=(uxdu+vxdv)(uydu+vydv)=Jdudv 
这一点非常容易令人疑惑,实际上, d x d y dxdy dxdy为下图右边蓝色长方形的面积, ∣ J ∣ d u d v \left| J \right|dudv Jdudv为下图右边绿色平行四边形的面积
在这里插入图片描述
为了在积分换元时得到 d u d v dudv dudv的小长方形(或正方形),就需要求其对应映射的绿色的平行四边形的面积,而不是求 对应的蓝色长方形面积。这也说明在进行多重积分公式的积分换元时,需要考虑的是积分面元之间的坐标映射关系以及缩放比例,而不是简单的积分面积元之间的粗暴等价相乘。

3.行列式所表示的几何含义

行列式是线性代数中的基础内容,这里不给出其定义的计算方式(看着有点抽象),只给出一个计算三阶行列式的计算示例[2]:
在这里插入图片描述
关于行列式的计算方式个人感觉是挺奇怪的,据说是来源于线性方程组求解,这一点不进行深入探讨(可参考博客[3]),我们所重点关注的是其几何含义,即行列式的绝对值等于行列式中的向量所组成的平行多面体的体积。

这里依然以二维的示例进行说明(这部分内容主要参考了知乎上的文章[4])。

(手打的公式不知道什么原因不能编辑了,后面的内容截图显示)
在这里插入图片描述
在这里插入图片描述

4.应用实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以利用求数值积分的方式验证上述解析求解方式的正确性,数值求解的代码如下:

from scipy.integrate import dblquad
import numpy as np
#定义被积函数 f(x, y)
def f(y, x):
    return np.exp(y/(x+y))
#求解
result1, error = dblquad(f,                         
                        0, 1,  # y 的范围
                        lambda y: 0,      # x 的下限
                        lambda y: 1-y) # x 的上限
print(result1)  
print((np.exp(1)-1)/2) 

输出结果为

print(result1)0.8591409142295229
print((np.exp(1)-1)/2)0.8591409142295225

可以看到解析解和数值求解的结果基本一致,误差极小。如果求解积分换元后的数值积分结果:

# 定义被积函数 f(x, y)
def f(k, m):
    return np.exp(k/(k+1))*m/(k+1)**2

# 求解
result2, error = dblquad(f,                         
                        0, np.inf,  # k 的范围
                        lambda x: 0,      # m 的下限
                        lambda x: 1) # m 的上限
print(result2) 

输出结果为result2= 0.3243606366004509,很明显数值积分求解的结果是不对的(由于存在无穷的积分范围,可能会导致数值积分结果难以收敛)。这一现象说明,目前计算机和人脑的工作方式仍呈现出较为明显的不一致性,计算机擅长应对繁琐但直接的问题,而计算机在如何处理类似数学这种更为抽象的东西方面,仍有很大进步空间。

5.参考

[1]https://math.stackexchange.com/questions/4751277/how-to-show-algebraically-that-the-determinant-of-the-jacobian-the-scaling-facto?
[2] https://zhuanlan.zhihu.com/p/360292803
[3] https://blog.csdn.net /qq_17065591/article/details/107441773
[4] https:// zhuanlan.zhihu.com/p/30443024
[5]https://zhuanlan. zhihu.com /p/111501020

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值