• 沒有找到結果。

第04讲矩阵的基础知识

N/A
N/A
Protected

Academic year: 2021

Share "第04讲矩阵的基础知识"

Copied!
32
0
0

加載中.... (立即查看全文)

全文

(1)

传媒与信息工程学院 欧 新 宇

第04讲 矩阵的基础知识

第3章 矩阵

(2)

矩阵的定义及基本操作

基于矩阵的向量

特殊形态的矩阵

矩阵的四则运算

矩阵的秩和矩阵的迹

矩阵的分块

张量的常用操作

矩阵的应用

(3)

矩阵的定义及基本操作

(4)

历史与目标

在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数 或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一 概念由19世纪英国数学家凯利首先提出。作为解决线性方程的工 具,矩阵也有不短的历史。成书最早在东汉前期的《九章算术》中,

用分离系数法表示线性方程组。

学习线性代数的主要目标就是:学会利用矩阵来描述系统,

并用矩阵软件工具去解决各种问题。

1. 矩阵的定义和基本描述

(5)

矩阵的定义

【定义】由𝑚×𝑛个数(i=1,2,...,m; j=1,2,...,n) 排成的𝑚行𝑛列的矩形数 表就称为矩阵。如下所示,可以使用加粗斜体大写英文字母来表示 一个矩阵。

𝑨 =

𝑎

11

𝑎

12

𝑎

21

𝑎

22

… 𝑎

1𝑛

… 𝑎

2𝑛

⋮ ⋮ 𝑎

𝑚1

𝑎

𝑚2

⋱ ⋮

… 𝑎

𝑚𝑛

若矩阵A是一个𝑚行𝑛列的矩阵,则称它为𝑚×𝑛(阶)矩阵。为表 示它是一个整体,总是加一个括弧或者方括号来表示它。矩阵中的 𝑚×𝑛个数称为矩阵A的元素,其中 𝑎

𝑖𝑗

表示矩阵A的第 i 行第 j 列的 元素。𝑚×𝑛 矩阵也可以被记作 。

1. 矩阵的定义和基本描述

(6)

矩阵的定义

在python中,一般使用numpy数组来表示矩阵,实际上对于 包括向量、矩阵及张量在内,都习惯使用numpy数组来表示,并 使用numpy.array()来实现对数组的定义。

1. 矩阵的定义和基本描述

Numpy中也有numpy.mat()和numpy.matrix(),它是array的一个 子集,同时拥有更方便的计算方法,但没有array那么通用,它只

(7)

同型矩阵及矩阵相等

【定义】如果两个矩阵的行数相等、列数也相等,则称它们为同 型矩阵。若矩阵 𝐴=𝑎

𝑖𝑗

与矩阵 𝐵=𝑏

𝑖𝑗

是同型矩阵,且它们所有对 应位置的元素均相等,即:

𝑎

𝑖𝑗

= 𝑏

𝑖𝑗

(𝑖=1,2,..,𝑚;𝑗=1,2,...,𝑛) , 则称矩阵A与矩阵B 相等,记作:𝐴=𝐵。

1. 矩阵的定义和基本描述

(8)

转置(Transpose)

【定义】矩阵的转置:转置是矩阵的重要操作之一,矩阵的转置 是以对角线为轴的镜像,这条对角线从左上角到右下角被称为主 对角线。我们将矩阵𝑨的转置表示为𝑨

𝑇

,定义如下:

𝐴

𝑇 𝑖,𝑗

= 𝐴

𝑗,𝑖

具体而言:

𝐴 =

𝐴

1,1

𝐴

1,2

𝐴

2,1

𝐴

2,2

𝐴

3,1

𝐴

3,2

⇒ 𝐴

𝑇

= 𝐴

1,1

𝐴

2,1

𝐴

3,1

𝐴

1,2

𝐴

2,2

𝐴

3,2

1. 矩阵的定义和基本描述

(9)

转置(Transpose)

标量的转置:标量可以看成是只有一个元素的矩阵。因此,

标量的转置等于它本身,即: 𝑎 = 𝑎

𝑇

向量的转置:向量可以看作是只有一列(行)的矩阵。因此,

向量的转置可以看作是只有一行(列)的矩阵。

• 若将向量元素作为行向量写在文本行中,则可以通过转置 将其转换为标准的列向量,比如: 𝒙 = [𝑥

1

, 𝑥

2

, 𝑥

3

]

𝑇

• 若将向量直接写在文本行中,则向量𝒂本身就是标准列向 量,其转置𝒂

𝑇

为行向量。

1. 矩阵的定义和基本描述

(10)

转置的运算规律

矩阵的转置也是一种运算,满足下述运算规律(假设运算都 是可行的):

⚫ (𝐴

𝑇

)

𝑇

=𝐴

⚫ (𝐴+𝐵)

𝑇

=𝐴

𝑇

+𝐵

𝑇

⚫ (𝜆𝐴)

𝑇

=𝜆𝐴

𝑇

⚫ (𝐴𝐵)

𝑇

=𝐵

𝑇

𝐴

𝑇

矩阵的转置

可以脱括号,但是要注意顺序

(11)

转置(Transpose)

【定义】 给定矩阵𝐴

𝑚×𝑛

, 若将其行和列的元素进行位置互换,可以 得到一个新的矩阵𝐵

𝑛×𝑚

。那么矩阵B就称为矩阵A的转置矩阵,并 记作 𝐵=𝐴

𝑇

。同时,矩阵A也称为矩阵B的转置矩阵。行和列的互换 操作就称为矩阵的转置。

【例3.1】下面给出矩阵转置的Python代码:

矩阵的转置

注意向量(一维数组)无法执行转置运算。

(12)

【例1】矩阵转置的例子

此处只给出Python代码的实现方法:

矩阵的转置

(13)

矩阵的Frobenius范数

弗罗贝尼乌斯范数(Frobenius范数):简称为F范数,是一种 定义在矩阵上的范数,用于衡量矩阵的大小。F范数表示矩阵中 各元素的平方和开方。矩阵A=(a

ij

)的Frobenius范数为:

A

F

= ෍

𝑖,𝑗

𝐴

𝑖,𝑗 2

向量的范数

在Python中,我们可以使用

np.linalg.norm(A)来求矩阵的F范数。

A 为矩阵时

,np.linalg.norm()方 法默认为F范数。

(14)

基于矩阵的向量

(15)

为了规范和便于计算,所有的量(向量、矩阵、张量)都规 范成张量,并同时使用矩阵(张量)来进行表示。在程序中,我 们统一使用numpy数组来表示这种量。此时,

一个 1×n 的行向量 𝑎

𝑇

就表示成一个只有一行的矩阵;

一个 n×1 的列向量 𝑏 则表示成一个只有一列的矩阵。

【结果分析】我们使用一个二维数组来显示向量(两层中括号),

这种方法基本上贯穿于整个计算机领域。其中 a 用来表示一个四 维行向量(二阶张量),b 表示一个四维列向量(二阶张量) 。

2. 基于矩阵的向量

(16)

课堂互动一 Link

(17)

特殊形态的矩阵

(18)

方阵

对称矩阵

零矩阵

对角矩阵

三角矩阵

单位矩阵

逆矩阵

正定矩阵

半正定矩阵

负定矩阵

正交矩阵

3. 特殊形态的矩阵

(19)

方阵

【定义】行数和列数相等的矩阵称为方阵,即存在𝑨

𝑚×𝑛

, 𝑚 = 𝑛 。 方阵的行数或列数称为矩阵的阶数。例如,一个 𝑛 阶方阵记为 𝐴

𝑛

3. 特殊形态的矩阵

(20)

对称矩阵(Symmetric Matrix)

【定义】给定矩阵𝐴

𝑚×𝑛

,若其转置矩阵𝐴

𝑇

与原矩阵相等,即:

𝑨

𝑇

= 𝑨,则矩阵A称为对称矩阵。

不难发现,矩阵对称的前提条件有两点:

1. 矩阵A是一个方阵

2. 矩阵A的每一个元素都满足 𝐴

𝑖𝑗

=𝐴

𝑗𝑖

3. 特殊形态的矩阵

(21)

对称矩阵(Python描述)

3. 特殊形态的矩阵

(22)

零矩阵

所有元素都为0的矩阵称为零矩阵,记作O。此外还可以通过 下标法标识出零矩阵的形态,例如一个4×5的零矩阵,可以表示为 𝑂

4×5

。值得注意的是,不同型的零矩阵是不同(不相等)的,例如:

𝑂

4×5

≠𝑂

2×3

零矩阵最重要的作用就是用来初始化矩阵,

⚫ 一方面可以使用零矩阵来表示实际存储数据矩阵的规模,达到 初始化矩阵和申请内存空间的功能;

⚫ 另一方面零矩阵也是占用存储空间最小的矩阵。

3. 特殊形态的矩阵

(23)

零矩阵 3. 特殊形态的矩阵

任意匹配:

(A==B).any()

所有匹配:

(A==B).all()

按位匹配:(A==B)

形态匹配:

A.shape==B.shape

(24)

对角矩阵(Diagonal Matrix)

【定义】一个n阶方阵的左上角与右下角之间的连线称为它的主对 角线。除了主对角线上的元素外所有的元素都为0,这种矩阵就称 为对角矩阵,即:𝑎

𝑖𝑗

= 0, 𝑖 ≠ 𝑗。

𝑨 =

1

0 0

2

0 0 0 0 0 0 0 0

0 0 0 0

3

0 0 0

4

0 0 0

5

3. 特殊形态的矩阵

在对角矩阵中 ,

为0的元素位置可

以省去不写。

(25)

上三角矩阵和下三角矩阵

【定义】主对角线下方的元素全为零的方阵称为上三角矩阵,主对 角线上方的元素全为零的方阵称为下三角矩阵。

上三角𝐴

𝑈

=

𝑎

11

𝑎

12 𝑎 11

𝑎

22

𝑎

1𝑛

𝑎

2𝑛 𝑎 11 𝑎 11

𝑎 11 𝑎 11

𝑎 11

𝑎

𝑛𝑛

,下三角𝐴

𝐷

=

𝑎

11 𝑎 11

𝑎

21

𝑎

22

⋯ 𝑎 11

⋯ 𝑎 11

𝑎

𝑛1

𝑎

𝑛2

⋯ 𝑎

𝑛𝑛

3. 特殊形态的矩阵

0

0

(26)

单位矩阵(Identity Matrix)

【定义】在对角矩阵中,如果对角线上的元素都为1,则该矩阵称 为单位矩阵。任意矩阵和单位矩阵相乘,都不会改变。我们把 n 阶 单位矩阵记作 𝐼

𝑛

(也被记作 𝐸

𝑛

),形式上:∀𝑥 ∈ ℝ

𝑛

, 𝐼

𝑛

𝑥 = 𝑥。

𝑰 =

1

1 1

1

1 1 1 1 1 1

1 1

1

1 1

1

3. 特殊形态的矩阵

(27)

逆矩阵(Matrix Inversion)

矩阵A的逆矩阵记作

A −1

,其定义的矩阵满足如下条件:

𝐴

−1

𝐴 = 𝐼

𝑛

通常可以通过矩阵逆解的方式求解逆矩阵,但是首先需要考 虑逆矩阵是否存在。更一般地说,相同的逆矩阵可以用于多次求 解不同向量b的方程,如后续的基底变换。但实际应用中,逆矩 阵主要作为理论工具,因为逆矩阵𝐴

−1

在数字计算机上只能表现 有限的精度。求解逆矩阵,在python中可以通过如下代码实现:

from scipy import linalg linalg.inv(A)

3. 特殊形态的矩阵

(28)

逆矩阵的性质

1. 如果矩阵A可逆,则A的逆矩阵唯一。

2. 若A、B为同阶可逆方阵,且满足AB=I,则BA=I,即A和B互逆 3. 若A可逆,则A

-1

也可逆,且(A

-1

)

-1

=A 。

4. 若A可逆,数λ≠0,则λA可逆,且 (λA)

-1

= A

-1

λ

-1

5. 若A、B均为n阶可逆方阵,则AB也可逆,且(AB)

-1

= (B

-1

)(A

-1

)。此 性质可推广至k个同阶方阵连乘的情况:

(A

1 A 2 …A k

)

-1

= A

k -1 A k-1 -1 ... A 1 -1

3. 特殊形态的矩阵

(29)

正交矩阵( Orthogonal Matrix)

正交矩阵:逆矩阵等于它的转置矩阵的方阵。正交矩阵的行向量 和列向量分别都是标准正交,即该矩阵的一个内积空间的正交基 是元素两两正交的基,这意味着基向量的模长都是单位长度。

正交矩阵求逆矩阵的代价很小,因此备受关注,此外,它还 具有很多有趣的性质,例如:

1). 𝑨

−1

= 𝑨

𝑇

2). 𝑨

𝑇

也是正交矩阵;

3). 𝑨的行列式值等于1或-1;

4). 𝑨的各行(列)是单位向量,且两两正交

3. 特殊形态的矩阵

(30)

正定、半正定和负定矩阵

正定矩阵(Positive Definite Matrix):对于矩阵M,任意非 零向量𝒛,都有:𝒛

𝑇

𝑴𝒛 > 0。

半正定矩阵(Positive Semidefinite Matrix):对于矩阵M

,任意非零向量𝒛,都有:𝒛

𝑇

𝑴𝒛 ≥ 0。

负定矩阵(Negative Definite Matrix):对于矩阵M,任意 非零向量𝒛,都有:𝒛

𝑇

𝑴𝒛 < 0。

对于以上三种特殊矩阵,它们都有很多不同的判定方法和性 质,目前只需要记得它们的定义即可。

3. 特殊形态的矩阵

(31)

课堂互动二 Link

(32)

读万卷书 行万里路 只为最好的修炼

QQ:14777591 (宇宙骑士)

Email:ouxinyu@alumni.hust.edu.cn Tel:18687840023

參考文獻

相關文件

基於「就業服務法」第 16

基於「就業服務法」第 16

基於「就業服務法」第 16

基於「就業服務法」第 16

At this level, common classroom tasks and computer technology exist not as ends but as supports for student centered learning. Collaboration becomes necessary and technology

22 韩立余: 《当代单边主义与多边主义的碰撞及其发展前景》 , 《国际经济法学刊》2018 年第 4 期,第 3 9-40

第七章 第七章 個案學校 個案學校 個案學校 個案學校 SWOT SWOT SWOT SWOT 分析 分析 分析與 分析 與 與 TOWS 與 TOWS TOWS TOWS 策略矩陣分析 策略矩陣分析

最早的歌唱形式是打猎和狩猎中的欢 呼之声。随后,人类祭祀仪式的出现为歌