Jacobian矩阵

在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式。 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中。 它们全部都以数学家卡尔·雅可比(Carl Jacob, 1804年10月4日-1851年2月18日)命名;英文雅可比量”Jacobian”可以发音为[ja ˈko bi ən]或者[ʤə ˈko bi ən]。

I. 雅可比矩阵

雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近。 因此, 雅可比矩阵类似于多元函数的导数。

假设 \(F: {R_n} \to {R_m}\) 是一个从欧式n维空间转换到欧式m维空间的函数。 这个函数由m个实函数组成:\(y_1(x_1,\cdots,x_n), \cdots , y_m(x_1,\cdots ,x_n)\) 。 这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵, 这就是所谓的雅可比矩阵1

\[ \begin{bmatrix} \frac{\partial y_1}{\partial x_1} \cdots \frac{\partial y_1}{\partial x_n} \\ \vdots \ddots \vdots \\ \frac{\partial y_m}{\partial x_1} \cdots \frac{\partial y_m}{\partial x_n} \end{bmatrix} \]

此矩阵表示为: \({J_F}({x_1}, \ldots ,{x_n})\), 或者 \(\frac{\partial ({y_1}, \ldots , {y_m})}{\partial ({x_1}, \ldots , {x_n})}\)

这个矩阵的第i行是由梯度函数的转置 \(y_i(i=1, \ldots, m)\) 表示的。

如果 \({\bf{p} }\)\({R_n}\) 中的一点, \(F\)\({\bf{p} }\) 点可微分, 那么在这一点的导数由 \({J_F}({\bf{p} })\) 给出(这是求该点导数最简便的方法)。 在此情况下, 由 \(F({\bf{p} })\) 描述的线性算子即接近点 \({\bf{p} }\)\(F\) 的最优线性逼近, \({\bf{x} }\) 逼近于 \({\bf{p} }\) :

\[F({\bf{x} }) \approx F({\bf{p} }) + {J_F}({\bf{p} }) \cdot ({\bf{x} } \cdot {\bf{p} })\]

II. 雅可比行列式

如果m = n, 那么\(F\)是从n维空间到n维空间的函数, 且它的雅可比矩阵是一个方块矩阵。 于是我们可以取它的行列式, 称为雅可比行列式。

在某个给定点的雅可比行列式提供了 在接近该点时的表现的重要信息。 例如, 如果连续可微函数\(F\)\({\bf{p} }\) 点的雅可比行列式不是零, 那么它在该点附近具有反函数。 这称为反函数定理。 更进一步, 如果 \({\bf{p} }\) 点的雅可比行列式是正数, 则\(F\)\({\bf{p} }\) 点的取向不变;如果是负数, 则\(F\)的取向相反。 而从雅可比行列式的绝对值, 就可以知道函数 \(F\)\({\bf{p} }\) 点的缩放因子;这就是为什么它出现在换元积分法中。

对于取向问题可以这么理解, 例如一个物体在平面上匀速运动, 如果施加一个正方向的力\(F\), 即取向相同, 则加速运动, 类比于速度的导数加速度为正;如果施加一个反方向的力 \(F\) , 即取向相反, 则减速运动, 类比于速度的导数加速度为负。

III. 雅可比求矩阵特征值和特征向量

Jacobi迭代求矩阵特征值和特征向量+C代码矩阵的特征值和特征向量的雅克比算法C/C++实现

矩阵的特征值和特征向量是线性代数以及矩阵论中非常重要的一个概念。在遥感领域也是经常用到,比如多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量。

根据普通线性代数中的概念,特征值和特征向量可以用传统的方法求得,但是实际项目中一般都是用数值分析的方法来计算,这里介绍一下雅可比迭代法求解特征值和特征向量。

IV. MATLAB计算雅可比

计算雅可比(Jacobi)矩阵及其行列式的MATLAB方法2

1
2
3
4
5
6
7
8
9
10
11
12
syms x y z
T=[x y z]; u=3*(x-1)^2*exp(-(x+1)^2-y^2);
v=x^2-2*x+y^2+2*z+1; w=3*x*y*z;
f=[u;v;w];
Jfv=jacobian (f,T)

x=2;y=1;z=5;

%雅可比矩阵
Jfv=[6*(x-1)*exp(-(x+1)^2-y^2)+3*(x-1)^2*(-2*x-2)*exp(-(x+1)^2-y^2),-6*(x-1)^2*y*exp(-(x+1)^2-y^2),0;2*x-2,2*y,2;3*y*z,3*x*z,3*x*y]
%雅可比行列式
Jfd215=det(Jfv)
1
2
3
4
5
6
7
8
9
10
11
12
13
syms x y z i j k dx dy dz
T=[x y z];
f=3*(x-1)^2*exp(-(x+1)^2-y^2)+3*x*y*z+x^2-2*x+y^2+2*z+1;
Jfv=jacobian (f,T);
%全微分
Df= Jfv*[dx dy dz]',
%一阶偏导数ux, uy, uz
ux= Jfv(1), uy= Jfv(2), uz= Jfv(3),
d=[i j k];
%梯度gradf
gradf=Jfv*d',
%沿向量V=(2,1,5)的方向导数Fxdf
V=[2,1,5]; Fxdf=Jfv*V'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
syms i j k dx dy dz,x=2;y=1;z=5;

% x=2;y=1;z=5处的全微分Df
Df=(6*(x-1)*exp(-(x+1)^2-y^2)+3*(x-1)^2*(-2*x-2)*exp(-(x+1)^2-y^2)+3*y*z+2*x-2)*conj(dx)+(-6*(x-1)^2*y*exp(-(x+1)^2-y^2)+3*x*z+2*y)*conj(dy)+(3*x*y+2)*conj(dz)

% x=2;y=1;z=5处的一阶偏导数ux, uy, uz
ux=6*(x-1)*exp(-(x+1)^2-y^2)+3*(x-1)^2*(-2*x-2)*exp(-(x+1)^2-y^2)+3*y*z+2*x-2
uy=-6*(x-1)^2*y*exp(-(x+1)^2-y^2)+3*x*z+2*y
uz=3*x*y+2

% x=2;y=1;z=5处的梯度gradf和
gradf=-i*(6*(x-1)*exp(-(x+1)^2-y^2)+3*(x-1)^2*(-2*x-2)*exp(-(x+1)^2-y^2)+3*y*z+2*x-2)-i*(-6*(x-1)^2*y*exp(-(x+1)^2-y^2)+3*x*z+2*y)+(3*x*y+2)*conj(k)

% x=2;y=1;z=5处的沿向量V=(2,1,5)的方向导数Fxdf
Fxdf=12*(x-1)*exp(-(x+1)^2-y^2)+6*(x-1)^2*(-2*x-2)*exp(-(x+1)^2-y^2)+6*y*z+4*x+6-6*(x-1)^2*y*exp(-(x+1)^2-y^2)+3*x*z+2*y+15*x*y