向量外積與秩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= ?u1?u2??um?? ?(v1??v2????vn??)= ?u1?v1?u2?v1??um?v1??u1?v2?u2?v2??um?v2???????u1?vn?u2?vn??um?vn?? ?

  • 外積的結果是一個 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 u?v=uTv=i=1m?ui?vi?,結果是一個標量;而外積結果是矩陣。

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?)(c?d?)=(acbc?adbd?)

  • 觀察矩陣結構:每一行都是 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?=ki?r1? k i k_i ki? 為標量)。
u = ( 1 k 2 ? k m ) \mathbf{u} = \begin{pmatrix} 1 \\ k_2 \\ \vdots \\ k_m \end{pmatrix} u= ?1k2??km?? ? 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= ?1k2??km?? ?r1?= ?r1?k2?r1??km?r1?? ?= ?r1?r2??rm?? ?=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= ?2?13?4?26?6?39? ?,觀察行向量:

  • 第二行是第一行的 ? 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=(2?4?6?),系數向量 u = ( 1 ? 1 2 3 2 ) \mathbf{u} = \begin{pmatrix} 1 \\ -\frac{1}{2} \\ \frac{3}{2} \end{pmatrix} u= ?1?21?23?? ?,則:
    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= ?1?21?23?? ?(2?4?6?)= ?2?13?4?26?6?39? ?=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=1k?ui?viT?
其中 { 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= ?121?243?365? ?,先求其秩:

  • 前兩行線性相關(第二行是第一行的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?= ?120?240?360? ?=u1?v1T?,其中 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?=(1?2?3?)
  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 B?B1?= ?001?003?005? ?=u2?v2T?,其中 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?=(1?3?5?)
  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=u1?v1T?+u2?v2T?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84996.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84996.shtml
英文地址,請注明出處:http://en.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&…