SciTech-Mathmatics - Advanced Linear Algebra: 矩阵乘法 的 四种理解方式 + 向量 的空间&基、坐标&坐标变换 + Eigenvalue Decompression(特征值分解) + SVD(奇异值分解, Singular Value Decomposition)
SciTech-Mathmatics - Advanced Linear Algebra(高等线性代数):
矩阵乘法 的 四种理解方式
矩阵乘法有四种理解方式:
- 线性方程组视角:将矩阵看作行向量与向量的点积。
- 列向量观点视角:将矩阵分解成列向量的线性组合。
- 向量变换视角:将矩阵看作向量的变换函数。
- 坐标变换视角:将矩阵乘法理解为同一向量在不同坐标系下的表达方式。
背景: 线性方程组 + 消元法 + 初等行变换
矩阵诞生于线性方程组的求解,最基本的运算方法来自于高斯消元法,
所以矩阵整个运算规则都符合高斯消元法,矩阵源于 线性方程组,
但经过几十年的发展已不限于求解线性方程组,可用于很多应用场景。
线性方程组如下所示:
\cdots \\ a_{m1}x_1 &+a_{m2}x_2 & + \cdots & + a_{mn}x_n &=y_m \end{array}\]
四种视角理解
线性方程组视角(向量点积视角)
将线性方程组直接写成向量形式,如下所示:
\(\large \begin{array}{lll} \begin{pmatrix} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n\\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n\\ \cdots \\ a_{m1}x_1+a_{m2}x_2+ \cdots +a_{mn}x_n \\ \end{pmatrix}= \begin{pmatrix} y_1\\ y_2\\ \cdots \\ y_m \end{pmatrix} \end{array}\)可认为是 "矩阵的行向量" 与 "向量x" 的 点积(矩阵的行乘以向量的列):
\(\large \begin{array}{lll} \begin{pmatrix} a_{11}&a_{12}& \cdots &a_{1n}\\ a_{21}&a_{22}& \cdots &a_{2n}\\ \cdots \\ a_{m1}&a_{m2}& \cdots &a_{mn} \\ \end{pmatrix} \begin{pmatrix} x_1\\x_2\\ \cdots \\x_n \end{pmatrix}= \begin{pmatrix} y_1\\ y_2\\ \cdots \\ y_m \end{pmatrix} \end{array}\)列向量观点视角
对于\(\large Ax=y\):
\(\large \begin{array}{lll} \begin{pmatrix} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n\\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n\\ \cdots \\ a_{m1}x_1+a_{m2}x_2+ \cdots +a_{mn}x_n \\ \end{pmatrix}= \begin{pmatrix} y_1\\ y_2\\ \cdots \\ y_m \end{pmatrix} \end{array}\)可以分解成:
\(\large \begin{array}{lll} \begin{pmatrix} a_{11}\\ a_{21}\\ \cdots \\ a_{m1}\\ \end{pmatrix}x_1+\begin{pmatrix} a_{12}\\ a_{22}\\ \cdots \\ a_{m2}\\ \end{pmatrix}x_2+\begin{pmatrix} \cdots \\ \cdots \\ \cdots \\ \cdots \\ \end{pmatrix}x_{ \cdots }+\begin{pmatrix} a_{1n}\\ a_{2n}\\ \cdots \\ a_{mn}\\ \end{pmatrix}x_n = \begin{pmatrix} y_1\\ y_2\\ \cdots \\ y_m \end{pmatrix} \end{array}\)上述就表示 向量\(\large y\) 是否能由 向量\(\large a\) 的 线性组合 得到,
只要向量\(\large y\)位于向量\(\large a\)张成的向量空间,那么向量\(\large y\)一定能由向量\(\large a\)线性组合得到,
即一定能找到一组\(\large x\)使得上式必然成立。向量变换视角(矩阵函数)
对\(\large Ax=y\): 矩阵\(\large A\)使 向量\(\large x.\) 作 拉伸、旋转两种变换变成向量\(\large.y\),写成函数形式:\[\large f(x)=Ax
\]矩阵乘法 可理解为 矩阵\(\large A\) 作为一个 "线性变换函数", 将输入向量
映射
到一个新向量 。
对于一个 \(\large m×n\) 的矩阵 \(\large A\):- 定义域: 所有 n维向量的集合,即\(\large \bf{R}^n\);
- 值域: 可从 "矩阵乘法的列观点" 视角,值域\(\large \bf{R}^m\)。
通过矩阵函数(在矩阵的作用下),研究:
- 定义域 与 值域 的 映射关系,
如\(\large A\)是一个\(\large m \times n\)的矩阵,\(\large x\)是一个n维向量,
那么值域可认为是由\(\large A\)的n个列向量张成的空间,
张成的空间的维数等于列向量组的秩(小于等于n),即值域的维数一定是小于等于定义域的维数。
通过函数视角, 可研究在矩阵\(\large A\)有什么特征下, 定义域\(\large x\)与值域\(\large y\)的关系(满/单 射特性)。 - 矩阵函数(线性变换函数)的分解与合成:
- 任何一个"矩阵(函数)"都可分解为“伸缩与旋转”两种基本的“矩阵函数(线性变换函数)”。
- 用“伸缩与旋转”两种基本的“矩阵函数(线性变换函数)”可合成任意目标矩阵(函数)。
- 伸缩(基本线性变换矩阵): 特征值,
- 旋转(基本线性变换矩阵): 等效于 “坐标系变换(换坐标系)”,
坐标变换视角
对于同一个向量在不同基(即为不同坐标系)下有不同的坐标值,
虽然 坐标值不同, 但都表达 同一向量,即它们的方向和长度完全一致,
对于 "矩阵向量的乘法", 可以认为是 "同一个向量" 在 不同的坐标系的表达,
当然就可以由 "正向变换" 与 "逆向变换" 两个角度去理解矩阵乘法。对于\(\large Ax=y\)可以有两个坐标变换的视角,
一个视角是向量\(\large x\) 自然基坐标,另外一个是非自然基坐标。
对于向量\(\large x\)为非自然基坐标,向量\(\large y\)为自然基坐标,
向量\(\large x\)可以理解为以矩阵\(\large A\)的列向量为基的非自然坐标系坐标,
那个\(\large Ax\)运算即为将 向量\(\large x.\)转换到自然系的向量\(\large y\)的坐标。
\(\large \begin{array}{lll} Ax=\begin{pmatrix} a_{11}\\ a_{21}\\ \cdots \\ a_{m1}\\ \end{pmatrix}x_1+\begin{pmatrix} a_{12}\\ a_{22}\\ \cdots \\ a_{m2}\\ \end{pmatrix}x_2+\begin{pmatrix} \cdots \\ \cdots \\ \cdots \\ \cdots \\ \end{pmatrix}x_{ \cdots }+\begin{pmatrix} a_{1n}\\ a_{2n}\\ \cdots \\ a_{mn}\\ \end{pmatrix}x_n \\ = y_{1} e_{1} + y_{2} e_{2} + \cdots + y_{n} e_{n} \end{array}\)坐标变换的另外一个角度,是认为\(\large x\)是自然基坐标系,即:
\(\large \begin{array}{lll} x=\begin{pmatrix}x_1 \\x2\\ \cdots \\x_n\end{pmatrix} = E*\begin{pmatrix}x_1 \\x2\\ \cdots \\x_n\end{pmatrix} \\ = x_1\begin{pmatrix}1\\0\\ \cdots \\0\end{pmatrix}+ x_2\begin{pmatrix}0\\1\\ \cdots \\0\end{pmatrix}+ \cdots + x_n\begin{pmatrix}0\\0\\ \cdots \\1\end{pmatrix}\\ \ \\=x_1e_1+x_2e_2+ \cdots +x_n e_n \\ = y_1 A^{-1}_{1} + y_2 A^{-1}_{2} + \cdots + y_n A^{-1}_{n} \\ A^{-1} = (A^{-1}_{1}, A^{-1}_{2}, \cdots , A^{-1}_{n}) \end{array}\)
用\(\large Ax\)视角观察, 并不能直观地观察到坐标变换规律,可将其做一个简单变形:
\(\large \begin{array}{lll} Ax=y\ \rightarrow \ x=A^{-1}y \end{array}\)
上式的\(\large x\)是自然基坐标系,\(\large y\)是非自然基坐标系,
\(\large Ax\)就将自然基坐标, 转换成以\(\large A^{-1}\)的列向量为基坐标系的坐标。
矩阵向量乘法\(\large Ax=y\),一定情况下可认为:
向量\(\large x\)与向量\(\large y\)为同一向量,仅仅是坐标系不同,
"一定情况下"指 "\(\large A\)为满秩矩阵",因为 \(\large A\)为 非满秩矩阵就可能出现 "降维" 情况。
向量 的空间&基、坐标&坐标变换
![]() |
![]() |
![]() |
---|---|---|
Eigenvalue Decompression(特征值分解)
特征分解的本质之一: 利用分解结果生成
新的向量空间
![]() |
![]() |
![]() |
---|---|---|
![]() |
![]() |
![]() |
SVD(奇异值分解, Singular Value Decomposition)
![]() |
![]() |
![]() |
---|---|---|
SciTech-Mathmatics - Advanced Linear Algebra: 矩阵乘法 的 四种理解方式 + 向量 的空间&基、坐标&坐标变换 + Eigenvalue Decompression(特征值分解) + SVD(奇异值分解, Singular Value Decomposition)的更多相关文章
- 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理
0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...
- 讲一下numpy的矩阵特征值分解与奇异值分解
1.特征值分解 主要还是调包: from numpy.linalg import eig 特征值分解: A = P*B*PT 当然也可以写成 A = QT*B*Q 其中B为对角元为A的特征值的对 ...
- POJ3070 Fibonacci[矩阵乘法]
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13677 Accepted: 9697 Descri ...
- 2.3CUDA矩阵乘法
CPU 矩阵乘法 能相乘的两个矩阵,必须满足一个矩阵的行数和第二个矩阵的列数相同. A(N*P) * B(P*M) = C(N*M). 其中P是行数,N是列数, 从宽高的角度来说,即 A的宽度和B的高 ...
- POJ3070 Fibonacci[矩阵乘法]【学习笔记】
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13677 Accepted: 9697 Descri ...
- C# 矩阵乘法实现
矩阵乘法是一种高效的算法可以把一些一维递推优化到log( n ),还可以求路径方案等,所以更是是一种应用性极强的算法.矩阵,是线性代数中的基本概念之一.一个m×n的矩阵就是m×n个数排成m行n列的一个 ...
- 《Linear Algebra and Its Applications》-chaper2-矩阵代数-分块矩阵
分块矩阵的概念: 在矩阵的实际应用中,为了形式的更加简化我们将一个较大的矩阵的内部进行一定的划分,使之成为几个小矩阵,然后在表大矩阵的时候,矩阵的内部元素就用小矩阵代替. 进行了这一步简化,我们就要分 ...
- HDU 4914 Linear recursive sequence(矩阵乘法递推的优化)
题解见X姐的论文 矩阵乘法递推的优化.仅仅是mark一下. .
- 线性代数导论 | Linear Algebra 课程
搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍. 线性代数只推荐Prof. Gilbert Strang的MIT课程,有视频,有教材,有习题,有考试,一套学下来基本就入 ...
- [转]OpenBLAS项目与矩阵乘法优化
课程内容 OpenBLAS项目介绍 矩阵乘法优化算法 一步步调优实现 以下为公开课完整视频,共64分钟: 以下为公开课内容的文字及 PPT 整理. 雷锋网的朋友们大家好,我是张先轶,今天主要介绍一下我 ...
随机推荐
- centos 7.9下载地址
http://isoredirect.centos.org/centos/7/isos/x86_64/ In order to conserve the limited bandwidth avail ...
- Tortoise-ORM级联查询与预加载性能优化
title: Tortoise-ORM级联查询与预加载性能优化 date: 2025/04/26 12:25:42 updated: 2025/04/26 12:25:42 author: cmdra ...
- CS及免杀
Strategic Cyber 责任有限公司发行了适用于 Windows.Linux 和 MacOS X 的 Cobalt Strike 软件包. 要安装 Cobalt Strike,只需将其存档解压 ...
- 如何将EndNote 和 Word (office)连接起来
1,首先在电脑上打开word2019,点击左上角的"文件"菜单. 2,然后在打开的文件菜单中点击"选项"的快捷链接. 3,接下来在打开的Word选项窗口中点击左 ...
- 【MOOC】华中科技大学操作系统慕课答案-第4~6章+第7章单元测试
文章目录 单选 填空 判断 第七章答案 单选 1 关于进程错误的说法是 . A. 进程的运行全过程不可重现. √B. 一个程序只能生成一个进程. C. 进程具有异步性. D. 多个并发进程共享CPU ...
- dev c++基础操作
文章目录 改变字体大小&改变背景色 最终效果 调节字体大小 调节背景色 常用快捷键 调试时粘贴测试数据 改变字体大小&改变背景色 最终效果 调节字体大小 Tools -> Edi ...
- SgLang代码细读-3. Cache
本地显存池 数据结构 因为kv cache有MHA,MLA,DoubleSparse 等多种自定义类型,需要进行一步抽象将框架和cache类型做隔离, 所以有了2级内存池的设计. 一级保存和cache ...
- odoo14、15里tree上加button【系统原生功能】
odoo14.15里面tree视图已经添加了跟form一样的header标签,后面列表写button可以由此处扩展 系统案例:注意:按钮要选择数据后才出现 代码如下: <tree string= ...
- odoo14里面开发一个简单的action.client 的tag 模板例子
1.js模板 web_template.js odoo.define('web', function (require) { "use strict"; var core = r ...
- 面试题:Spring BeanFactory和FactoryBean的区别
BeanFactory:以Factory结尾,表明它是一个工厂类(接口),它是Spring IOC容器的核心接口,负责实例化和管理bean的一个工厂,为具体的IoC容器的实现提供规范.BeanFa ...