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

news/2025/9/25 22:36:36/文章来源:https://www.cnblogs.com/myleaf/p/19111744

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.mzph.cn/news/917636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky

遇到的问题使用第一个进入无痕模式就没有被一直触发的问题了 一、最可能的 3 个 “隐式消息发送源”(非你主动写的代码)浏览器插件 / 扩展程序发送的消息 很多浏览器插件(如广告拦截、翻译、开发者工具插件)会通过…

建设单位网站设计有了公网ip如何做网站

盒模型是界面布局需要掌握的基本功。盒模型基本概念 盒模型四要素&#xff1a;margin、border、padding、content。 盒模型分为&#xff1a;标准盒模型&#xff08;W3C盒模型&#xff09; 、 怪异盒模型&#xff08;IE盒模型&#xff09; 盒模型区别 怪异盒模型总宽度 content…

做网站包括什么网站备案的意思

list: quert.list()方法会将从数据库查找到的数据库放到一级缓存和二级缓存,但是不能从一级和二级缓存读取数据,但是可以从二级缓存的查询缓存读取数据, iterate: quert.iterate()方法总会先查找数据表的主键,然后根据每一个主键发送对应的sql语句从数据库读取数据,它可以把数据…

iis7重启 网站河南网站建设服务公司

当然&#xff0c;可以使用 Python 编写一个简单的程序来查找给定列表中的最大和最小值。以下是一个示例程序&#xff1a; def find_max_min(values):if not values: # 检查列表是否为空return None, Nonemax_value values[0]min_value values[0]for value in values:if val…

大连哪家公司做网站桃源网站建设

一、引言 在信息爆炸的时代,网络上蕴含着海量的数据。如果我们想要获取特定的信息,手动从网页上复制粘贴显然效率极低。这时,Web 爬虫就派上了用场。Web 爬虫是一种自动获取网页内容的程序,它可以模拟人类在浏览器中的操作,快速地抓取网页上的数据。本文将带领大家使用 Py…

新风向网站建设邢台县建设局网站

注&#xff1a;这一节的课程分为对已经从业产品经理业务转型的人群和想要进入到AI产品行业的人群两部分&#xff0c;我这里针对自己的情况只说明了第二部分&#xff0c;如果有需要了解其他的成长路径方式的朋友请自行观看刘老师的课程。 1.持续了解AI行业 你需要持之以恒的了…

精简网站模板适合个人做的网站

web 框架使用路由技术来帮助用户记住应用程序的 url。无需从主页导航即可直接访问所需页面。 route() 装饰器用于将 url 绑定到函数&#xff1a; app.route(/hello) def hello_world(): return hello world url /hello 规则绑定到 hello_world() 函数。如果用户访问 url :…

python+pillow+Image实现图片压缩到指定大小

本次使用的是python 3.6先安装 pip install pillow from PIL import Imageimport osimg_path = r"H:\pythonworkspace\test\a.jpg"img_path_2 = r"H:\pythonworkspace\test\test.jpg"# 下面这种…

页面卡顿问题分析与解决方案总结复盘

页面卡顿的本质是浏览器无法在16.7毫秒内完成一帧的渲染工作(以达到60FPS的流畅度)。问题根源可归为两大类:CPU计算瓶颈和I/O等待瓶颈。一、 CPU瓶颈(主线程过载)根本原因: JavaScript是单线程的。主线程负责执行…

建设银行官方网站下载做网站优化有什么作用

每日一句&#xff0c;vscode用的爽是爽&#xff0c;主要是可配置太强了。如果也很会研究&#xff0c;可以直接去咸鱼接单了 废话少说&#xff0c;直接整。 用着用着说是c intelliense被弃用&#xff0c;很多辅助功能无法使用&#xff0c;像查看定义、查看引用、函数跳转、智能提…

网站开发 渠道合肥做企业建网站那家好

个人总结-ApkTool2.34 打包经验基本命令基本演示基本命令 java -jar apktool.jar -r d aaa.apk -o bbb ↑这句话的意思 将aaa.apk 解压出到 bbb apktool.jar 是打包引用包 apktool.jar 下载地址 https://ibotpeaches.github.io/Apktool/ JAVA JDK 1.8.0 自行百度安装配置 path…

基于html5的购物网站开发软文素材网站

1.内存可见性 当一个变量被声明volatile时,它会保证被修改的值被立刻更新到主内存中,不会优化到寄存器或缓存中 2.禁止指令重排序 针对被volatile修饰的变量的读写相关指令,是不能被重新排序的 代码演示 class Counter{public int flag; } public class Thread3 {public stati…

分布式链路追踪-SkyWalking - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:【FastMCP】中间件

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Say 题选记(9.21 - 9.27)

P2048 [NOI2010] 超级钢琴 如何求长度在 \([L,R]\) 的子串中,子串和前 \(k\) 大的那些。 首先显然可以转化为前缀和。考虑 \(k = 1\) 的情况,把以 \(i(1 \le i \le n)\) 为右端点,\(j \in [i - R + 1, i - L + 1]\)…

3D 高斯训练速度和消耗 - MKT

3D 高斯训练速度和消耗 SEELE: A Unified Acceleration Framework for Real-Time Gaussian Splatting https://arxiv.org/pdf/2503.05168

做哪一类网站容易有排名中国建设银行网站会员注册信息补充

电脑崩溃之后&#xff0c;我发现维护系统还是很重要的一件事情。比如软件尽可能装D盘&#xff0c;C盘&#xff08;系统盘&#xff09;尽可能不要存储数据等等。接着&#xff0c;就是如何让系统更易用&#xff0c;因此我在这里分享我的使用方式&#xff0c;以后就可以随便重装系…

怎么设计个人网站在万网上域名了怎么做网站

目录 第一章、Java中的for循环介绍for循环for-each/增强for循环嵌套for循环 第一章、遍历List集合的几种方式简单的for循环增强型for循环Iterator迭代器ListIterator列表迭代器while循环Iterable.forEach()方法Stream.forEach()方法 第一章、Java中的for循环介绍 for循环 ①普…

完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地

完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

Linux网络:运用UDP实现网络通信(网络套接字的创建绑定)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …