当前位置: 首页 > news >正文

科学计算方法--矩阵分析记录

1. 前言

砚上三五笔,落墨鹧鸪啼

本文用于记录:科学计算方法--矩阵分析记录
最近有点忘记矩阵了(汗),这里记录一下。
如有不对,欢迎评论区指正!

2. 正文

2.1 矩阵(matrix)

矩阵理解为空间中的一种变换,作用到对象上,可以改变物体的位置、大小等。
矩阵乘法,后面每一列对应乘前面的每一行。
image

2.2 矩阵行列式 det

矩阵行列式
行列式是线性变换的“伸缩因子”。 它衡量了一个变换对空间(面积、体积)的放大或缩小比例,以及是否改变了空间的“定向”。
行列式大小改变了空间物体的面积或者体积的倍数。
行列式大于1,表示拉伸了
行列式小于1,表示缩小了
行列式为负数,表示镜像坐标系(相当于翻转加伸缩)

当矩阵的行列式等于0,意味着这个变换将矩阵从有变为无,那么反过来,就不可能无中生有,即这个矩阵不可逆

2.3 矩阵特征值 \(\lambda\) 和特征向量

矩阵特征值
描述在某些方向上的伸缩比例
这些方向叫做方向向量。

\(Ax=\lambda x\) 这句话的意思是矩阵作用到一个向量相当于对这个向量乘了一个系数,不改变其原有的方向等,只改变其大小。

image

例子

image

2.4 矩阵的秩

矩阵的秩揭示了线性变换后空间的“维度”。 它衡量了一个矩阵所包含的“信息量”的多少,或者其列向量(或行向量)张成的空间的维度。
我们把矩阵 A 看作一个线性变换。
问题:当我们用矩阵 A 对整个 n 维空间进行变换时,原本广阔的空间会被“映射”到一个新的空间。这个新空间的维度是多少?
答案:这个新空间的维度就是矩阵 A 的秩。

性质:

  • 行秩等于列秩:对于任意矩阵A,它的行秩等于列秩。因此,不论通过行还是列来计算矩阵的秩,结果都是相同的。
  • 可逆矩阵的秩:若方阵A是n\timesn的矩阵,且秩为nnn,则AAA可逆。反之,若A不可逆,则其秩小于nnn。

例子

image

2.5 对称矩阵

非主对角线的元素对应相同,一般\(A^{T}A\)的结果是对称矩阵。对角线的值是平方项

2.6 (负)(半)正定矩阵

  • 正定矩阵
    特征值为正,对称矩阵。这类矩阵一般起的作用主要是拉伸变换。

引入二次型的概念,主要应用在三维空间中的几何图形。
一个对称矩阵\(A\)是正定的,当且仅当对于任意非零向量\(x\),其二次型 \(\x^T A x\)的值恒大于零:

\[x^T A x > 0 \quad (\forall x \neq 0) \]

这里可以通过图像观察:
image
这类矩阵具有很好的性质,对于最优化方法中的梯度计算等都非常方便,可以寻找到极小值点。

  • 半正定矩阵

\[x^T A x >= 0 \quad (\forall x \neq 0) \]

image

  • 负定矩阵

\[x^T A x < 0 \quad (\forall x \neq 0) \]

image

  • 不定矩阵
    这类矩阵的值或大于0或小于0
    image

2.7 合同矩阵

特征值符号完全相同,表示几何空间中的拉伸等相同。

同一个二次型在不同坐标系(基)下的表示:

想象一个二次型,例如 $ f(x, y) = ax^2 + bxy + cy^2 $。这个函数可以通过一个对称矩阵 $ A $ 表示为 $ f(\mathbf{x}) = \mathbf{x}^T A \mathbf{x} $。

  • 标准坐标系下,这个二次型对应的矩阵是 $ A $。
  • 如果我们通过一个可逆的线性变换 $ \mathbf{x} = P\mathbf{y} $ 来改变变量(相当于换了一个坐标系),那么在新的 $ \mathbf{y} $ 坐标系下,这个二次型会有一个新的矩阵 $ B $。

矩阵 $ A $ 和 $ B $ 虽然不同,但它们表示的是同一个二次型(只是变量替换了)。这样的矩阵 $ A $ 和 $ B $ 就称为合同矩阵

合同矩阵可以看作是“同一个几何图形(如椭圆、双曲线),在不同坐标系下的不同方程所对应的矩阵”。

定义

设 $ A $ 和 $ B $ 为 $ n \times n $ 的方阵。如果存在一个可逆矩阵 $ P $,使得下式成立:

\[B = P^{T} A P \]

那么,我们就称矩阵 $ B $ 与矩阵 $ A $ 合同(Congruent)。

  • 关键区别:与相似变换 $ (B = P^{-1} A P) $ 不同,合同变换用的是转置矩阵 $ P^{T} $,而不是逆矩阵 $ P^{-1} $。
  • 当 $ P $ 是正交矩阵(即 $ P^{-1} = P^{T} $)时,合同变换和相似变换是一回事。但一般情况下,两者不同。

2.8 相似矩阵

想象一个二维空间的线性变换(比如旋转、拉伸)。

如果你站在标准坐标系(比如x轴和y轴)下去描述这个变换,你会得到一个矩阵 A。现在,你换了一个角度观察,建立了一个新的坐标系。在这个新坐标系下,同一个变换会用一个不同的矩阵 B 来描述。那么,矩阵 A 和 B 虽然外表不同,但它们描述的是同一个本质的变换。这样的矩阵 A 和 B 就称为相似矩阵。相似矩阵可以看作是“同一个人,在不同语言下的不同名字”。

image

特征值完全相同且可对角化

image

2.9 向量范数

  • 1 范数(曼哈顿范数)
    \(|| a ||_1\)
    绝对值求和

  • 2 范数 (欧几里得范数)
    平方和开根号

  • \(\infty\) 范数 (绝对最大范数)
    向量所有分量中绝对值最大的值

  • p 范数 (通用范数)
    p方和开p次方

这里注意下默认是二范数,即符号"|| ||",也写成\(||...||_2\)

2.10 矩阵的范数

矩阵范数需要满足与向量范数类似的性质(正定、齐次、三角不等式),并且通常还要求满足第4个性质:次相乘性($ |AB| \le |A| \cdot |B| $)。

矩阵范数主要有两类:

1. 诱导范数(或算子范数)【最常用】

这是由向量范数诱导出来的矩阵范数。其思想是:将矩阵视为一个线性变换,看它能将单位向量“拉伸”到多长。
定义:

\[ \|A\| = \max_{\mathbf{x} \neq \mathbf{0}} \frac{\|A\mathbf{x}\|}{\|\mathbf{x}\|} = \max_{\|\mathbf{x}\|=1} \|A\mathbf{x}\| \]

根据不同的向量范数,我们得到最重要的三种诱导矩阵范数:

  • 诱导1-范数(列和范数)

\[ \|A\|_1 = \max_{1 \le j \le n} \sum_{i=1}^{m} |a_{ij}| \]

计算:求每一列元素的绝对值之和,然后取最大值

  • 诱导∞-范数(行和范数)

\[ \|A\|_\infty = \max_{1 \le i \le m} \sum_{j=1}^{n} |a_{ij}| \]

计算:求每一行元素的绝对值之和,然后取最大值

  • 诱导2-范数(谱范数)

\[ \|A\|_2 = \sqrt{\lambda_{\text{max}}(A^T A)} \]

计算:计算矩阵 $ A^T A $ 的最大特征值 $ \lambda_{\text{max}} $,然后开平方根。这等于矩阵 $ A $ 的最大奇异值

2. “元素形式”范数(非诱导)

这类范数直接将矩阵视为一个“向量”来计算其大小。

  • Frobenius 范数(F-范数)

\[ \|A\|_F = \sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n} |a_{ij}|^2} \]

计算:将所有元素的平方加起来再开根。非常直观,在机器学习中极其常用。

满足相容性,即

\[||Ax|| <= ||A||\cdot||x|| \]

也就是这个不等式意味着,用矩阵 A 变换向量 x 后,新向量的长度最多被放大了 ||A|| 倍。

2.11 矩阵奇异值分解 (Singular Value Decomposition, SVD)

矩阵特征值表述的一般是方阵,因为从其简单的定义不难看到,如果A不是方阵,那么不就改变了等式两侧的维度了吗?那样还能等价吗?在几何中表述就是这个仅伸缩的向量一定不能在变换后改变了维度,从一个坐标系跳跃到了另一个坐标系。
行列式也同理,因为一个矩阵是mxn的话,就是相当于讲一个n维的向量映射到m维。而行列式表述的就是面积的变换或者体积的变换。如果坐标系的维度噶生了改变,那么还存在长度变换这种说法吗?肯定是不存在,所以在几何上表述的非方阵不存在行列式。

\[Ax=\lambda x \]

因此,拓展到一般的矩阵,就会用到奇异值。可以看作是特征值概念的推广,适用于任何形状的矩阵(而不仅仅是方阵)。

  • 核心思想:揭示矩阵的“本质结构”

对于一个方阵,特征值揭示了它在特征向量方向上的“拉伸”强度。但对于一个非方阵(例如,一个把二维向量变成三维向量的矩阵),特征值的定义就失效了,因为它连特征多项式都没有。

奇异值分解的核心思想是: 对于任意一个 $ m \times n $ 的实矩阵 $ A $,我们总可以找到两组标准正交基:一组在输入空间 $ \mathbb{R}^n $ 中,另一组在输出空间 $ \mathbb{R}^m $ 中。在这两组特定的基下,矩阵 $ A $ 的作用变得异常简单:它只是简单地将输入基向量的每一个分量,沿着输出基向量的方向进行缩放,然后可能丢弃一些分量或补零。

这些缩放因子,就是奇异值。它们总是非负的实数

  • 正式定义与奇异值分解

奇异值直接来源于矩阵的奇异值分解

定理:任何 $ m \times n $ 的实矩阵 $ A $ 都可以被分解为以下三个矩阵的乘积:

\[A = U \Sigma V^T \]

其中:

  • $ U $ 是一个 $ m \times m $ 的正交矩阵。它的列向量 $ \mathbf{u}_1, \mathbf{u}_2, \dots, \mathbf{u}_m $ 称为左奇异向量,它们构成了输出空间 $ \mathbb{R}^m $ 的一组标准正交基。
  • $ V $ 是一个 $ n \times n $ 的正交矩阵。它的列向量 $ \mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n $ 称为右奇异向量,它们构成了输入空间 $ \mathbb{R}^n $ 的一组标准正交基。
  • $ \Sigma $ 是一个 $ m \times n $ 的对角矩阵(非主对角线元素全为0)。其对角线上的元素 $ \sigma_1, \sigma_2, \sigma_3, \dots $ 就是奇异值,它们满足:

    \[\sigma_1 \ge \sigma_2 \ge \dots \ge \sigma_r > 0, \quad \sigma_{r+1} = \sigma_{r+2} = \dots = 0 \]

    这里 $ r = \text{rank}(A) $ 是矩阵 $ A $ 的秩。非零奇异值的个数就等于矩阵的秩。

奇异值 $ \sigma_i $ 的几何意义
如果将矩阵 $ A $ 看作一个线性变换,那么:

  1. 在输入空间 $ \mathbb{R}^n $ 中,取一个单位向量 $ \mathbf{v}_i $(右奇异向量)。
  2. 经过 $ A $ 变换后,得到输出向量 $ A\mathbf{v}_i $。
  3. 这个输出向量的长度就是对应的奇异值 $ \sigma_i $: $ |A\mathbf{v}_i| = \sigma_i $。
  4. 并且,这个输出向量的方向就是对应的左奇异向量 $ \mathbf{u}_i $ 的方向: $ A\mathbf{v}_i = \sigma_i \mathbf{u}_i $。

一句话描述SVD:矩阵 $ A $ 的作用是,先将输入向量在 $ V $ 基下旋转/反射 $ (V^T \mathbf{x}) $,然后根据 $ \Sigma $ 进行不同方向的缩放(奇异值),最后再在 $ U $ 基下旋转/反射,得到输出向量。

image

2.12 对角矩阵与对角化

这里先主要说明对角化。其核心思想是寻找最简单的相似矩阵。对角化的核心目标是:为一个复杂的方阵A找到一个由它的特征向量构成的新坐标系(基),使得在这个新坐标系下,线性变换 A 的作用变得极其简单——仅仅是沿着各个坐标轴的拉伸或压缩。这个“最简单”的形式,就是一个对角矩阵。

image

这里就需要满足一个显而易见的条件了:

image

其所有的特征向量都是线性无关的。那么这样我才可以按照这些特征向量的方向来分解一个矩阵为对角矩阵的相似矩阵。

例子

image

2.13 秩和特征值的关系

更多的,秩表达的是变换前后维度的“坍缩”情况,刻画的是维度的变换,而特征值刻画的性质则是变换前后向量本身长度的伸缩情况,不要求改变前后的变换维度,这是一个几何上的区别。

我们可以用一个比喻来理解:
想象一个魔术师(矩阵) 在操作一个橡皮泥做的立方体(输入空间)。秩 告诉我们,魔术师表演完后,这个立方体变成了什么形状的物体?秩为3:还是一个三维物体(比如变成歪斜的盒子)。秩为2:被压成了一个平面(比如一张薄饼)。秩为1:被搓成了一条线。秩描述了结果的“形态”。
特征值则告诉我们,魔术师在塑造这个立方体的三个主要独立方向上,分别用了多大的力气去拉长或压扁?特征值 [3, 1, 0.5] 意味着:他在第一个方向上将长度拉长为3倍,在第二个方向上保持不变,在第三个方向上压缩到一半。特征值描述了塑造过程的“力度”。

2.2

2.2

3. 后记

引用自:https://zhuanlan.zhihu.com/p/104980382
引用自:https://blog.csdn.net/Insomnia_X/article/details/126609967
引用自:https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=2247584435&idx=2&sn=ba2252633dfd6f7df2ddcfb02e191b55&chksm=fa8aa7ca6a38e61dafd0e0aeb151d06b04e262d3bc50900320b786d45a9ebe0ea03932324fc3&scene=27&poc_token=HK5N1WijIZPA-Knk10QhJE3vcUsRKtn3cC2ybq2H
引用自:https://blog.csdn.net/forest_LL/article/details/135343642
引用自:
引用自:
引用自:
引用自:
引用自:

To be continued.......

http://www.hskmm.com/?act=detail&tid=17428

相关文章:

  • window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky
  • python+pillow+Image实现图片压缩到指定大小
  • 页面卡顿问题分析与解决方案总结复盘
  • Say 题选记(9.21 - 9.27)
  • 9月25日
  • 3D 高斯训练速度和消耗 - MKT
  • 完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地
  • 常见进制
  • 9.25总结
  • Day08-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\array-ArrayDemo01~07
  • yolov10_float16.tflite TO yolov10_int8.tflite
  • ansible注意的和错误代码分析
  • 用 Rust 和 Tesseract OCR 识别验证码
  • 基于寄存器地址amp;标准外设库的LED流水灯
  • 用 Swift 和 Tesseract OCR 实现验证码识别
  • Rust 和 Tesseract OCR 实现验证码识别
  • AI-Powered-ToDo-List
  • Netty:完成RPC服务(实战)
  • Python 在 Web 开发中的应用与趋势
  • LLM MOE的进化之路
  • 相交链表-leetcode
  • AtCoder ARC114 总结 (A-C)
  • 告别单张保存!PPT 图片无损批量提取,这 3 种方法亲测有效!
  • ?模拟赛(2) 赛后总结
  • 日总结 8
  • 完整教程:讲一下ZooKeeper的持久化机制
  • 2025.9.25 sos dp小记
  • 英语_阅读_A farmer dream_待读
  • docker 私有仓库 harbor
  • vite+ts取别名@