SciTech-Mathmatics - Advanced Linear Algebra(高等线性代数):

矩阵乘法 的 四种理解方式

矩阵乘法有四种理解方式:

  • 线性方程组视角:将矩阵看作行向量与向量的点积。
  • 列向量观点视角:将矩阵分解成列向量的线性组合。
  • 向量变换视角:将矩阵看作向量的变换函数。
  • 坐标变换视角:将矩阵乘法理解为同一向量在不同坐标系下的表达方式。

背景: 线性方程组 + 消元法 + 初等行变换

矩阵诞生于线性方程组的求解,最基本的运算方法来自于高斯消元法,

所以矩阵整个运算规则都符合高斯消元法,矩阵源于 线性方程组,

但经过几十年的发展已不限于求解线性方程组,可用于很多应用场景。

线性方程组如下所示:

\[\large \begin{array}{lllll} a_{11}x_1 &+a_{12}x_2 &+ \cdots & + a_{1n}x_n & = y_1 \\ a_{21}x_1 &+a_{22}x_2 &+ \cdots & + a_{2n}x_n & =y_2 \\
\cdots \\ a_{m1}x_1 &+a_{m2}x_2 & + \cdots & + a_{mn}x_n &=y_m \end{array}\]

四种视角理解

  1. 线性方程组视角(向量点积视角)

    线性方程组直接写成向量形式,如下所示:

    \(\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}\)

  2. 列向量观点视角

    对于\(\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\)使得上式必然成立。

  3. 向量变换视角(矩阵函数)

    对\(\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\)的关系(满/单 射特性)。
    • 矩阵函数(线性变换函数)的分解与合成:
      • 任何一个"矩阵(函数)"都可分解为“伸缩与旋转”两种基本的“矩阵函数(线性变换函数)”。
      • 用“伸缩与旋转”两种基本的“矩阵函数(线性变换函数)”可合成任意目标矩阵(函数)。
      • 伸缩(基本线性变换矩阵): 特征值,
      • 旋转(基本线性变换矩阵): 等效于 “坐标系变换(换坐标系)”,
  4. 坐标变换视角

    对于同一个向量不同基(即为不同坐标系)下有不同的坐标值

    虽然 坐标值不同, 但都表达 同一向量,即它们的方向和长度完全一致

    对于 "矩阵向量的乘法", 可以认为是 "同一个向量" 在 不同的坐标系的表达

    当然就可以由 "正向变换" 与 "逆向变换" 两个角度去理解矩阵乘法

    对于\(\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)的更多相关文章

  1. 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理

    0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...

  2. 讲一下numpy的矩阵特征值分解与奇异值分解

    1.特征值分解 主要还是调包: from numpy.linalg import eig 特征值分解:  A = P*B*PT  当然也可以写成 A = QT*B*Q  其中B为对角元为A的特征值的对 ...

  3. POJ3070 Fibonacci[矩阵乘法]

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  4. 2.3CUDA矩阵乘法

    CPU 矩阵乘法 能相乘的两个矩阵,必须满足一个矩阵的行数和第二个矩阵的列数相同. A(N*P) * B(P*M) = C(N*M). 其中P是行数,N是列数, 从宽高的角度来说,即 A的宽度和B的高 ...

  5. POJ3070 Fibonacci[矩阵乘法]【学习笔记】

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  6. C# 矩阵乘法实现

    矩阵乘法是一种高效的算法可以把一些一维递推优化到log( n ),还可以求路径方案等,所以更是是一种应用性极强的算法.矩阵,是线性代数中的基本概念之一.一个m×n的矩阵就是m×n个数排成m行n列的一个 ...

  7. 《Linear Algebra and Its Applications》-chaper2-矩阵代数-分块矩阵

    分块矩阵的概念: 在矩阵的实际应用中,为了形式的更加简化我们将一个较大的矩阵的内部进行一定的划分,使之成为几个小矩阵,然后在表大矩阵的时候,矩阵的内部元素就用小矩阵代替. 进行了这一步简化,我们就要分 ...

  8. HDU 4914 Linear recursive sequence(矩阵乘法递推的优化)

    题解见X姐的论文 矩阵乘法递推的优化.仅仅是mark一下. .

  9. 线性代数导论 | Linear Algebra 课程

    搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍. 线性代数只推荐Prof. Gilbert Strang的MIT课程,有视频,有教材,有习题,有考试,一套学下来基本就入 ...

  10. [转]OpenBLAS项目与矩阵乘法优化

    课程内容 OpenBLAS项目介绍 矩阵乘法优化算法 一步步调优实现 以下为公开课完整视频,共64分钟: 以下为公开课内容的文字及 PPT 整理. 雷锋网的朋友们大家好,我是张先轶,今天主要介绍一下我 ...

随机推荐

  1. centos 7.9下载地址

    http://isoredirect.centos.org/centos/7/isos/x86_64/ In order to conserve the limited bandwidth avail ...

  2. Tortoise-ORM级联查询与预加载性能优化

    title: Tortoise-ORM级联查询与预加载性能优化 date: 2025/04/26 12:25:42 updated: 2025/04/26 12:25:42 author: cmdra ...

  3. CS及免杀

    Strategic Cyber 责任有限公司发行了适用于 Windows.Linux 和 MacOS X 的 Cobalt Strike 软件包. 要安装 Cobalt Strike,只需将其存档解压 ...

  4. 如何将EndNote 和 Word (office)连接起来

    1,首先在电脑上打开word2019,点击左上角的"文件"菜单. 2,然后在打开的文件菜单中点击"选项"的快捷链接. 3,接下来在打开的Word选项窗口中点击左 ...

  5. 【MOOC】华中科技大学操作系统慕课答案-第4~6章+第7章单元测试

    文章目录 单选 填空 判断 第七章答案 单选 1 ‎关于进程错误的说法是 . A. 进程的运行全过程不可重现. √B. 一个程序只能生成一个进程. C. 进程具有异步性. D. 多个并发进程共享CPU ...

  6. dev c++基础操作

    文章目录 改变字体大小&改变背景色 最终效果 调节字体大小 调节背景色 常用快捷键 调试时粘贴测试数据 改变字体大小&改变背景色 最终效果 调节字体大小 Tools -> Edi ...

  7. SgLang代码细读-3. Cache

    本地显存池 数据结构 因为kv cache有MHA,MLA,DoubleSparse 等多种自定义类型,需要进行一步抽象将框架和cache类型做隔离, 所以有了2级内存池的设计. 一级保存和cache ...

  8. odoo14、15里tree上加button【系统原生功能】

    odoo14.15里面tree视图已经添加了跟form一样的header标签,后面列表写button可以由此处扩展 系统案例:注意:按钮要选择数据后才出现 代码如下: <tree string= ...

  9. odoo14里面开发一个简单的action.client 的tag 模板例子

    1.js模板  web_template.js odoo.define('web', function (require) { "use strict"; var core = r ...

  10. 面试题:Spring BeanFactory和FactoryBean的区别

      BeanFactory:以Factory结尾,表明它是一个工厂类(接口),它是Spring IOC容器的核心接口,负责实例化和管理bean的一个工厂,为具体的IoC容器的实现提供规范.BeanFa ...