向量外积与秩1矩阵的关系

向量外积与秩1矩阵的关系

flyfish

  • 向量外积是构造秩1矩阵的基本工具,其本质是用两组向量的线性组合刻画矩阵的行和列相关性;
  • 任意秩1矩阵必可表示为外积,而低秩矩阵(秩 k k k)可分解为 k k k 个外积矩阵的和,这正是低秩分解通过“基向量组合”压缩矩阵信息的核心原理。
  • 从代数角度,秩1矩阵必为两个向量的外积 u v T \boldsymbol{u}\boldsymbol{v}^T uvT,其结构由两个向量唯一确定;
  • 从几何角度,秩1矩阵对应“将任意向量投影到 u \boldsymbol{u} u方向的线性变换”,其变换效果仅由 u \boldsymbol{u} u(像空间方向)和 v \boldsymbol{v} v(投影系数)决定。
  • 这种分解是低秩分解的基础,例如矩阵的奇异值分解(SVD)中,秩1矩阵是构成任意矩阵的“原子单元”。
一、向量外积的定义与几何意义

1. 向量外积的定义
设两个列向量 u ∈ R m \mathbf{u} \in \mathbb{R}^m uRm v ∈ R n \mathbf{v} \in \mathbb{R}^n vRn,其外积(Outer Product)定义为矩阵乘法:
u v T = ( u 1 u 2 ⋮ u m ) ( v 1 v 2 ⋯ v n ) = ( u 1 v 1 u 1 v 2 ⋯ u 1 v n u 2 v 1 u 2 v 2 ⋯ u 2 v n ⋮ ⋮ ⋱ ⋮ u m v 1 u m v 2 ⋯ u m v n ) \mathbf{u} \mathbf{v}^T = \begin{pmatrix} u_1 \\ u_2 \\ \vdots \\ u_m \end{pmatrix} \begin{pmatrix} v_1 & v_2 & \cdots & v_n \end{pmatrix} = \begin{pmatrix} u_1v_1 & u_1v_2 & \cdots & u_1v_n \\ u_2v_1 & u_2v_2 & \cdots & u_2v_n \\ \vdots & \vdots & \ddots & \vdots \\ u_mv_1 & u_mv_2 & \cdots & u_mv_n \end{pmatrix} uvT= u1u2um (v1v2vn)= u1v1u2v1umv1u1v2u2v2umv2u1vnu2vnumvn

  • 外积的结果是一个 m × n m \times n m×n 的矩阵,其每个元素为 u \mathbf{u} u v \mathbf{v} v 对应元素的乘积。
  • 对比内积(点积): u ⋅ v = u T v = ∑ i = 1 m u i v i \mathbf{u} \cdot \mathbf{v} = \mathbf{u}^T\mathbf{v} = \sum_{i=1}^m u_i v_i uv=uTv=i=1muivi,结果是一个标量;而外积结果是矩阵。

2. 外积矩阵的关键性质
以二维向量为例,设 u = ( a b ) \mathbf{u} = \begin{pmatrix} a \\ b \end{pmatrix} u=(ab) v = ( c d ) \mathbf{v} = \begin{pmatrix} c \\ d \end{pmatrix} v=(cd),则外积为:
u v T = ( a b ) ( c d ) = ( a c a d b c b d ) \mathbf{u}\mathbf{v}^T = \begin{pmatrix} a \\ b \end{pmatrix} \begin{pmatrix} c & d \end{pmatrix} = \begin{pmatrix} ac & ad \\ bc & bd \end{pmatrix} uvT=(ab)(cd)=(acbcadbd)

  • 观察矩阵结构:每一行都是 v T \mathbf{v}^T vT 的倍数(第一行是 a v T a\mathbf{v}^T avT,第二行是 b v T b\mathbf{v}^T bvT),即行向量线性相关;
  • 每一列都是 u \mathbf{u} u 的倍数(第一列是 c u c\mathbf{u} cu,第二列是 d u d\mathbf{u} du),即列向量线性相关。
二、秩1矩阵的定义与性质

1. 矩阵秩的定义
矩阵的秩是其线性无关的行向量(或列向量)的最大数量。若一个 m × n m \times n m×n 矩阵 A \mathbf{A} A 的秩为 1,则:

  • 所有行向量都是某一非零行向量的标量倍数;
  • 所有列向量都是某一非零列向量的标量倍数。

2. 秩1矩阵的核心特征
A \mathbf{A} A 是秩1的 m × n m \times n m×n 矩阵,则存在非零向量 u ∈ R m \mathbf{u} \in \mathbb{R}^m uRm v ∈ R n \mathbf{v} \in \mathbb{R}^n vRn,使得 A = u v T \mathbf{A} = \mathbf{u}\mathbf{v}^T A=uvT

三、原理证明:任意秩1矩阵可表示为外积

步骤1:利用秩1矩阵的行向量线性相关
A \mathbf{A} A 的秩为 1,且其第一行 r 1 ≠ 0 \mathbf{r}_1 \neq \mathbf{0} r1=0,则其他行 r i \mathbf{r}_i ri 可表示为 r i = k i r 1 \mathbf{r}_i = k_i \mathbf{r}_1 ri=kir1 k i k_i ki 为标量)。
u = ( 1 k 2 ⋮ k m ) \mathbf{u} = \begin{pmatrix} 1 \\ k_2 \\ \vdots \\ k_m \end{pmatrix} u= 1k2km v T = r 1 \mathbf{v}^T = \mathbf{r}_1 vT=r1,则:
u v T = ( 1 k 2 ⋮ k m ) r 1 = ( r 1 k 2 r 1 ⋮ k m r 1 ) = ( r 1 r 2 ⋮ r m ) = A \mathbf{u}\mathbf{v}^T = \begin{pmatrix} 1 \\ k_2 \\ \vdots \\ k_m \end{pmatrix} \mathbf{r}_1 = \begin{pmatrix} \mathbf{r}_1 \\ k_2\mathbf{r}_1 \\ \vdots \\ k_m\mathbf{r}_1 \end{pmatrix} = \begin{pmatrix} \mathbf{r}_1 \\ \mathbf{r}_2 \\ \vdots \\ \mathbf{r}_m \end{pmatrix} = \mathbf{A} uvT= 1k2km r1= r1k2r1kmr1 = r1r2rm =A

步骤2:示例验证
设秩1矩阵 A = ( 2 4 6 − 1 − 2 − 3 3 6 9 ) \mathbf{A} = \begin{pmatrix} 2 & 4 & 6 \\ -1 & -2 & -3 \\ 3 & 6 & 9 \end{pmatrix} A= 213426639 ,观察行向量:

  • 第二行是第一行的 − 1 2 -\frac{1}{2} 21 倍,第三行是第一行的 3 2 \frac{3}{2} 23 倍。
    取第一行作为 v T = ( 2 4 6 ) \mathbf{v}^T = \begin{pmatrix} 2 & 4 & 6 \end{pmatrix} vT=(246),系数向量 u = ( 1 − 1 2 3 2 ) \mathbf{u} = \begin{pmatrix} 1 \\ -\frac{1}{2} \\ \frac{3}{2} \end{pmatrix} u= 12123 ,则:
    u v T = ( 1 − 1 2 3 2 ) ( 2 4 6 ) = ( 2 4 6 − 1 − 2 − 3 3 6 9 ) = A \mathbf{u}\mathbf{v}^T = \begin{pmatrix} 1 \\ -\frac{1}{2} \\ \frac{3}{2} \end{pmatrix} \begin{pmatrix} 2 & 4 & 6 \end{pmatrix} = \begin{pmatrix} 2 & 4 & 6 \\ -1 & -2 & -3 \\ 3 & 6 & 9 \end{pmatrix} = \mathbf{A} uvT= 12123 (246)= 213426639 =A
四、从外积到低秩分解的本质理解

1. 秩1矩阵的“基向量”意义
外积 u v T \mathbf{u}\mathbf{v}^T uvT 可理解为:

  • 列向量 u \mathbf{u} u 定义了矩阵的“方向”(所有列都是 u \mathbf{u} u 的线性组合);
  • 行向量 v T \mathbf{v}^T vT 定义了矩阵的“权重”(所有行都是 v T \mathbf{v}^T vT 的线性组合)。
    因此,秩1矩阵本质上是用两个向量的外积来“压缩”矩阵信息,仅保留一组基向量的线性组合。

2. 低秩分解的推广(以秩k矩阵为例)
任意秩 k k k 的矩阵 A \mathbf{A} A 可分解为 k k k 个秩1矩阵的和:
A = ∑ i = 1 k u i v i T \mathbf{A} = \sum_{i=1}^k \mathbf{u}_i\mathbf{v}_i^T A=i=1kuiviT
其中 { u i } \{\mathbf{u}_i\} {ui} { v i } \{\mathbf{v}_i\} {vi} 分别为列向量和行向量组。这等价于用 k k k 组外积矩阵的线性组合近似表示 A \mathbf{A} A,而原始矩阵的秩为 k k k,即其信息可由 k k k 组基向量刻画。

五、简单示例:秩2矩阵的外积分解

设矩阵 B = ( 1 2 3 2 4 6 1 3 5 ) \mathbf{B} = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 3 & 5 \end{pmatrix} B= 121243365 ,先求其秩:

  • 前两行线性相关(第二行是第一行的2倍),第三行与前两行线性无关,故 rank ( B ) = 2 \text{rank}(\mathbf{B}) = 2 rank(B)=2

分解步骤:

  1. 取前两行构成秩1矩阵 B 1 = ( 1 2 3 2 4 6 0 0 0 ) = u 1 v 1 T \mathbf{B}_1 = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 0 & 0 & 0 \end{pmatrix} = \mathbf{u}_1\mathbf{v}_1^T B1= 120240360 =u1v1T,其中 u 1 = ( 1 2 0 ) \mathbf{u}_1 = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix} u1= 120 v 1 T = ( 1 2 3 ) \mathbf{v}_1^T = \begin{pmatrix} 1 & 2 & 3 \end{pmatrix} v1T=(123)
  2. 剩余部分为 B − B 1 = ( 0 0 0 0 0 0 1 3 5 ) = u 2 v 2 T \mathbf{B} - \mathbf{B}_1 = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 1 & 3 & 5 \end{pmatrix} = \mathbf{u}_2\mathbf{v}_2^T BB1= 001003005 =u2v2T,其中 u 2 = ( 0 0 1 ) \mathbf{u}_2 = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} u2= 001 v 2 T = ( 1 3 5 ) \mathbf{v}_2^T = \begin{pmatrix} 1 & 3 & 5 \end{pmatrix} v2T=(135)
  3. 最终分解: B = u 1 v 1 T + u 2 v 2 T \mathbf{B} = \mathbf{u}_1\mathbf{v}_1^T + \mathbf{u}_2\mathbf{v}_2^T B=u1v1T+u2v2T

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/84996.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/84996.shtml

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

相关文章

设计模式-创建型模式(详解)

创建型模式 单例模式 一个类只允许创建一个对象,称为单例。 单例体现:配置类、连接池、全局计数器、id生成器、日志对象。 懒汉式 (线程不安全) 单例:【不可用】 用到该单例对象的时候再创建。但存在很大问题,单线程下这段代…

什么是BI?有哪些应用场景

BI(Business Intelligence,商业智能)是通过技术手段对海量业务数据进行采集、整合、分析和可视化的过程,旨在帮助企业从数据中获取洞察,支持决策。其核心是通过工具(如Quick BI)将原始数据转化为…

从零开始:使用Vite和Vue.js搭建一个空项目

进入node.js官网 https://nodejs.org/zh-cn 下载node.js 点击进行安装, 完成之后,按住shift鼠标右键,打开powershell窗口 输入node -v ,出现版本号就是成功了 node -v 接下来,打开设置,搜索开发者设置&…

Redis 核心数据类型及典型使用场景详解

在日常开发中,Redis 不仅是缓存利器,更是一套高性能的数据结构服务。你是否真的了解 Redis 提供的五种核心数据类型?它们各自的底层结构和适用场景又有哪些差异?本篇博客将深入解析 Redis 的数据类型及其典型应用,助你…

threejs webVR获取相机正前方向量

通常获取相机正前方可以使用camera.getWorldDirection(new Vector3()) 函数来得到,但是在threejs0.139.2版本中进入VR后使用上面函数获取的数据是固定不变的,不管是否旋转了头盔,经过一番研究发现必须使用renderer.xr.getCamera() 此函数获取…

华为OD-2024年E卷-字符统计及重排[100分] -- python

问题描述: 给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写…

MCP(模型上下文协议)协议和Http协议对比

MCP(Model Context Protocol,模型上下文协议)和 HTTP(HyperText Transfer Protocol,超文本传输协议)是两种定位完全不同的协议,主要区别如下: 1. 核心定位 HTTP 通用网络通信协议&am…

C++打印乘法口诀表

int main()​​&#xff1a; 这是C 程序的入口点。每个C 程序都必须有一个 main 函数&#xff0c;程序从这里开始执行。 ​​外层 for 循环​​&#xff1a; for (int i 1; i < 10; i) { int i 1&#xff1a;定义并初始化循环变量 i 为 1。这里的 i 代表乘法表中的行…

RoGBAG 与 MCAP

RoGBAG 和 MCAP 都是机器人领域常用的二进制数据格式&#xff0c;用于存储传感器数据、控制命令和状态信息。两者主要区别在于&#xff1a; RoGBAG&#xff1a;ROS 1/2 的标准日志格式&#xff0c;采用 LZF/LZ4 压缩&#xff0c;适合中小型数据集 MCAP&#xff1a;新一代机器人…

Ubuntu 空间占用情况排查常用命令

查看当前目录总大小及子目录占用详情 du -sh * | sort -hr ​​du​​&#xff1a;磁盘使用统计命令​​-s​​&#xff1a;显示每个参数的总计&#xff08;不递归子目录&#xff09;​​-h​​&#xff1a;以人类可读格式&#xff08;KB/MB/GB&#xff09;显示​​*​​&…

C语言编译优化实战与技巧

一.概述 1.C语言编译优化介绍 C语言编译优化是提升程序性能的核心手段&#xff0c;涉及从源代码到机器码的多层次转换&#xff0c;下面从优化级别、常用技术、内存管理、指令调度等多个维度详细介绍。 2.编译器优化等级&#xff08;GCC/Clang&#xff09; 二.常用优化技术 1…

Seq2Seq理解

Seq2Seq理解 写在前面&#xff1a;学习Seq2Seq由于前面底子没打好导致理解起来非常困难&#xff0c;今天索性全部搞懂逻辑部分&#xff0c;后续我会把所学的一些算法全部以理解代码的形式发布出来&#xff0c;课程代码内容全部来自李沐老师的视频&#xff0c;再次感谢&#xf…

旅游规划智能体之ReAct Agent实战

引言 本文将系统性地介绍如何运用ReAct框架构建旅游规划智能体&#xff0c;通过LangChain的create_react_agent方法实现智能决策和多步骤任务处理。ReAct框架作为现代AI Agent开发的核心技术之一&#xff0c;为构建具备复杂推理能力的智能系统提供了重要的理论基础和实践指导。…

组合模式深度解析:Java设计模式实战指南与树形结构处理架构设计

组合模式深度解析&#xff1a;Java设计模式实战指南与树形结构处理架构设计 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用…

PHP设计模式实战:领域驱动设计与六边形架构

在前三篇关于电子商务系统、API服务和微服务架构的基础上,我们将深入探讨如何运用领域驱动设计(DDD)和六边形架构(Hexagonal Architecture)构建更加清晰、可维护的业务系统。随着业务复杂度增加,传统的分层架构往往难以清晰地表达业务逻辑,而DDD提供了一套方法论来解决这一问…

为什么在1080p的屏幕下,通常观看4K视频要比1080p的视频来的清晰?

一、分辨率与像素密度的底层逻辑 4K与1080p的像素差异 4K分辨率通常为38402160&#xff08;约830万像素&#xff09;&#xff0c;而1080p为19201080&#xff08;约207万像素&#xff09;&#xff0c;4K像素数量是1080p的4倍。当4K视频在1080p屏幕上播放时&#xff0c;需要将4倍…

C++ Json-Rpc框架 项目逻辑设计

Server • RpcServer&#xff1a;rpc功能模块与⽹络通信部分结合 RpcServer分为两部分 1.提供函数调用服务的服务端 2.提供服务注册的客户端 对内提供好rpc服务的路由关系管理map<method,服务描述对象>&#xff0c;以及rpc请求消息的分发处理函数。给Dispatcher提供onRpc…

Agent开发相关工具

LangChain LangChain LangGraph LangGraph LangSmith GraphRAG RAGFlow what-is-graphrag Dify n8n vLLM Model Context Protocol AutoGen CodeMirror Milvus Chroma

进程管理(一)

一. 进程的基本信息 1.1 进程的概念、组成及信息 1.1.1 概念 进程的概念与程序相对&#xff0c;程序是静态的而进程是动态的&#xff0c;一个程序执行多次会有多个不同的进程 1.1.2 组成 PCB&#xff08;程序控制块&#xff09;&#xff1a; 是一种保存下列信息的数据结构&…

k8s 中 cpu 核数的理解

物理核还是逻辑核 在 Kubernetes&#xff08;k8s&#xff09;编排文件&#xff08;如 Pod 或 Deployment 的 YAML 文件&#xff09;中设置的 CPU 核数&#xff0c;针对的是逻辑核数&#xff08;Logical Cores&#xff09;&#xff0c;而非物理核数&#xff08;Physical Cores&…