矩阵

来自testwiki
跳转到导航 跳转到搜索

Template:NoteTA Template:ScienceNavigation Template:各地中文名 Template:各地中文名 Template:各地中文名

Template:Good article 數學上,一個m×n矩陣Template:Lang-en)是一个有m-{zh-cn:行; zh-tw:列;}-(row)n-{zh-cn:列; zh-tw:行;}-(column)元素的矩形阵列。矩陣Template:里的元素可以是数字符号甚至是函数

[a11a12a13a1ja1na21a22a23a2ja2na31a32a33a3ja3nai1ai2ai3aijainam1am2am3amjamn]

大小相同(行数列数都相同)的矩阵之间可以相互加减,具体是对每个位置上的元素做加减法。矩阵乘法则较为复杂。两个矩阵可以相乘,当且仅当第一个矩阵的-{zh-cn:列; zh-tw:行;}-数等于第二个矩阵的-{zh-cn:行; zh-tw:列;}-数。矩阵乘法满足结合律分配律,但不满足交换律

矩阵的一个重要用途是解线性方程组。线性方程组中未知量的系数可以排成一个矩阵,加上常数项,则称为增广矩阵。另一个重要用途是表示线性变换,即是诸如f(x)=4x之类的線性函數的推广。设定基底后,某个向量v可以表示为m×1的矩阵,而线性变换f可以表示为-{zh-cn:列; zh-tw:行;}-数为m的矩阵A,使得经过变换后得到的向量f(v)可以表示成Av的形式。矩阵的特征值特征向量可以揭示线性变换的深层特性。

矩陣是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵在力学电路学光学量子物理等領域中都有应用;计算机科学中,三维动画制作也需要用到矩阵。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵准对角矩阵,有特定的快速运算算法。关于矩阵相关理论的发展和应用,請參考矩陣理論。在天体物理量子力学等领域,也会出现无穷维的矩阵,是矩阵的一种推广。

词源

中文中矩阵的概念最早见于1922年。1922年,北京师范大学附属中学數學老師程廷熙在一篇介绍文章中将矩阵译为“纵横阵”。1925年,在科学名词审查会算学名词审查组刊登於《科学》第十卷第四期的审定名词表中,矩阵被翻译为“矩阵式”,方块矩阵翻译为“方阵式”,而各类矩阵如“正交矩阵”、“伴随矩阵”中的“矩阵”则被翻译为“方阵”。1935年,中国数学会审查后,中华民国教育部审定的《数学名词》(并“通令全国各院校一律遵用,以昭划一”)中,“矩阵”作为译名首次出现。1938年,曹惠群在接受科学名词审查会委托就数学名词加以校订的《算学名词汇编》中,认为应当的译名是“长方阵”。1949年中华人民共和国成立后编订的《数学名词》中,则将译名定为“(矩)阵”。1993年,中国自然科学名词审定委员会公布的《数学名词》中,“矩阵”被定为正式译名,并沿用至今[1]

發展

作為解決線性方程的工具,矩陣也有不短的歷史。成书最迟在东汉前期的《九章算术》中,已经出现过以矩阵形式表示线性方程组系数以解方程的图例,可視為矩阵的雏形[2]。矩阵正式作为数学中的研究对象出现,则是在行列式的研究发展起来后。逻辑上,矩阵的概念先于行列式,但在历史上则恰好相反。日本数学家关孝和(1683年)与微積分的發現者之一戈特弗里德·威廉·萊布尼茨(1693年)近乎同时独立建立了行列式論。其后行列式作为解线性方程组的工具逐步发展。1750年,加布里尔·克拉默发现了克莱姆法则[3]

阿瑟·凯莱被认为是矩阵论的奠基人

进入十九世纪后,行列式的研究进一步发展,矩阵的概念也应运而生。奧古斯丁·路易·柯西是最早将行列式排成方阵并将其元素用双重下标表示的数学家。他还在1829年就在行列式的框架中证明了实对称矩阵特征根为实数的结论[4]。其后,詹姆斯·約瑟夫·西爾維斯特注意到,在作为行列式的计算形式以外,将数以行和列的形式作出的矩形排列本身也是值得研究的。在他希望引用数的矩形阵列而又不能用行列式来形容的时候,就用“matrix”一词来形容[3]。而在此之前,数学家已经开始将增广矩阵作为独立的对象引用了。西尔维斯特使用“matrix”一词是因为他希望讨论行列式的子式,即将矩阵的某几行和某几列的共同元素取出来排成的矩阵的行列式,所以实际上“matrix”被他看做是生成各种子式的“母-{}-体”: Template:Quote

阿瑟·凯莱被公认为矩阵论的奠基人[3]。他开始将矩阵作为独立的数学对象研究时,许多与矩阵有关的性质已经在行列式的研究中被发现,这也使得凯莱认为矩阵的引进是十分自然的。他说:“我决然不是通过四元数而获得矩阵概念的;它或是直接从行列式的概念而来,或是作为一个表达线性方程组的方便方法而来的。[3]”他从1858年开始,发表了《矩阵论的研究报告》等一系列关于矩阵的专门论文[5][6],研究了矩阵的运算律、矩阵的逆以及转置和特征多项式方程。凯莱还提出了凯莱-哈密尔顿定理,并验证了3×3矩阵的情况,又说进一步的证明是不必要的。哈密尔顿证明了4×4矩阵的情况,而一般情况下的证明是弗罗贝尼乌斯于1898年给出的[3]

此后更多数学家开始对矩阵进行研究。埃尔米特证明了如果矩阵等于其复共轭转置,则特征根为实数。这种矩阵后来被称为埃尔米特矩阵[3]。弗罗贝尼乌斯对矩阵的特征方程、特征根、矩阵的秩、正交矩阵、矩阵方程等方面做了大量工作。1878年,在引进了不变因子、初等因子等概念的同时,弗罗贝尼乌斯给出了正交矩阵、相似矩阵合同矩阵的概念。同年,他探讨了矩阵的最小多项式(最小方程)问题。1894年的论文中,他讨论了矩阵理论和四元数理论的关系。1896年,他给出了凯莱-哈密尔顿定理的完整证明[1]。矩阵理论在19世纪沿着两个方向发展,分别是作为抽象代数结构和作为代数工具描述几何空间的线性变换。矩阵理论为群论和不变量理论的发展。

无限维矩阵的研究始于1884年。庞加莱在两篇不严谨地使用了无限维矩阵和行列式理论的文章后开始了对这一方面的专门研究[1]。1906年,希尔伯特引入无限二次型(相当于无限维矩阵)对积分方程进行研究,极大地促进了无限维矩阵的研究。在此基础上,施密茨、赫林格和特普利茨发展出算子理论,而无限维矩阵成为了研究函数空间算子的有力工具[1]

正式定义

Template:Math theorem 直觀上就是用兩個數碼去標記一堆數學實體(如數字、函數),實際上是有限序列的一種推廣。

𝐀(i,j) 被暱稱為矩陣 𝐀 裡的元素,通常簡記為𝐀i,j𝐀ij𝐀[i,j]。除此之外也會用小寫字母 aij 表示元素,來跟矩陣 𝐀 本身做區別。但不知 𝐀 的具體形式卻想強調 aij𝐀 的元素的話,可以 𝐀=[aij]m×n𝐀=[ai,j]m×n 表示。

如果表達式 f(i,j)=T(i,j)(嚴格來說是合式公式,其中 T 為一個包含變數 T(i,j))可以唯一決定一個矩陣 𝐀 ,那会将它记成 𝐀=[T(i,j)]m×n 。如:

𝐀:{1,2,,m}×{1,2,,n}𝐀(i,j)=i+j

就可以表達為 𝐀=[i+j]m×n

根據公理化集合论,可以定義一個函數的集合 Sm×n ,它囊括所有定義在 S 上的 m×n 矩阵,也就是說:

Sm×n:={f|f:{1,2,,m}×{1,2,,n}S}

行與列

以下的 3×2 矩陣:

{((1,1),a),((1,2),b),((2,1),c),((2,2),d),((3,1),e),((3,2),f)}

一般會如下排列成為矩形來表示:

[abcdef]

英文將橫向的元素组統称為「row」,縱向統称為「column」;但兩岸對此卻以不同的稱呼;在中國大陸,橫向的元素组称為「-{行}-」,縱向称為「-{列}-」,而在臺灣則相反,橫向称為「-{列}-」,縱向称為「-{行}-」[7]

行数是1或列数是1的矩阵又可分别称为行向量列向量,在有限的情況下,向量可用其分量表示成行数或列数是1的矩阵。

範例

𝐁=[i+2j]2×3是矩阵

𝐁=[357468]

的简写。要注意的是,计算机编程中,由于数组的首项是第0项,故编程者可能会将第1行/列称为第0行/列,从而对矩阵的写法产生影响,比如矩阵𝐁就要改写成𝐁=[i+2j+3]2×3

矩阵的元素可以是数字、符号或数学表达式。一般为了支援矩阵的运算,矩阵的元素之间应当能做加减法和乘法,所以是某个Template:里的元素。最常见的是元素属于实数域或复数域的矩阵,简称为实矩阵和复矩阵。更一般的情况下,矩阵的元素可以是由一个环中的元素排成。给定一个环𝐑,所有由𝐑中元素排成的m×n矩陣的集合写作(m,n,𝐑)m×n(𝐑)。若m=n,則通常記以(m,𝐑)m(𝐑),称其为n维矩阵或方阵


矩陣的基本運算

Template:Main 矩阵的最基本运算包括矩阵加(减)法,数乘和转置运算。被称为“矩阵加法”、“数乘”和“转置”的运算不止一种[8],其中最基本最常用的定义如下:

运算 定义 例子
加(减)法 m×n矩陣𝐀𝐁的和(差):𝐀±𝐁為一个m×n矩陣,其中每个元素是𝐀𝐁相应元素的和(差),
(𝐀±𝐁)i,j=𝐀i,j±𝐁i,j
其中1im,1jn

[131100]+[005750]=[1+03+01+51+70+50+0]=[136850]

数乘 标量c与矩陣𝐀的数乘:c𝐀的每个元素是𝐀的相应元素与c的乘积,
(c𝐀)i,j=c𝐀i,j
2[183425]=[21282(3)242(2)25]=[21668410]
转置 m×n矩阵𝐀的转置是一个n×m的矩阵,记为𝐀T(有些书中也记为𝐀tr t𝐀𝐀),其中的第i个-{zh-cn:行; zh-tw:列;}-向量是原矩阵𝐀的第i个-{zh-cn:列; zh-tw:行;}-向量;或者说,转置矩阵𝐀Ti-{zh-cn:行; zh-tw:列;}-第j-{zh-cn:列; zh-tw:行;}-的元素是原矩阵𝐀j-{zh-cn:行; zh-tw:列;}-第i-{zh-cn:列; zh-tw:行;}-的元素,
(𝐀T)i,j=𝐀j,i
[123067]T=[102637]

矩阵的加法运算满足交换律:𝐀+𝐁=𝐁+𝐀[9]。矩阵的转置和数乘运算对加法满足分配律:

(𝐀+𝐁)T=𝐀T+𝐁T
c(𝐀+𝐁)=c𝐀+c𝐁

矩阵加法和数乘兩種運算使得(m,n,)成為一个mn维的實數線性空間。而转置和数乘运算满足类似于结合律的规律:

c(𝐀T)=c(𝐀)T

矩阵也有类似行列式的初等变换,即对矩阵的某些行和某些列进行三类操作:交换两行/列,将一行/列的每个元素都乘以一个固定的量,以及将一行/列的每个元素乘以一个固定的量之后加到另一行/列的相应元素上。这些操作在求其逆矩阵时有用。

矩阵乘法

Template:Main

矩阵Template:MathTemplate:Math相乘得到Template:Math的示意图

两个矩阵的乘法仅当第一个矩陣𝐀的-{zh-cn:列; zh-tw:行;}-數(column)和另一个矩阵𝐁的-{zh-cn:行; zh-tw:列;}-數(row)相等时才能定义。如𝐀m×n矩陣和𝐁n×p矩陣,它們的乘積𝐀𝐁是一個m×p矩陣,它的一个元素

[𝐀𝐁]i,j=Ai,1B1,j+Ai,2B2,j++Ai,nBn,j=r=1nAi,rBr,j

其中1im, 1jp'[10]

例如

[102131]×[312110]=[(1×3+0×2+2×1)(1×1+0×1+2×0)(1×3+3×2+1×1)(1×1+3×1+1×0)]=[5142]

矩阵的乘法满足结合律和对矩阵加法的分配律(左分配律和右分配律):

  • 结合律:(𝐀𝐁)𝐂=𝐀(𝐁𝐂)
  • 左分配律:(𝐀+𝐁)𝐂=𝐀𝐂+𝐁𝐂
  • 右分配律:𝐂(𝐀+𝐁)=𝐂𝐀+𝐂𝐁

矩阵的乘法与数乘运算之间也满足类似结合律的规律;与转置之间则满足倒置的分配律。

c(𝐀𝐁)=(c𝐀)𝐁=𝐀(c𝐁)
(𝐀𝐁)T=𝐁T𝐀T

矩阵乘法不满足交换律。一般来说,矩陣𝐀𝐁的乘积𝐀𝐁存在,但𝐁𝐀不一定存在,即使存在,大多数时候𝐀𝐁𝐁𝐀。比如下面的例子:

[1234][0100]=[0103],[0100][1234]=[3400]

这一特性使得矩阵代数与常见的一些数域(有理数、实数、复数)以及环(多项式环、整数环)都不同。给定一个n维的方块矩阵𝐀,与𝐀交换的所有方块矩阵构成一个环,称为𝐀的交换子环。这些矩阵也构成(n,)的一个子空间,称为𝐀的可交换空间[11]。与(n,)中所有矩阵交换的矩阵只有形如λ𝐈n,λ的矩阵(称为数乘矩阵)。其中的𝐈n单位矩阵,也就是主对角线上的元素为1,其它元素为0的矩阵。任意矩阵𝐌乘以单位矩阵都得到自身:𝐌𝐈n=𝐌=𝐈n𝐌

除了最常见的矩阵乘法定义以外,也有一些较不常见的矩阵乘法,比如阿达马乘积克罗内克乘积[12]

线性方程组

Template:Main 矩阵乘法的一个基本应用是在线性方程组上。线性方程组是方程组的一种,它符合以下的形式:

{a1,1x1+a1,2x2++a1,nxn=b1a2,1x1+a2,2x2++a2,nxn=b2am,1x1+am,2x2++am,nxn=bm

其中的a1,1,a1,2以及b1,b2等等是已知的常数,而x1,x2等等则是要求的未知数。运用矩阵的方式,可以将线性方程组写成一个向量方程:

𝐀𝐱=𝐛

其中,𝐀是由方程组里未知量的系数排成的m×n矩陣𝐱是含有n个元素的-{zh-cn:行; zh-tw:列;}-向量,𝐛是含有m个元素的-{zh-cn:行; zh-tw:列;}-向量[13]

𝐀=[a1,1a1,2a1,na2,1a2,2a2,nam,1am,2am,n],𝐱=[x1x2xn],𝐛=[b1b2bm]

这个写法下,将原来的多个方程转化成一个向量方程,在已知矩阵𝐀和向量𝐛的情况下,求未知向量𝐱

线性变换

Template:Main 矩陣是线性变换的便利表達法。矩陣乘法的本质在联系到线性变换的时候最能体现,因为矩阵乘法和线性变换的合成有以下的联系: 以n表示所有長度為n的-{zh-cn:行; zh-tw:列;}-向量的集合。每个m×n的矩阵𝐀都代表了一个从n射到m的线性变换。反过来,对每個线性变换f:nm,都存在唯一Template:Math矩陣𝐀f使得对所有n中的元素xf(x)=Afx。这个矩阵𝐀fi-{zh-cn:行; zh-tw:列;}-第j-{zh-cn:列; zh-tw:行;}-上的元素是正则基向量𝐞j=(0,,0,1,0,0)T(第Template:Math个元素是1,其余元素是0的向量)在f映射后的向量f(𝐞j)的第i个元素。

也就是说,从n射到m的线性变换构成的向量空间(n,m)上存在一个到(m,n,)一一映射fAf

以下是一些典型的2维实平面上的线性变换对平面向量(图形)造成的效果,以及它们对应的2维矩阵。其中每个线性变换将蓝色图形映射成绿色图形;平面的原点(0, 0)用黑点表示。

推移
幅度m=1.25.
水平鏡射变换 挤压”变换,
压缩程度r=3/2
伸縮,3/2倍 旋轉,左转30°
[11.2501] [1001] [320023] [320032] [cos(π6)sin(π6)sin(π6)cos(π6)]

设有k×m的矩陣𝐁代表线性變換g:𝐑m𝐑k,則矩陣積𝐁𝐀代表了綫性變換的复合gf[14],因为

(gf)(x)=g(f(x))=g(𝐀𝐱)=𝐁(𝐀𝐱)=(𝐁𝐀)𝐱

矩阵的秩是指矩阵中线性无关的行/列向量的最大个数[15],同时也是矩阵对应的线性变换的像空间的维度[16]秩-零化度定理说明矩阵的-{zh-cn:列; zh-tw:行;}-数量等于矩阵的秩与零空间维度之和[17]

方块矩阵

Template:Main 行数与列数相同的矩阵称为方块矩阵,简称方阵。所有n维的方块矩阵构成一个线性空间,这个空间对矩阵乘法也是封闭的,因此也是一个代数。方阵𝐀称为可逆或非奇异的,如果存在另一个方阵𝐁,使得

𝐀𝐁=𝐈n

成立。这时候可以证明也有𝐁𝐀=𝐈n成立[18],可将矩阵𝐁称为𝐀的逆矩阵[19]。一个矩阵𝐀的逆矩阵如果存在的话,就是唯一的,通常记作𝐀1

矩阵𝐀的元素Ai,i称为其主对角线上的元素。方块矩阵𝐀的所有主对角线元素之和称为它的,写作tr(𝐀)。尽管矩阵的乘法不满足交换律,方阵相乘时交换顺序会导致乘积变化,但它们的迹不会变,即tr(𝐀𝐁)=tr(𝐁𝐀)[20]。除此以外,矩阵转置的迹等于其自身的迹,tr(𝐀)=tr(𝐀T)

如果一个方阵只有主对角线上的元素不是0,其它都是0,那么称其为对角矩阵。如果主对角线上方的元素都是0,那么称为下三角矩阵;反之如果主对角线下方的元素都是0,那么称为上三角矩阵。例如n=3的时候,这些矩阵分别写作:

[d11000d22000d33](对角矩阵),[l1100l21l220l31l32l33](下三角矩阵)和[u11u12u130u22u2300u33](上三角矩阵)。

行列式

Template:Main

Template:MathTemplate:里的一个线性变换f将蓝色图形变成绿色图形,面积不变,而顺时针排布的向量Template:Math1和Template:Math2的变成了逆时针排布。对应的矩阵行列式是-1.

方块矩阵𝐀的行列式是一个将其映射到标量的函数,记作det(𝐀)|𝐀|,反映了矩阵自身的一定特性。一个方阵的行列式等于0当且仅当该方阵不可逆。系数是实数的时候,二维(三维)方阵𝐀的行列式的绝对值表示单位面积(体积)的图形经过𝐀对应的线性变换后得到的图形的面积(体积),而它的正负则代表了对应的线性变换是否改变空间的定向:行列式为正说明它保持空间定向,行列式为负则说明它逆转空间定向。

2×2矩阵的行列式是

|abcd|=adbc

3×3矩阵的行列式由6项组成。更高维矩阵的行列式则可以使用莱布尼兹公式写出[21],或使用拉普拉斯展开由低一维的矩阵行列式递推得出[22]

两个矩阵相乘,乘积的行列式等于它们的行列式的乘积:det(𝐀𝐁)=det(𝐀)det(𝐁)[23]。将矩阵的一行/列乘以某个系数加到另一行/列上不改变矩阵的行列式,将矩阵的两行/列互换则使得其行列式变号[24]。用这两种操作可以将矩阵变成一个上三角矩阵或下三角矩阵,而后两种矩阵的行列式就是主对角线上元素的乘积,因此能方便地计算。运用行列式可以计算线性方程组的解(见克萊姆法則[25]

特征值与特征向量

Template:Main n×n的方块矩阵𝐀的一个特征值和对应特征向量是满足

𝐀𝐯=λ𝐯[26]的标量λ以及非零向量𝐯。特征值和特征向量的概念对研究线性变换很有帮助。一个线性变换可以通过它对应的矩阵在向量上的作用来可视化。一般来说,一个向量在经过映射之后可以变为任何可能的向量,而特征向量具有更好的性质[27]。假设在给定的基底下,一个线性变换对应着某个矩阵𝐀,如果一个向量𝐱可以写成矩阵的几个特征向量的线性组合:
𝐱=c1𝐱λ1+c2𝐱λ2++ck𝐱λk

其中的𝐱λi表示此向量对应的特征值是λi,那么向量𝐱经过线性变换后会变成:

𝐀𝐱=c1λ1𝐱λ1+c2λ2𝐱λ2++ckλk𝐱λk

可以清楚地知道变换后向量的结构。

另一个等价的特征值定义是:标量λ为特征值,如果矩阵𝐀λ𝐈n是不可逆矩阵。根据不可逆矩阵的性质,这个定义也可以用行列式方程描述:λ为特征值,如果

det(λ𝐈n𝐀)=0. [28]这个定义中的行列式可以展开成一个关于λn多项式,叫做矩阵Template:Math特征多项式,记为p𝐀。特征多项式是一个首一多项式(最高次项系数是1的多项式)。它的根就是矩阵𝐀特征值[29]哈密尔顿-凯莱定理说明,如果用矩阵𝐀本身代替多项式中的不定元λ,那么多项式的值是零矩阵[30]
p𝐀(𝐀)=0

对称

Template:Main 转置等于自己的矩阵,即满足𝐀=𝐀T的方块矩阵𝐀叫做对称矩阵。满足𝐀=𝐀T的矩阵称为反对称矩阵。在复系数矩阵中,则有埃尔米特矩阵的概念:满足𝐀=𝐀*的方块矩阵称为埃尔米特矩阵,其中的𝐀*表示𝐀共轭转置矩阵。

根据谱定理,实对称矩阵和复埃尔米特矩阵拥有特征基,即由矩阵的特征向量组成的基底。因此任何向量都能表示成矩阵特征向量的线性组合。此外,这两类矩阵的特征值都是实数[31]

正定性

矩阵表达式 [140014] [140014]
正定性 不定矩阵 正定矩阵
对应二次型 Q(x,y)=14(x2y2) Q(x,y)=14(x2+y2)
取值图像
说明 正定矩阵对应的二次型的取值范围永远是正的,
不定矩阵对应的二次型取值则可正可负

Template:Main n×n的实对称矩阵𝐀如果满足对所有非零向量𝐱𝐑n,对应的二次型

Q(𝐱)=𝐱T𝐀𝐱

函数值都是正数,就称𝐀为正定矩阵。类似地还有半正定矩阵、负定矩阵、不定矩阵等概念[32]。对称矩阵的正定性与其特征值密切相关。矩阵是正定的当且仅当其特征值都是正数[33]

矩阵的计算

矩阵在许多学科领域中都有应用,在很多时候,除了需要知道矩阵的理论性质以外,还需要计算矩阵的数值。为了矩阵的计算能够足够精确与快捷,数值线性代数中专门有研究矩阵的数值计算方法[34]。与其它的数值计算一样,矩阵的数值计算注重的主要也是算法复杂度数值稳定性。矩阵的数值计算可以使用直接计算,也可以用迭代算法,例如在计算方块矩阵的特征值时,可以从一个非零向量x0开始,通过特定迭代方法得到一个逼近某个特征向量的向量序列[35]

测量一个算法的复杂度是指估计此算法需要的基本运算如数字的加法和乘法的次数,或者找出它的一个上界。例如按照定义计算的话,两个n阶方阵的乘法需要n3次数字乘法计算,因为其乘积是一个n阶方阵,有n2个元素,计算每个元素需要n次数字乘法。如果使用施特拉森算法的话,可以将数字乘法的次数减低到大约n2.8[36]。此外,编程语言或环境本身对算法的复杂度也会有影响。

某些特殊类型的矩阵携带的数据量比一般矩阵要少,同时带来的信息量比一般矩阵多。一个重要的例子是稀疏矩阵,这类矩阵中绝大部分的元素是零。有关稀疏矩阵的计算,如计算稀疏矩阵𝐀的线性方程组𝐀𝐱=𝐛时,可以使用一些专用于稀疏矩阵的特殊算法(比如共轭梯度法[37]),减低计算复杂度。

算法的数值稳定性是指输入值的小变化不会让计算结果产生很大偏差。例如计算矩阵的逆时,可以用以下的算法(其中adj(𝐀)表示𝐀伴随矩阵det(𝐀)表示𝐀行列式

𝐀1=adj(𝐀)det(𝐀)

这个算法在𝐀的行列式接近0的时候会引起很大的舍入误差[38]。而如果使用全选主元的高斯消去法求逆,则在复杂度降低的同时能够避免舍入误差,保证数值稳定性。

矩阵分解

Template:Main 矩阵研究的一大方向是将一般的矩阵用一些比较“简单”的矩阵来表示。这种表示方式称为矩阵的变换与分解。矩阵变换与分解的方法有很多,它们的目的都是希望化简后的矩阵保持原矩阵的某些性质,比如行列式、秩或逆矩阵,而形式相对简单,因而能用容易地进行讨论和计算,或者能使得某些算法更易执行。

LU分解将矩阵分解为一个下三角矩阵𝐋和一个上三角矩阵𝐔的乘积[39]。分解后的矩阵可以方便某些问题的解决。例如解线性方程组时,如果将系数矩阵𝐀分解成𝐀=𝐋𝐔的形式,那么方程的求解可以分解为求解𝐋𝐲=𝐛𝐔𝐱=𝐲两步,而后两个方程可以十分简洁地求解(详见三角矩阵中“向前与向后替换”一节)。又例如在求矩阵的行列式时,如果直接计算一个矩阵𝐀的行列式,需要计算大约(n+1)!次加法和乘法;而如果先对矩阵做𝐋𝐔分解,再求行列式,就只需要大约n3次加法和乘法,大大降低了计算次数。这是因为做𝐋𝐔分解的复杂度大约是n3次,而后注意到𝐋𝐔是三角矩阵,所以求它们的行列式只需要将主对角线上元素相乘即可。

若尔当矩阵,其中灰色框内的是若尔当块

高斯消去法也是一种矩阵分解方法。通过初等变换操作,可以将任何矩阵变为阶梯形矩阵,而每个操作可以看做是将矩阵乘上一个特定的初等矩阵[40]奇异值分解则是另一种分解方法,将一个矩阵表示成3个矩阵的乘积:𝐀=𝐔𝐃𝐕。其中𝐔𝐕酉矩阵𝐃对角矩阵

特征分解是将一个矩阵𝐀写成𝐏𝐃𝐏1的形式,其中𝐏是一个可逆矩阵,𝐃是对角矩阵[41]。如果𝐀的特征分解存在,就称它是可对角化的矩阵。不能对角化的矩阵,也有类似的分解方式。任意的矩阵𝐀都可以写成𝐏𝐉𝐏1的形式,其中的矩阵𝐉若尔当标准型。若尔当标准型是矩阵的一种,它与对角矩阵类似,只不过主对角线上的元素不是数值,而是若尔当块:主对角线上为同一元素λi,主对角线右上一行的次对角线上都是1,其它元素都是0的矩阵(见右图)[42]。特征分解可以方便计算矩阵的幂次和多项式,如要计算𝐀n

𝐀n=(𝐏𝐃𝐏1)n=𝐏𝐃𝐏1𝐏𝐃𝐏1𝐏𝐃𝐏1=𝐏𝐃n𝐏1

而其中对角矩阵的幂次𝐃n要比𝐀n容易计算得多。同理还可计算矩阵指数e𝐀(在线性微分方程中有应用)、矩阵对数矩阵的平方根[43]。为了提高算法的数值稳定性,还有舒尔分解等矩阵分解方法[44]

矩阵的推广

矩阵的元素除了可以是实数和复数以外,也可以任意环或中元素。在线性代数中,矩阵的性质可以经由有限维的线性空间中的线性变换定义。更广泛的,无限维空间中的线性算子,则可以定义更广泛的无穷维矩阵。矩阵的另一种推广是张量。标量可以看成零维方式排列的数据(只有一个“点”),向量可以看成是一维方式排列的数据(若干个“点”排成的“线段”),矩阵可以看成是二维方式排列的数据(若干个“线段”排成的“矩形”),而张量的概念则包括了这几种排列方式。在张量的概念中,标量是零维张量,向量是一维张量,矩阵是二维張量,而更高维方式排列的数据方式就是高维张量[45]

一般域和环上的矩阵

矩阵的元素除了可以是实数和复数以外,还可以是任何能够使得矩阵的运算律成立的元素。首先,矩阵的元素可以是任意一个域(即能够进行“加减乘除”运算的集合)中元素。例如编码理论中会出现系数为有限域中元素的矩阵,以及有理数系数的矩阵。如果矩阵的系数所在域𝐊不是代数闭域,那么在求矩阵的特征值时,由于特征值是相应的特征多项式的根,可能不在系数域𝐊中,而是在系数域的某个扩域L中。反过来,如果考虑扩域𝐋/𝐊,以及𝐋中的一个元素α,以及𝐋中线性变换mα:xαx,那么由于mα也是一个𝐊-线性变换,它可以表示成一个n×n𝐊系数矩阵Xα,其中的n是扩域𝐋/𝐊的阶数。α是这个矩阵的特征值,这个矩阵的特征多项式pXαα𝐊中的最小多项式min𝐊(α)的幂次:

pXα=(min𝐊(α))r。其中的r是扩域𝐋/𝐊 (α)的阶数[46]

更一般的情况是矩阵的元素属于某个环𝐑[47]。环是比域更广泛的概念,只要求其中元素能够进行加减法和乘法运算(不一定能定义除法)。给定一个环𝐑(m,n,𝐑)中的矩阵之间可以相互加减以及相乘,所以(m,n,𝐑)关于矩阵的加法和乘法也构成一个环,称为矩阵环n维方阵的环(n,𝐑)與左𝐑-𝐑n自同態同構[48]

𝐑交换环,則(m,𝐑)是一个帶單位元𝐑-代數,满足结合律,但不满足交换律。其中的矩阵仍然可以用莱布尼兹公式定義行列式。一个矩阵可逆当且仅当其行列式为环𝐑中的可逆元(域上的矩阵可逆只需行列式不等于0)[49]

矩阵与线性变换

前面已经提到,所有𝐑n𝐑m的线性变换都对应着一个(m,n,𝐑)中的矩阵。更一般地,给定了基底后,任意两个有限维线性空间之间的线性映射f:𝐕𝐖也对应着一个矩阵𝐀f=(aij)。设空间𝐕𝐖的基底分别是𝐯1,,𝐯n𝐰1,,𝐰m,那么

对任意 j=1,,nf(𝐯j)=i=1mai,j𝐰i

矩阵𝐀f实际上“记录”了𝐕中每个基底向量经过变换后得到的𝐖中的像在基底(𝐰1,,𝐰m)下的形式。要注意矩阵的内容取决于基底的选择。可以说,矩阵是线性变换f在特定“角度”(基底)下的“素描”。不同的“角度”下,描述f的矩阵是不同的,但这些矩阵都是相似矩阵[50]。与矩阵有关的基本概念都可以用线性变换的层面来解释,比如一个矩阵的转置可以用f对偶变换f*:𝐖*𝐕*来表示[51]

当矩阵的元素是带单位元的环𝐑中的元素时,m×n𝐑-矩阵对应的则是𝐑-自由模𝐑m𝐑n之间的𝐑-线性变换。n=m的时候,这些𝐑-线性变换可以相互复合,因此n维的𝐑-矩阵环能够与𝐑-自同态环𝐑n同构。

矩阵群

Template:Main 是比环更宽泛的代数结构,只需要集合配备一个满足结合律的二元运算,即将两个群内元素映射到群内一元素的运算。矩阵群是指矩阵关于矩阵乘法组成的群[52]。显然,只有方块矩阵才能构成乘法群。所有n维的可逆方阵构成一个群,称为n一般线性群。由于群内每个元素都必须是可逆的,任意的矩阵群都必然是一般线性群的子群

能够在矩阵乘法和求逆矩阵运算下保持的性质都可以用来刻画一定的矩阵群。例如所有行列式为1的矩阵可以构成一个群,称为n特殊线性群[53]。所有n维的正交矩阵,即满足:

𝐌T𝐌=𝐈

的矩阵𝐌也构成一个群,称为n正交群[54]。正交矩阵得名于它在𝐑n中对应的线性变换具有保角性,也就是说对基本的点积,满足

(𝐌𝐯)(𝐌𝐰)=𝐯𝐰[55]

每个有限群都同构于一个矩阵群。实际上,每个有限群都同构于某个置换群的子群,而每个置换群都同构于一个矩阵群(见置换群的正则群表示[56])鉴于矩阵群的性质可以通过与矩阵相关的更多手段更好地理解,常常通过研究矩阵群来研究一个有限群。相关的理论称为群表示论

无限维矩阵

Template:Main 无穷维矩阵可以指行数或列数无穷大,或两者都是无穷大的矩阵[57]。尽管这样的矩阵无法完整写出,但只要知道每行每列的元素的值,仍然可以对它进行矩阵操作和运算。这里矩阵的行数和列数甚至不一定需要是可数集。需要注意的是,无穷维矩阵的乘法涉及到无穷级数求和,因此只有在相关的无穷级数收敛的时候,才能定义矩阵的乘积[58]。无限维矩阵也可以是方块矩阵,定义为行标记集合与列标记集合相同的矩阵(如×[59]

无限矩阵无法定义通常意义上的行列式,因此可逆矩阵不一定是方块矩阵,同理,酉矩阵也不一定要是方块矩阵[60]

空矩阵

Template:Main 空矩阵是指行数或列数为零的矩阵。[61][62]空矩阵的定义可以完善一些关于零维空间的约定。包括约定一个矩阵与空矩阵相乘得到的也是空矩阵,两个n×00×p的空矩阵相乘是一个n×p零矩阵(所有元素都是零的矩阵)。0×0的空矩阵的行列式约定为1,所以它也可以有逆矩阵,约定为它自己[63]

分塊矩陣

分塊矩陣是指一個大矩陣分割成“矩陣的矩陣”。舉例,以下的矩陣

P=[1232127549266158]

可分割成4個2×2的矩陣

P11=[1212],P12=[3275],P21=[4961],P22=[2658]
P=[P11P12P21P22]。将矩阵分块可以使得矩阵结构清晰,在某些时候可以方便运算、证明。两个大小相同、分块方式也相同的矩阵可以相加。行和列的块数符合矩阵乘法要求时,分块矩阵也可以相乘。将矩阵分块相乘的结果与直接相乘是一样的。用分块矩阵求逆,可以将高阶矩阵的求逆转化为多次低阶矩阵的求逆[64]

应用

矩阵在许多领域都应用广泛。有些时候用到矩阵是因为其表达方式紧凑,例如在博弈论经济学中,会用收益矩阵来表示两个博弈对象在各种决策方式下的收益[65]文本挖掘索引典汇编的时候,比如在TF-IDF方法中,也会用到文件项矩阵来追踪特定词汇在多个文件中的出现频率[66]

复数可以用实系数的2×2矩阵表示:

a+ib[abba],

这种表示法与复数的加减法、乘法都相兼容。比如,2×2的旋转矩阵可以用来表示模长为1的复数,一个向量乘以此旋转矩阵可以视作一个复数乘以该模长为1的复数。对四元数也有类似的矩阵表达[67]

早期的密码技术如希尔密码也用到矩阵。然而,矩阵的线性性质使这类密码相对容易破解[68]计算机图像处理也会用到矩阵来表示处理对象,并且用放射旋转矩阵来计算对象的变换,实现三维对象在特定二维屏幕上的投影[69]多项式环上的矩阵在控制论中有重要作用。

化学中也有矩阵的应用,特别在使用量子理论讨论分子键光谱的时候。具体例子有解罗特汉方程时用重叠矩阵福柯矩阵来得到哈特里-福克方法中的分子轨道

图论

一个无向图的邻接矩阵[110101010]

图论中可以用矩阵描述一个有限图[70]。这个矩阵叫做相关矩阵的邻接矩阵,记录了图的每两个顶点之间是否有边连接。对简单图来说,邻接矩阵的元素只取两个值:0和1,第i-{zh-cn:行; zh-tw:列;}-第j-{zh-cn:列; zh-tw:行;}-上取值为0,表示没有从第i个顶点连到第j个顶点的边,取值为1则说明有。如果是一般情况的话,第i-{zh-cn:行; zh-tw:列;}-第j -{zh-cn:列; zh-tw:行;}-上的取值是从第i个顶点连到第j顶点的边的数目。距离矩阵则是表示图中各顶点之间距离的矩阵[71]。在研究互联网等复杂网络的时候,邻接矩阵常常会是稀疏矩阵。因此网络理论中有专门研究稀疏矩阵的方面。

数学分析

在多元函数微积分学中,对二阶偏导数存在的函数f:𝐑n𝐑,可以定义其海森矩阵[72]

H(f)(x)=[2fxixj(x)]
n=2时,海森矩阵[2002]的特征值一正一负,说明函数f(x,y)=x2y2(x=0,y=0)处有一个鞍点(红色点)

严格来说,仅当函数在某一点上的二阶偏导数存在,才能定义这一点上的海森矩阵。海森矩阵给出了函数在这一点的变化率方面的信息。当给定的点𝐱=(x1,,xn)是函数平稳点(即函数f在这一点上的一阶偏导数fxi都是0)时,就需要利用海森矩阵来查看函数在这一点周围的增长特性。多元函数在点𝐱泰勒展开是:

f(x+h)=f(x)+f(x)h+12hTH(f)(x)h+(x3)

如果函数在点x的一阶偏导数都是0,那么f=0,所以函数在x附近的变化率取决于海森矩阵H(f)(x)的性质。如果H(f)(x)是正定矩阵,那么函数在点x取得局部最小值,如果是负定矩阵,则函数在x取得局部最大值。在这类情况下,关于函数f的条件最优化问题可以转变为关于海森矩阵的二次规划问题[73]

矩阵在多元函数微积分中的另一个应用是雅可比矩阵。函数f:𝐑n𝐑m在某一点x上的一阶偏导数存在时,可以定义它在这点上的雅可比矩阵[74]

Jf(x)=[fixj(x)]1im,1jn。如果n>m,而Jf(x)又是满秩矩阵(秩等于m)的话,根据反函数定理,可以找到函数fx附近的一个局部的反函数[75]

偏微分方程理论中,二阶拟线性偏微分方程可以根据最高次偏导项系数构成的矩阵的正定性分类。假设有一个二阶拟线性偏微分方程:

(𝐄)1i,jnaij2fxixj+i=1nbifxi+cf=g 并假设aij=aji

记矩阵𝐀=[aij]1i,jn。如果矩阵𝐀是正定或负定矩阵,那么就称方程(𝐄)为椭圆形偏微分方程;如果𝐀不可逆,就称(𝐄)为抛物形偏微分方程,如果𝐀可逆而且恰有n1个特征值同号,就称(𝐄)为双曲型偏微分方程。其它情况下也称(𝐄)为超双曲形偏微分方程。不同类型的方程解的形式也不一样[76]

用数值方法解偏微分方程时更需要用到矩阵。一个重要的方法是有限元方法,在求解各种物理中遇到的偏微分方程时广泛使用。有限元方法的基本思想是用一系列“简单”函数的线性组合来“逼近”偏微分方程的精确解。这些“简单”函数通常是指将求解区域分割成一定数量的“小块”后,仅在某一“小块”上非零的分段线性函数。选定了网格和“简单”函数后,可以求解关于刚度矩阵的方程得到近似解。有限元理论中证明了在满足一定的条件下,近似解将随着网格趋于精细而弱收敛到精确解[77][78]

概率论与统计

概率论中常用到随机矩阵,即-{zh-cn:行; zh-tw:列;}-向量是概率向量(即所有的元素都在0和1之间,并且加起来等于1的向量)的矩阵。随机矩阵可用来定义有限概率空间中的马尔可夫链。设随机变量Xn是某个马尔可夫链在t=n时刻的状态,所有可能的状态S={s1,s2,,sm}称为状态空间,那么随机矩阵Mnn+1则记录了假设已知Xn的可能情况下Xn+1做各种取值的可能性[79]Mnn+1的第i-{zh-cn:行; zh-tw:列;}-第j-{zh-cn:列; zh-tw:行;}-上的元素表示当Xn=sj的时候,Xn+1=si的可能性。Mnn+1的第j-{zh-cn:行; zh-tw:列;}-记录了从Xn=sj转移到Xn+1各种状态的可能性。所以Mnn+1叫做t=n时刻的转移矩阵。如果马尔可夫链的转移矩阵不随时刻变化,则称为齐次马尔可夫链。这时马尔可夫链的吸引态可以通过计算转移矩阵的特征向量得到[80]

统计学中也会用到各种不同的矩阵。描述统计学中常常需要用矩阵的形式来描述数据样本,显得更为紧凑。几个随机变量的协方差矩阵表示它们之间的协方差关系,在某种程度上表示了它们相互间的关联程度(但不绝对)[81]

统计学中用到矩阵的另一个地方是线性回归中的最小二乘法分析。当观测到随机样本(Yi,Xi1,,Xip),i=1,,n时,线性回归法的目标是希望找到以下的线性关系:

Yi=β0+β1Xi1+β2Xi2++βpXip+εi,i=1,,n

即将变量𝐘表示成𝐗的分量的线性组合与一个已知的随机误差的和。这个表示可以写成矩阵的形式,并利用矩阵的奇异值分解来分析[82]

另一种随机矩阵(Template:Lang)是指每个元素都是随机变量的矩阵,这些随机变量可以都遵循同一个分布,或各自遵循不同的分布。一个常见的例子是全部元素都是相互独立的标准正态分布随机变量的随机矩阵。这种随机矩阵在数论物理中也有应用[83][84]

物理学上的对称性及线性变换

Template:See 线性变换及其所对应的对称,在现代物理学中有着重要的角色。例如,在量子场论中,基本粒子是由狭义相对论的洛伦兹群所表示,具体来说,即它们在旋量群下的表现。内含泡利矩阵及更通用的狄拉克矩阵的具体表示,在费米子的物理描述中,是一项不可或缺的构成部分,而费米子的表现可以用旋量来表述[85]。描述最轻的三种夸克时,需要用到一种内含特殊酉群SU(3)的群论表示;物理学家在计算时会用一种更简便的矩阵表示,叫盖尔曼矩阵,这种矩阵也被用作SU(3)规范群,而强核力的现代描述──量子色动力学的基础正是SU(3)。还有卡比博-小林-益川矩阵(CKM矩阵):在弱相互作用中重要的基本夸克态,与指定粒子间不同质量的夸克态不一样,但两者却是成线性关系,而CKM矩阵所表达的就是这一点[86]

量子态的线性组合

1925年海森堡提出第一个量子力学模型时,使用了无限维矩阵来表示理论中作用在量子态上的算子[87]。这种做法在矩阵力学中也能见到。例如密度矩阵就是用来刻画量子系统中“纯”量子态的线性组合表示的“混合”量子态[88]

另一种矩阵是用来描述构成实验粒子物理基石的散射实验的重要工具。当粒子在加速器中发生碰撞,原本没有相互作用的粒子在高速运动中进入其它粒子的作用区,动量改变,形成一系列新的粒子。这种碰撞可以解释为结果粒子状态和入射粒子状态线性组合的标量积。其中的线性组合可以表达为一个矩阵,称为S矩阵,其中记录了所有可能的粒子间相互作用[89]

简正模式

矩阵在物理学中的另一类泛应用是描述线性耦合调和系统。这类系统的运动方程可以用矩阵的形式来表示,即用一个质量矩阵乘以一个广义速度来给出运动项,用力矩阵乘以位移向量来刻画相互作用。求系统的解的最优方法是将矩阵的特征向量求出(通过对角化等方式),称为系统的简正模式。这种求解方式在研究分子内部动力学模式时十分重要:系统内部由化学键结合的原子的振动可以表示成简正振动模式的叠加[90]。描述力学振动或电路振荡时,也需要使用简正模式求解[91]

幾何光學

幾何光學裏,可以找到很多需要用到矩陣的地方。幾何光學是一種忽略了光波波動性的近似理論,這理論的模型將光線視為幾何射線。採用近軸近似,假若光線與光軸之間的夾角很小,則透鏡反射元件對於光線的作用,可以表達為2×2矩陣與向量的乘積。這向量的兩個分量是光線的幾何性質(光線的斜率、光線跟光軸之間在Template:Link-en的垂直距離)。這矩陣稱為光線傳輸矩陣,內中元素編碼了光學元件的性質。對於折射,這矩陣又細分為兩種:「折射矩陣」與「平移矩陣」。折射矩陣描述光線遇到透鏡的折射行為。平移矩陣描述光線從一個主平面傳播到另一個主平面的平移行為。

由一系列透鏡或反射元件組成的光學系統,可以很簡單地以對應的矩陣組合來描述其光線傳播路徑。[92]

電子學

電子學裏,傳統的Template:Link-en節點分析會獲得一個線性方程組,這可以以矩陣來表示與計算。

很多種電子元件的電路行為可以用矩陣來描述。設定A為輸入向量,其兩個分量為輸入電壓v1與輸入電流i1。設定B為輸出向量,其兩個分量為輸出電壓v2與輸出電流i2。這電子元件的電路行為可以描述為B=HA;其中,H是2×2矩陣,內有一個阻抗元素h12、一個導納元素h21、兩個無量綱元素h11h22。這樣,電路的計算可以約化為矩陣計算。

参见

注释与参考

脚注

参考文献

Template:ReflistH

Template:ReflistF

外部链接

Template:Wikibooks

百科全书
历史
在线书籍
线上矩阵计算器

Template:线性代数的相关概念 Template:Authority control

  1. 1.0 1.1 1.2 1.3 Template:Harvard citations
  2. Template:Harvard citations
  3. 3.0 3.1 3.2 3.3 3.4 3.5 Template:Harvard citations
  4. Template:Harvard citations
  5. Template:Harvard citations
  6. Template:Harvard citations
  7. Template:Cite book
  8. Template:Harvard citations
  9. Template:Harvard citations
  10. Template:Harvard citations
  11. Template:Harvard citations
  12. Template:Harvard citations
  13. Template:Harvard citations
  14. Template:Harvard citations
  15. Template:Harvard citations
  16. Template:Harvard citations
  17. Template:Harvard citations
  18. Template:Harvard citations
  19. Template:Harvard citations
  20. 这个结论容易从矩阵乘法的定义获得:
    tr(𝖠𝖡)=i=1mj=1nAijBji=tr(𝖡𝖠)
  21. Template:Harvard citations
  22. Template:Harvard citations
  23. Template:Harvard citations
  24. Template:Harvard citations
  25. Template:Harvard citations
  26. Template:Harvard citations
  27. Template:Harvard citations
  28. Template:Harvard citations
  29. Template:Harvard citations
  30. Template:Harvard citations
  31. Template:Harvard citations
  32. Template:Harvard citations
  33. Template:Harvard citations
  34. Template:Harvard citations
  35. Template:Harvard citations
  36. Template:Harvard citations
  37. Template:Harvard citations
  38. Template:Harvard citations
  39. Template:Harvard citations
  40. Template:Harvard citations
  41. Template:Harvard citations
  42. Template:Harvard citations
  43. Template:Harvard citations
  44. Template:Harvard citations
  45. Template:Harvard citations
  46. Template:Harvard citations
  47. Template:Harvard citations
  48. Template:Harvard citations
  49. Template:Harvard citations
  50. Template:Harvard citations
  51. Template:Harvard citations
  52. Template:Harvard citations
  53. Template:Harvard citations
  54. Template:Harvard citations
  55. Template:Harvard citations
  56. Template:Harvard citations
  57. Template:Harvard citations
  58. Template:Harvard citations
  59. Template:Harvard citations
  60. Template:Harvard citations
  61. Template:Cite web
  62. Template:Cite web
  63. Template:Harvard citations
  64. Template:Harvard citations
  65. Template:Harvard citations
  66. Template:Harvard citations
  67. Template:Harvard citations
  68. Template:Harvard citations
  69. Template:Harvard citations
  70. Template:Harvard citations
  71. Template:Harvard citations
  72. Template:Harvard citations
  73. Template:Harvard citations
  74. Template:Harvard citations
  75. Template:Harvard citations
  76. Template:Harvard citations
  77. Template:Harvard citations
  78. Template:Harvard citations
  79. Template:Harvard citations
  80. Template:Harvard citations
  81. Template:Harvard citations
  82. Template:Harvard citations
  83. Template:Harvard citations
  84. Template:Harvard citations
  85. Template:Harvard citations
  86. Template:Harvard citations
  87. Template:Harvard citations
  88. Template:Harvard citations
  89. Template:Harvard citations
  90. Template:Harvard citations
  91. Template:Harvard citations
  92. Template:Harvard citations