搜档网
当前位置:搜档网 › 雅克比矩阵(Jacobi)

雅克比矩阵(Jacobi)

雅克比矩阵(Jacobi)
雅克比矩阵(Jacobi)

雅可比矩阵(Jacobi方法)

Jacobi 方法

Jacobi方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论

1) 任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得

Q T AQ = diag(λ

1 ,λ

2

,…,λ

n

) (3.1)

其中λ

i

(i=1,2,…,n)是A的特征值,Q中各列为相应的特征向量。

2) 在正交相似变换下,矩阵元素的平方和不变。即设A=(a

ij )

n×n

,Q交矩阵,

记B=Q T AQ=(b

ij )

n×n

, 则

Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角化成零并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。

1 矩阵的旋转变换

设A为n阶实对称矩阵,考虑矩阵

易见 V

ij

(φ)是正交矩阵, 记

注意到B=V

ij

A的第i,j行元素以及的第i,j列元素为

可得

≠0,取φ使得则有

如果a

ij

对A(1)重复上述的过程,可得A(2) ,这样继续下去, 得到一个矩阵序列{A(k) }。可以证明,虽然这种变换不一定能使矩阵中非对角元素零元素的个数单调增加,但可以保证非对角元素的平方和递减,我们以A与A(1)为例进行讨论。

设由式(3.4)

可得

这表明,在上述旋转变换下,非对角元素的平方和严格单调递减,因而由(3.2)可

知,对角元素的平方和单调增加。

2. Jacobi方法

通过一系列旋转变换将A变成A(k+1) ,求得A的全部特征值与特征向量的方法称为Jacobi方法。计算过程如下

1)令k=0, A(k) =A

2) 求整数i,j, 使得

3) 计算旋转矩阵

4) 计算A(k+1)

5) 计算

6) 若E(A(k+1))<ε, 则

为特征值,

Q T = (V(0) V(1)…V(k+1))T

的各列为相应的特

向量;否则,k+1=>k

返回2,重复上述过

程。

例5 用Jacobi方

法求矩阵

的特征值和特征向

量。

一般地,Jacobi法不能在有限步内将A化成对角阵,但有下面的定理。

定理3 设A为n阶使对称矩阵,对A用Jacobi法得到序列{A(k)}, 其中A(0) = A, 则

证明由Jacobi法计算过程

故有

(3.5)

另一方面,有计算A 的公式可以得到

于是有, 代入式(3.5)得

因为所以

https://www.sodocs.net/doc/d616881199.html,/zhanshi/shuzhifenxi/shuzhifenxi/4.3/szfx043.h tm

雅可比矩阵

以m个n元函数u i=u i(x1,x2,…,x n)(i=1,2,…,m)的偏导数(j=1,2,…,n)为元素的矩阵

如果把原来的函数组看作由点x=(x1,x2,…,x n)到点u=(u1,u2,…,u m)的一个变换T,则在偏导数都连续的前提之下,u随x的变化由相应的微分方程组

来描述。这是一个关于微分的线性方程组,其系数矩阵便是雅可比矩阵(J),因而可写成矩阵形式

这隐含着(J)具有微分系数的某些性质,类似于一元函数的导数。而在m=n=1的情形,它又恰好是一个一元函数的导数;所以它也是一个一元函数的导数到m个n 元函数的一种推广。因此,(J)作为微分系数或导数的推广,有时也被当作变换T 的“导数”看待并记为T┡(x)=(J)。

变换T的进一步的数量描述需要雅可比行列式。

定义

任给一个n维向量X,其范数‖X‖是一个满足下列三个条件的实数:

(1)对于任意向量X,‖X‖≥0,且‖X‖=0óX=0;

(2)对于任意实数λ及任意向量X,‖λX‖=|λ|‖X‖;

(3)对于任意向量X和Y,‖X+Y‖≤‖X‖+‖Y‖;

对于这样的,叫雅克比矩阵定义。

雅克比矩阵证明

关于这个的一般性证明稍微复杂点,现在就给你证明为什么二维的

dx(u,v)dy(u,v)=Jdudv成立

证明:对于曲面x=x(u,v),y=y(u,v),取它的微元,即小曲边四边形ABCD,其中

A(u,v),B(u+△u,v),C(u+△u,v+△v),D(u,v+△v),那么这个曲边四边形ABCD 可以近似看成是微小向量B(u+△u,v)-A(u,v)和D(u,v+△v)-A(u,v)张成的。利用中值定理可知:

(u+△u,v)-(u,v)=Mdu

(u,v+△v)-(u,v)=Ndv

这里的M,N是偏导数的形式,不好打出,你可以自己算出来,很简单的。

当变化量很小时,我们把(u+△u,v)-(u,v)近似看成dx(u,v),

(u,v+△v)-(u,v)看成dy(u,v),所以,

dx(u,v)dy(u,v)=M*Ndudv

而其中的M*N刚好就是二维Jacobi行列式的展开形式。

由此问题得证。

雅可比矩阵

在向量微积分中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,其行列式成为雅可比行列式。

还有,在代数几何中,代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个群簇,曲线可以嵌入其中。

它们全部都以数学家雅可比命名;英文雅可比量"Jacobian"可以发音为[ja ?ko bi ?n]或者[???ko bi ?n]。

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

雅可比矩阵定义:

雅可比矩阵定义为向量对向量的微分矩阵,定义式如下:见所附jpg 图片。

例:MATLAB中jacobian是用来计算Jacobi矩阵的函数。

syms r l f

x=r*cos(l)*cos(f);

y=r*cos(l)*sin(f);

z=r*sin(l);

J=jacobian([x;y;z],[r l f])

结果:

J = [ cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*sin(f)] [ cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*c os(f)] [ sin(l),

r*cos(l), 0 ]

Hessian 矩阵就是一个多元实函数的二阶导数,设f=f(x1,x2..xn) 二阶导数(d^2f/d(xi)d(xj))构成矩阵,在优化分析中常用到。 Jacobi矩阵就是一个多元矢量函数的一阶导数,如f=(f1(x1,x2..xn),...,fm(x1,x2..xn)),相应矩阵元素为d(fi)/d(xj)。在稳定点附近的稳定性分析常用到它。本质上说,以上两者是相关的Jacobi可以看作是一个多元实函数的梯度(一阶导数)的导数。

在向量微积分中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式。

还有,在代数几何中,代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群,曲线可以嵌入其中。

它们全部都以数学家卡尔·雅可比命名;英文雅可比量"Jacobian"可以发音为[ja

?ko bi ?n]或者[???ko bi ?n]。

雅可比矩阵

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

假设F:R n→R m是一个从欧式n维空间转换到欧式m维空间的函数。这个函数由m 个实函数组成: y1(x1,...,xn), ..., ym(x1,...,xn). 这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵,这就是所谓的雅可比矩阵:

此矩阵表示为:

,或者

(i=1,...,m)表示的

这个矩阵的第i行是由梯度函数的转置y

i

中的一点,F在p点可微分,那么在这一点的导数由J F(p)给出(这是如果p是R

n

求该点导数最简便的方法)。在此情况下,由

(p)描述的线性算子即接近点p的

F

F的最优线性逼近,x逼近与p

例子

由球坐标系到直角坐标系的转化由F函数给出:R× [0,π] × [0,2π] → R3

此坐标变换的雅可比矩阵是

R4的f函数:

其雅可比矩阵为:

此例子说明雅可比矩阵不一定为方矩阵。

在动力系统中

考虑形为x' = F(x)的动力系统,F : R n→ R n。如果F(x0) = 0,那么x0是一个驻点。系统接近驻点时的表现通常可以从J F(x0)的特征值来决定。

雅可比行列式

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

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

例子

设有函数F : R3→ R3,其分量为:

则它的雅可比行列式为:

从中我们可以看到,当x1和x2同号时,F的取向相反;该函数处处具有反函数,除了在x1 = 0和x2= 0时以外。

参看

海森矩阵

Jacobi阵和Hessian阵可谓是用途广泛。不仅是在优化问题中常用,在各种多元问题中一般都常遇到。比如在求解非线性方程组时,两者会经常被使用。关于它们的定义和用法,推荐参看李庆扬等写的《非线性方程组的数值解法》。

楼主可参看R.A.Horn的矩阵分析卷一

雅可比矩阵

雅可比矩阵定义:

雅可比矩阵定义为向量对向量的微分矩阵,定义式如下:

见所附jpg图片。

雅克比矩阵在有限单元法中指的是全局坐标对局部坐标的偏导数,我们在由节点位移求解节点应变的时候会碰到形函数对整体坐标的偏导问题,即求解B矩阵,由于形函数对整体坐标的偏导比较难求,我们可以先求形函数对局部坐标的偏导数,然后利用雅克比矩阵转化为形函数对整体坐标的偏导数。雅克比矩阵其实质和泛函求导数中泛函中的变量对自变量的导数是一样的。只不过一个是矩阵,一个数数值而已。在空间问题8节点的线性单元中,雅克比矩阵是3*3得矩阵。我们在计算过程中还经常用到雅克比行列式的值,它用来判断单元是否畸形,一般雅克比行列式为正,则说明单元形态较好,反之单元形态不好。雅克比方法是解决线性方程组的一种迭代方法,当现行方程组的阶数较高时,用直接法解方程组时可能误差较大,就要采用迭代方法。不过雅克比迭代不是一种很高效的迭代方法,高斯 -塞德尔迭代方法较其效率要高。

雅克比矩阵必然是n*n的矩阵,因为局部坐标和全局坐标之间的变量的数量永远是相同的

在一般的应用过程中,局部坐标和整体坐标线性无关且数目相等,所以雅克比矩阵是方阵,并且行列式不恒为零。但是,从纯数学的角度讲,如果允许广义坐标之间线性相关,那么雅克比矩阵可能不是方阵,即使是方阵,行列式也可能恒为零。

讨论Jacobi矩阵不能仅限于有限元。应用数学上是这样定义的:设有n个变元的m个函数yi=fi(x1,x2,......,xn) (i=1,2,......,m),

A=D(y1,...,ym)/D(x1,...xn)称为上式的Jacobi矩阵。m和n是可以不同的。其实局部坐标和全局坐标的变量的数量是可以不同的,例如三角形单元的面积坐标和四面体单元的体积坐标,因为面积坐标和体积坐标都不是完全独立的,其分量的和都是1。

在有限元中,通过变量替换,使得Jacobi矩阵成为方阵,是为了求其逆矩阵的需要。只是在有限元中是这样用的而已。

不过Jacobi矩阵J的行列式|J|何时为常数?我一直弄不清楚。书上说二维情形

下的矩形和平行四边形单元的|J|是常数,三维情形下的正六面体或平行六面体单元的|J|不是常数,请问从理论上怎么理解呢?最好不是数学推导的结果。

回楼上的兄弟:

雅克比矩阵的行列式|J|为常数,就是里头的每个元素都为常数,以二维等参单元的自然坐标和平面坐标为例,J(1,1)=∑Ni'ζ(ζ,η)Xi,只要插值函数Ni是ζ的一次函数,则不管任何点(ζ,η)上的J(1,1)都是常数。所以插值函数只要是单维线性的,雅克比矩阵的行列式就是常数。

ljz0702 2006-7-23 11:32

雅可比矩阵的作用是什么?

如题,请教雅可比矩阵和弹塑性矩阵的区别,以及在材料的本构关系中为什么有的时候用雅可比矩阵,有时用弹塑性矩阵?谢谢不吝赐教!!!

camus 2006-7-27 17:22

在等参单元中[J]反映的是整体坐标与局部坐标的转换关系。;ZeQ-odCn@

弹塑性矩阵反映的是材料的性质与弹模和泊松比有关;

在[b]计算刚度[/b]矩阵时用到了[B]T [D] [B] J 行列式的局部坐标下的积分b|H2w'K~

而弹塑性矩阵是在[b]计算应力[/b]时用到[D][e]

怎么理解海森矩阵和雅可比矩阵

首先类比一下一维。Jacobian相当于一阶导数,Hessian相当于二阶导数。一维函数的导数的motivation是很明显的。二阶导数的零点就是一阶导数的极值点。对于很多应用,我们不仅关心一阶导数的零点(也就是函数的极值点),也关心一阶导数的极值点,比如信号处理中,信号的一阶导数的极值点反映信号变化的最剧烈程度。极值点寻求在编程时不方便,不如找二阶导数的零点。

Jacobian对于标量函数f: Rn-> R1,实际是个向量,这个向量实际上就是函数的梯度gradient。gradient根据Cauchy-Swartz公式,指向的是在某处方向导数取极大值的方向。在二维图像处理中,可用gradient来检测灰度值的边缘。对于向量场F: Rn-> Rm, Jacobian的每一行实际都是一个梯度。且有 F

(X)=F(P)+J(P)(X-P)+O(||X-P||) 这个式子的每一行都是一个分量的局部线性化。

考虑一个二维的数字图像线性变换(Homography, image warping), 以有限差分代替微分,可作类似分析。

H: 像素(x,y)-->像素(u,v)

u=u(x,y) v=v(x,y)

则其Jacobian为

[ u'(x) u'(y)]

[ v'(x) v'(y)]

反映了局部图像的变形程度。

最理想的情况 u'(x)=1,v'(y)=1,u'(y)=0,v'(x)=0.说明图像维持原状。

由于 dudv=|det(Jacobian(x,y))|dxdy (此式的有效性可参考换元法)[注:]有的书上称det(Jacobian(x,y))为Jacobian.

说明面积微元改变的程度由|det(Jacobian(x,y))|决定

当|det(Jacobian(x,y))|=1时,说明面积不变,

当|det(Jacobian(x,y))|<1时,说明面积压缩,出现了像素丢失现象。

当|det(Jacobian(x,y))|>1时,说明面积扩张,需要进行像素插值。

另外,由Jacobian矩阵的特征值或奇异值,可作类似说明。可参考

Wielandt-Hoffman定理

Hessian矩阵定义在标量函数上,对于矢量函数,则成为一个rank 3的张量。

ls的解释很好 Jacobian和Hessian就好比单变量标量函数情况下的一阶导数和二阶导数能很好的概括函数的极值点和单调性

Hessian矩阵有一个特例是Fisher Information Matrix, 也叫Information Matrix,

是对对数似然函数的Hessian矩阵求期望得到的, 衡量了分布中信息量的大小, 在统计中非常有用.

雅克比矩阵(Jacobia matrix)以m个n元函数的偏导数

为元素的矩阵

如果把原来的函数组看作由点到点的一个变换T,则在偏导数都连续的前提之下,u随x的变化由相应的微分方程组来描述。这是一个关于微分的线性方程组,其系数矩阵便是雅克比矩阵(J),因而可写成矩阵形式

正交矩阵

正交矩阵是实数特殊化的酉矩阵,因此总是正规矩阵。尽管我们在这里只考虑实数矩阵,这个定义可用于其元素来自任何域的矩阵。正交矩阵毕竟是从内积自然引出的,对于复数的矩阵这导致了归一要求。

定义定义 1

如果:AA'=E(E为单位矩阵,A'表示“矩阵A的转置矩阵”。)或A′A=E,则n 阶实矩阵 A称为正交矩阵,若A为正交阵,则满足以下条件:

1) A 是正交矩阵

2) AA′=E(E为单位矩阵)

3) A′是正交矩阵

4) A的各行是单位向量且两两正交

5) A的各列是单位向量且两两正交

6) (Ax,Ay)=(x,y) x,y∈R

正交矩阵通常用字母Q表示。

举例:A=[r11 r12 r13;r21 r22 r23;r31 r32 r33]

则有:r11^2+r12^2+r13^2=r21^2+r22^2+r23^2=r31^2+r32^2+r33^2=1

r11*r12+r21*r22+r31*r32=0等性质

正交方阵是欧氏空间中标准正交基到标准正交基的过渡矩阵。

在矩阵论中,实数正交矩阵是方块矩阵Q,它的转置矩阵是它的逆矩阵:

,如果正交矩阵的行列式为 +1,则我们称之为特殊正交矩阵:

概述

要看出与内积的联系,考虑在n维实数内积空间中的关于正交基写出的向量v。v的长度的平方是vv。如果矩阵形式为Q v的线性变换保持了向量长度,则

所以有限维线性等距同构,比如旋转、反射和它们的组合,都产生正交矩阵。反过来也成立: 正交矩阵蕴涵了正交变换。但是,线性代数包括了在既不是有限维的也不是同样维度的空间之间的正交变换,它们没有等价的正交矩阵。

有多种原由使正交矩阵对理论和实践是重要的。n×n正交矩阵形成了一个群,即指示为O(n) 的正交群,它和它的子群广泛的用在数学和物理科学中。例如,分子的点群是O(3) 的子群。因为浮点版本的正交矩阵有有利的性质,它们是字数值线性代数中很多算法比如 QR分解的关键,通过适当的规范化,离散余弦变换(用于MP3压缩)可用正交矩阵表示。

例子

下面是一些小正交矩阵的例子和可能的解释。

恒等变换。旋转 16.26°。针对x轴反射。旋转反演(rotoinversion): 轴(0,-3/5,4/5),角度90°。置换坐标轴。

基本构造

低维度

最简单的正交矩阵是 1×1 矩阵 [1] 和 [?1],它们可分别解释为恒等和实数线针对原点的反射。

如下形式的 2×2 矩阵

它的正交性要求满足三个方程

在考虑第一个方程时,不丢失一般性而设p = cos θ, q = sin θ;因此要么t = ?q, u = p要么t = q, u = ?p。我们可以解释第一种情况为旋转θ(θ = 0 是单位矩阵),第二个解释为针对在角θ/2 的直线的反射。

旋转反射在 45°的反射对换x和y;它是置换矩阵,在每列和每行带有一个单一的 1(其他都是 0):

单位矩阵也是置换矩阵。

反射是它自己的逆,这蕴涵了反射矩阵是对称的(等于它的转置矩阵)也是正交的。两个旋转矩阵的积是一个旋转矩阵,两个反射矩阵的积也是旋转矩阵。

更高维度

不管维度,总是可能把正交矩阵按纯旋转与否来分类,但是对于 3×3 矩阵和更高维度矩阵要比反射复杂多了。例如,

和表示通过原点的反演和关于z轴的旋转反演(逆时针旋转90°后针对x-y 平面反射,或逆时针旋转 270°后对原点反演)。

旋转也变得更加复杂;它们不再由一个角来刻画,并可能影响多于一个平面子空间。尽管经常以一个轴和角来描述 3×3 旋转矩阵,在这个维度旋转轴的存在是偶然的性质而不适用于其他维度。

但是,我们有了一般适用的基本建造板块如置换、反射、和旋转。

基本变换

最基本的置换是换位(transposition),通过交换单位矩阵的两行得到。任何n×n置换矩阵都可以构造为最多n?1 次换位的积。构造自非零向量v的Householder反射为

这里的分子是对称矩阵,而分母是v的平方量的一个数。这是在垂直于v 的超平面上的反射(取负平行于v任何向量分量)。如果v是单位向量,则Q= I?2vv就足够了。Householder 反射典型的用于同时置零一列的较低部分。任何n×n正交矩阵都可以构造为最多n次这种反射的积。

Givens旋转作用于由两个坐标轴所生成的二维(平面)子空间上,按选定角度旋转。它典型的用来置零一个单一的次对角线元素(subdiagonal entry)。任何n×n的旋转矩阵都可以构造为最多n(n?1)/2 次这种旋转的积。在 3x3 矩阵的情况下,三个这种旋转就足够了;并且通过固定这个序列,我们可以用经常叫做欧拉角的三个角来(尽管不唯一)描述所有 3×3 旋转矩阵。

雅可比旋转有同 Givens 旋转一样的形式,但是被用做相似变换,选择来置零 2×2 子矩阵的两个远离对角元素(off-diagonal entry)。

性质

矩阵性质

实数方块矩阵是正交的,当且仅当它的列形成了带有普通欧几里得点积的欧几里得空间R的正交规范基,它为真当且仅当它的行形成R的正交基。假设带有正交(非正交规范)列的矩阵叫正交矩阵可能是诱人的,但是这种矩阵没有特殊价值而没有特殊名字;他们只是MM = D,D是对角矩阵。

任何正交矩阵的行列式是 +1 或?1。这可从关于行列式的如下基本事实得出:

反过来不是真的;有 +1 行列式不保证正交性,即使带有正交列,可由下列反例证实。

对于置换矩阵,行列式是 +1 还是?1 匹配置换是偶还是奇的标志,行列式是行的交替函数。

比行列式限制更强的是正交矩阵总可以是在复数上可对角化来展示特征值的完全的集合,它们全都必须有(复数)绝对值1。

正交矩阵的逆是正交的,两个正交矩阵的积是正交的。事实上,所有n×n正交矩阵的集合满足群的所有公理。它是n(n?1)/2 维的紧致李群,叫做正交群并指示为O(n)。

行列式为 +1 的正交矩阵形成了路径连通的子群指标为 2 的O(n)正规子群,叫做旋转的特殊正交群SO(n)。商群O(n)/SO(n) 同构于O(1),带有依据行列式选择 [+1] 或 [?1] 的投影映射。带有行列式?1 的正交矩阵不包括单位矩阵,所以不形成子群而只是陪集;它也是(分离的)连通的。所以每个正交群被分为两个部分;因为投影映射分裂,O(n) 是SO(n) 与O(1)的半直积。用实用术语说,一个相当的陈述是任何正交矩阵可以通过采用一个旋转矩阵并可能取负它的一列来生成,如我们在 2×2 矩阵中看到的。如果n是奇数,则半直积实际上是直积,任何正交矩阵可以通过采用一个旋转矩阵并可能取负它的所有列来生成。

现在考虑 (n+1)×(n+1) 右底元素等于 1 的正交矩阵。最后一列(和最后一行)的余下元素必须是零,而任何两个这种矩阵的积有同样的形式。余下的矩阵是n×n正交矩阵;因此O(n) 是O(n+1) (和所有更高维群)的子群。

因为 Householder 正交矩阵形式的基本反射可把任何正交矩阵简约成这种约束形式,一系列的这种反射可以把任何正交矩阵变回单位矩阵;因此正交群是反射群。最后一列可以被固定为任何单位向量,并且每种选择给出不同的O(n) 在O(n+1) 中的复本;以这种方式O(n+1) 是在单位球S与纤维O(n) 上的丛。

类似的,SO(n) 是SO(n+1) 的子群;任何特定正交矩阵可以使用类似过程通过 Givens 平面旋转来生成。丛结构持续: SO(n) ?SO(n+1) →S。一个单一旋转可以在最后一列的第一行生成一个零,而n?1 次旋转序列将置零n×n旋转矩阵的除了最后一列的最后一行的所有元素。因为平面是固定的,每次旋转只有一个自由度,就是它的角度。通过归纳,SO(n) 因此有

自由度,O(n) 也是。

置换矩阵简单一些;它们不形成李群,只是一个有限群,n! 次对称群Sn。通过同类的讨论,Sn是Sn+1 的子群。偶置换生成行列式 +1 的置换矩阵的子群,n!/2 次交错群。

规范形式

更广泛的说,任何正交矩阵的效果分离到在正交二维空间上的独立动作。就是说,如果Q是狭义正交的,则你可以找到(旋转)改变基的一个正交矩阵P,把Q带回到分块对角形式:

(n偶数), (n奇数)。这里的矩阵R1,...,Rk是 2×2 旋转矩阵,而余下的元素是零。作为例外,一个旋转块可以是对角的,±I。因此如果需要的话取负一列,并注意 2×2 反射可对角化为 +1 和?1,任何正交矩阵可变为如下形式

, 矩阵R1,…,Rk给出位于复平面中单位圆上的特征值的共轭对;所以这个分解复合确定所有带有绝对值 1 的特征值。如果n是奇数,至少有一个实数特征值 +1 或?1;对于 3×3 旋转,关联着 +1 的特征向量是旋转轴。

数值线性代数

数值分析自然的利用了正交矩阵的很多数值线性代数的性质。例如,经常需要计算空间的正交基,或基的正交变更;二者都采用了正交矩阵的形式。有行列式±1 和所有模为 1 的特征值是对数值稳定性非常有利的。一个蕴涵是条件数为 1 (这是极小的),所以在乘以正交矩阵的时候错误不放大。很多算法为此使用正交矩阵如 Householder反射和 Givens旋转。有帮助的不只是正交矩阵是可逆的,还有它的逆矩阵本质上是免花费的,只需要对换索引(下标)。

置换是很多算法成功的根本,包括有局部定支点(partial pivoting)的运算繁重的高斯消去法(这里的置换用来定支点)。但是它们很少明显作为矩阵出现;它们的特殊形式允许更有限的表示,比如n个索引的列表。

同样的,使用 Householder 和 Givens 矩阵的算法典型的使用特殊方法的乘法和存储。例如,Givens 旋转只影响它所乘的矩阵的两行,替代完全的n次的矩阵乘法为更有效的n次运算。在使用这些反射和旋转向矩阵介入零的时候,腾出的空间足够存储充足的数据来重生成这个变换。

分解

一些重要的矩阵分解(Golub & Van Loan, 1996)涉及到了正交矩阵,包括:

QR分解M = QR, Q正交,R上三角。奇异值分解M = UΣV, U和V正交,Σ非负对角。谱分解S = QΛQ, S对称,Q正交,Λ对角。极分解M= QS, Q 正交,S对称非负确定。

逆矩阵

逆矩阵:设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。则我们称B是A的逆矩阵,而A则被称为可逆矩阵。

矩阵可逆的条件A是可逆矩阵的充分必要条件是∣A∣≠0,即可逆矩阵就是非奇异矩阵。(当∣A∣=0时,A称为奇异矩阵)[1]

逆矩阵的求法:

A^(-1)=(1/|A|)×A* ,其中A^(-1)表示矩阵A的逆矩阵,其中|A|为矩阵A 的行列式,A*为矩阵A的伴随矩阵。

逆矩阵的另外一种常用的求法:

(A|E)经过初等变换得到(E|A^(-1))。

注意:初等变化只用行运算,不能用列运算。E为单位矩阵。

逆矩阵具有以下性质:

1 矩阵A可逆的充要条件是A的行列式不等于0。

2可逆矩阵一定是方阵。

3 如果矩阵A是可逆的,A的逆矩阵是唯一的。

4 可逆矩阵也被称为非奇异矩阵、满秩矩阵。

5 两个可逆矩阵的乘积依然可逆。

6 可逆矩阵的转置矩阵也可逆。

7矩阵可逆当且仅当它是满秩矩阵。

matlab中的求法:

inv(a)或a^-1。

例如:

>> a =

8 4 9

2 3 5

7 6 1

>> a^-1

ans =

0.1636 -0.3030 0.0424

-0.2000 0.3333 0.1333

0.0545 0.1212 -0.0970

>> inv(a)

ans =

0.1636 -0.3030 0.0424

-0.2000 0.3333 0.1333

0.0545 0.1212 -0.0970

以下是对MATLAB中Inv用法的解释。

原文(来自matlab help doc)

In practice, it is seldom necessary to form the explicit inverse of a matrix. A frequent misuse of inv

arises when solving the system of linear equations A x=B .

One way to solve this is with x = inv(A)*B.A better way, from both an execution time and numerical accuracy standpoint,is to use the matrix division operator x = A\b.

实际上,很少需要矩阵逆的精确值。在解方程 A x=B的时候可以使用x = inv(A)*B,

但通常我们求解这种形式的线性方程时,不必要求出A的逆矩阵,在MATLAB 中精度更高,速度更快的方法是用左除——x = A\b。

另外,用LU分解法的速度更快,只是要多写一条LU分解语句。

速度可以通过matlab中tic和toc来估算运行的时间。

相关主题