衡量矩陣數值穩定性的關鍵指標:矩陣的條件數

文章目錄

矩陣的條件數(conditional number)是衡量矩陣數值穩定性的關鍵指標,是判斷矩陣是否處于病態 (ill-conditioned) 的一種度量標準,尤其在數值分析和線性代數中至關重要。以下將對矩陣條件數進行總結。

1. 定義

矩陣的條件數衡量矩陣對擾動或誤差的敏感性。對于非奇異矩陣 A ∈ R n × n A \in \mathbb{R}^{n \times n} ARn×n,其條件數定義為:
Cond ( A ) = ∥ A ∥ ? ∥ A ? 1 ∥ , \ \text{Cond}(A) = \| A \| \cdot \| A^{-1} \|, \ ?Cond(A)=A?A?1,?
其中 ( ∥ ? ∥ ) (\| \cdot \|) (?) 為矩陣范數。常用范數包括:

  • 2-范數(譜條件數) Cond 2 ( A ) = σ max ? σ min ? \text{Cond}_2(A)=\frac{\sigma_{\max}}{\sigma_{\min}} Cond2?(A)=σmin?σmax??, σ max ? \sigma_{\max} σmax? σ min ? \sigma_{\min} σmin? 分別為最大和最小奇異值。
  • 1-范數∞-范數:通過列或行絕對和的最大值計算。
  • Frobenius范數:基于矩陣元素的平方和。

作用:
條件數越大,矩陣越“病態”(ill-conditioned),微小的輸入擾動會導致解的顯著變化
條件數接近1時,矩陣為“良態”(well-conditioned),數值計算穩定性高

2. 為什么要定義條件數?

2.1 分析線性系統 A ( x + Δ x ) = b + Δ b A(x + \Delta x) = b + \Delta b A(x+Δx)=b+Δb

在線性系統 A x = b Ax = b Ax=b中,假設 A A A 是可逆矩陣。對向量 b 增加擾動得到向量 b + Δ b b + \Delta b b+Δb,分析對應的解 x x x x + Δ x x + \Delta x x+Δx之間的變化:

原始線性系統:
A x = b Ax = b Ax=b

擾動線性系統:
A ( x + Δ x ) = b + Δ b A(x + \Delta x) = b + \Delta b A(x+Δx)=b+Δb

將擾動系統代入原始系統,得到:
b + A Δ x = b + Δ b b + A\Delta x = b + \Delta b b+AΔx=b+Δb
? A Δ x = Δ b \Rightarrow A\Delta x = \Delta b ?AΔx=Δb
? Δ x = A ? 1 Δ b \Rightarrow \Delta x = A^{-1}\Delta b ?Δx=A?1Δb

引入矩陣范數(subordinate matrix norm),根據其性質可得:
∥ Δ x ∥ ≤ ∥ A ? 1 ∥ ∥ Δ b ∥ \| \Delta x \| \leq \| A^{-1} \| \| \Delta b \| ∥ΔxA?1∥∥Δb

結合原始系統 ( b = Ax ) 的范數關系:
∥ b ∥ ≤ ∥ A ∥ ∥ x ∥ ? ∥ x ∥ ≥ ∥ b ∥ ∥ A ∥ \| b \| \leq \| A \| \| x \| \Rightarrow \| x \| \geq \frac{\| b \|}{\| A \|} bA∥∥x?xAb?

當 ( b \neq 0 ) 時,解的相對誤差滿足:
∥ Δ x ∥ ∥ x ∥ ≤ ( ∥ A ∥ ∥ A ? 1 ∥ ) ∥ Δ b ∥ ∥ b ∥ \frac{\| \Delta x \|}{\| x \|} \leq \left( \| A \| \| A^{-1} \| \right) \frac{\| \Delta b \|}{\| b \|} x∥Δx?(A∥∥A?1)b∥Δb?

2.2 分析線性系統 ( A + Δ A ) ( x + Δ x ) = b (A + \Delta A)(x + \Delta x) = b (A+ΔA)(x+Δx)=b

在線性系統 A x = b Ax = b Ax=b 中,假設 A 是可逆矩陣。對矩陣 A 增加擾動得到 A + Δ A A + \Delta A A+ΔA,分析對應的解 x x x x + Δ x x + \Delta x x+Δx 之間的變化:

原始線性系統:
A x = b Ax = b Ax=b

擾動線性系統:
( A + Δ A ) ( x + Δ x ) = b (A + \Delta A)(x + \Delta x) = b (A+ΔA)(x+Δx)=b

將擾動系統展開并代入原始系統,得到:
A ( x + Δ x ) + Δ A ( x + Δ x ) = b A(x + \Delta x) + \Delta A(x + \Delta x) = b A(x+Δx)+ΔA(x+Δx)=b
? A Δ x + Δ A ( x + Δ x ) = 0 \Rightarrow A\Delta x + \Delta A(x + \Delta x) = 0 ?AΔx+ΔA(x+Δx)=0
? Δ x = ? A ? 1 Δ A ( x + Δ x ) \Rightarrow \Delta x = -A^{-1}\Delta A(x + \Delta x) ?Δx=?A?1ΔA(x+Δx)

取范數并利用矩陣范數的相容性,可得:
∥ Δ x ∥ ≤ ∥ A ? 1 ∥ ∥ Δ A ∥ ∥ x + Δ x ∥ \| \Delta x \| \leq \| A^{-1} \| \| \Delta A \| \| x + \Delta x \| ∥ΔxA?1∥∥ΔA∥∥x+Δx

進一步整理相對誤差:
∥ Δ x ∥ ∥ x + Δ x ∥ ≤ ∥ A ∥ ∥ A ? 1 ∥ ∥ Δ A ∥ ∥ A ∥ \frac{\| \Delta x \|}{\| x + \Delta x \|} \leq \| A \| \| A^{-1} \| \frac{\| \Delta A \|}{\| A \|} x+Δx∥Δx?A∥∥A?1A∥ΔA?

結合原始系統的范數關系 ∥ A ∥ ∥ x ∥ ≥ ∥ b ∥ \| A \| \| x \| \geq \| b \| A∥∥xb,當 ∥ A ? 1 ∥ ∥ Δ A ∥ < 1 \| A^{-1} \| \| \Delta A \| < 1 A?1∥∥ΔA<1 時,解的相對誤差滿足:
∥ Δ x ∥ ∥ x ∥ ≤ ∥ A ∥ ∥ A ? 1 ∥ 1 ? ∥ A ? 1 ∥ ∥ Δ A ∥ ? ∥ Δ A ∥ ∥ A ∥ \frac{\| \Delta x \|}{\| x \|} \leq \frac{\| A \| \| A^{-1} \|}{1 - \| A^{-1} \| \| \Delta A \|} \cdot \frac{\| \Delta A \|}{\| A \|} x∥Δx?1?A?1∥∥ΔAA∥∥A?1??A∥ΔA?

2.3 定義矩陣的條件數

從上述兩個擾動線性系統的分析中可以看出,解的相對誤差均與常數項 ∥ A ∥ ∥ A ? 1 ∥ \|A\| \|A^{-1}\| A∥∥A?1 相關。因此,矩陣的條件數可定義為:
對于任意可逆矩陣 A ,其條件數為
cond ( A ) = ∥ A ∥ ∥ A ? 1 ∥ \text{cond}(A) = \|A\| \|A^{-1}\| cond(A)=A∥∥A?1
其中, cond ( ? ) \text{cond}(\cdot) cond(?)表示條件數。

應用分析

  1. 擾動右端項 ( \Delta b ) 的影響
    對于線性系統 A ( x + Δ x ) = b + Δ b A(x + \Delta x) = b + \Delta b A(x+Δx)=b+Δb,當 b ≠ 0 b \neq 0 b=0時,解的相對誤差滿足
    ∥ Δ x ∥ ∥ x ∥ ≤ cond ( A ) ∥ Δ b ∥ ∥ b ∥ \frac{\| \Delta x \|}{\| x \|} \leq \text{cond}(A) \frac{\| \Delta b \|}{\| b \|} x∥Δx?cond(A)b∥Δb?

  2. 擾動矩陣 ( \Delta A ) 的影響
    對于線性系統 ( A + Δ A ) ( x + Δ x ) = b (A + \Delta A)(x + \Delta x) = b (A+ΔA)(x+Δx)=b,當 b ≠ 0 b \neq 0 b=0 時,解的相對誤差滿足
    ∥ Δ x ∥ ∥ x + Δ x ∥ ≤ cond ( A ) ∥ Δ A ∥ ∥ A ∥ \frac{\| \Delta x \|}{\| x + \Delta x \|} \leq \text{cond}(A) \frac{\| \Delta A \|}{\| A \|} x+Δx∥Δx?cond(A)A∥ΔA?

進一步約束條件
若擾動矩陣滿足
∥ Δ A ∥ < 1 ∥ A ? 1 ∥ \| \Delta A \| < \frac{1}{\| A^{-1} \|} ∥ΔA<A?11?
則解的相對誤差可進一步表示為
∥ Δ x ∥ ∥ x ∥ ≤ cond ( A ) ∥ Δ A ∥ ∥ A ∥ ? 1 1 ? ∥ A ? 1 ∥ ∥ Δ A ∥ \frac{\| \Delta x \|}{\| x \|} \leq \text{cond}(A) \frac{\| \Delta A \|}{\| A \|} \cdot \frac{1}{1 - \| A^{-1} \| \| \Delta A \|} x∥Δx?cond(A)A∥ΔA??1?A?1∥∥ΔA1?

3. 性質及幾何意義

3.1. 性質

  • 下界為1 Cond ( A ) ≥ 1 \text{Cond}(A) \geq 1 Cond(A)1。正交矩陣的譜條件數為1,是“最良態”的矩陣。
  • 縮放不變性 Cond ( k A ) = Cond ( A ) \text{Cond}(kA) = \text{Cond}(A) Cond(kA)=Cond(A) k ≠ 0 k \neq 0 k=0
  • 奇異矩陣:條件數為無窮大(最小奇異值為零)。
  • 對稱正定矩陣:譜條件數為最大與最小特征值之比。

3.2. 幾何意義

條件數反映矩陣變換對單位球的拉伸/壓縮程度。譜條件數為變換后橢球最長軸與最短軸之比,比值越大,矩陣越“病態”。

4. 計算方法

  • 奇異值分解(SVD):計算最大和最小奇異值的比值(譜條件數)。
  • 矩陣逆的范數:如利用1-范數或∞-范數時需顯式計算逆矩陣。
  • 數值工具:MATLAB中可用 cond(A, p) 計算不同范數下的條件數( p = 1 , 2 , inf , ’fro’ p=1, 2, \text{inf}, \text{'fro'} p=1,2,inf,’fro’)。

5. 應用與影響

  • 線性方程組求解:條件數過大時,解的相對誤差被顯著放大。誤差估計式為:
    ∥ Δ x ∥ ∥ x ∥ ≤ Cond ( A ) ( ∥ Δ A ∥ ∥ A ∥ + ∥ Δ b ∥ ∥ b ∥ ) . \ \frac{\|\Delta x\|}{\|x\|} \leq \text{Cond}(A) \left( \frac{\|\Delta A\|}{\|A\|} + \frac{\|\Delta b\|}{\|b\|} \right). \ ?x∥Δx?Cond(A)(A∥ΔA?+b∥Δb?).?
  • 病態問題處理:需采用正則化(如嶺回歸)、高精度計算或預處理技術。
  • 特征值與奇異值:對稱矩陣的譜條件數由特征值決定,非對稱矩陣則由奇異值決定。
  • 機器學習:權值矩陣條件數過大可能導致訓練不穩定,需歸一化或正則化。

6. 常見誤區

  • 行列式無關性:行列式大小與條件數無直接關系(如對角矩陣可具大行列式但良態)。
  • 特征值與條件數:非對稱矩陣的特征值可能為復數,條件數僅由奇異值決定。

7. 經典例子

  • 希爾伯特矩陣:隨階數增長迅速病態,如5階條件數已超 1 0 5 10^5 105
  • 對角矩陣 diag ( 1 , ? ) \text{diag}(1, \epsilon) diag(1,?) 的條件數為 1 / ? 1/\epsilon 1/? ? → 0 \epsilon \to 0 ?0 時病態。

8. 條件數估計

  • Hager-Higham算法:估計1-范數條件數。
  • 迭代法:近似最大/最小奇異值以評估譜條件數。

總結

矩陣條件數是數值分析中的核心概念,直接影響算法穩定性與精度。理解其定義、計算方法和應用場景,有助于在科學計算與工程問題中避免數值不穩定,提升解的質量。

https://www.phys.uconn.edu/~rozman/Courses/m3511_18s/downloads/condnumber.pdf

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

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

4月22日復盤-開始卷積神經網絡

4月24日復盤 一、CNN 視覺處理三大任務&#xff1a;圖像分類、目標檢測、圖像分割 上游&#xff1a;提取特征&#xff0c;CNN 下游&#xff1a;分類、目標、分割等&#xff0c;具體的業務 1. 概述 ? 卷積神經網絡是深度學習在計算機視覺領域的突破性成果。在計算機視覺領…

【網絡原理】從零開始深入理解TCP的各項特性和機制.(三)

上篇介紹了網絡原理傳輸層TCP協議的知識,本篇博客給大家帶來的是網絡原理剩余的內容, 總體來說,這部分內容沒有上兩篇文章那么重要,本篇知識有一個印象即可. &#x1f40e;文章專欄: JavaEE初階 &#x1f680;若有問題 評論區見 ? 歡迎大家點贊 評論 收藏 分享 如果你不知道分…

解決qnn htp 后端不支持boolean 數據類型的方法。

一、背景 1.1 問題原因 Qnn 模型在使用fp16的模型轉換不支持類型是boolean的cast 算子&#xff0c;因為 htp 后端支持量化數據類型或者fp16&#xff0c;不支持boolean 類型。 ${QNN_SDK_ROOT_27}/bin/x86_64-linux-clang/qnn-model-lib-generator -c ./bge_small_fp16.cpp -b …

使用Three.js搭建自己的3Dweb模型(從0到1無廢話版本)

教學視頻參考&#xff1a;B站——Three.js教學 教學鏈接&#xff1a;Three.js中文網 老陳打碼 | 麒躍科技 一.什么是Three.js&#xff1f; Three.js? 是一個基于 JavaScript 的 ?3D 圖形庫&#xff0c;用于在網頁瀏覽器中創建和渲染交互式 3D 內容。它基于 WebGL&#xff0…

PostgreSQL WAL 冪等性詳解

1. WAL簡介 WAL&#xff08;Write-Ahead Logging&#xff09;是PostgreSQL的核心機制之一。其基本理念是&#xff1a;在修改數據庫數據頁之前&#xff0c;必須先將這次修改操作寫入到WAL日志中。 這確保了即使發生崩潰&#xff0c;數據庫也可以根據WAL日志進行恢復。 恢復的核…

git提交規范記錄,常見的提交類型及模板、示例

Git提交規范是一種約定俗成的提交信息編寫標準&#xff0c;旨在使代碼倉庫的提交歷史更加清晰、可讀和有組織。以下是常見的Git提交類型及其對應的提交模板&#xff1a; 提交信息的基本結構 一個標準的Git提交信息通常包含以下三個主要部分&#xff1a; Header?&#xff1a;描…

FastAPI系列06:FastAPI響應(Response)

FastAPI響應&#xff08;Response&#xff09; 1、Response入門2、Response基本操作設置響應體&#xff08;返回數據&#xff09;設置狀態碼設置響應頭設置 Cookies 3、響應模型 response_model4、響應類型 response_classResponse派生類自定義response_class 在“FastAPI系列0…

每日一題(小白)模擬娛樂篇33

首先&#xff0c;理解題意是十分重要的&#xff0c;我們是要求最短路徑&#xff0c;這道題可以用dfs&#xff0c;但是題目給出的數據是有規律的&#xff0c;我們可以嘗試模擬的過程使用簡單的方法做出來。每隔w數字就會向下轉向&#xff0c;就比如題目上示例的w6&#xff0c;無…

哈希封裝unordered_map和unordered_set的模擬實現

文章目錄 &#xff08;一&#xff09;認識unordered_map和unordered_set&#xff08;二&#xff09;模擬實現unordered_map和unordered_set2.1 實現出復用哈希表的框架2.2 迭代器iterator的實現思路分析2.3 unordered_map支持[] &#xff08;三&#xff09;結束語 &#xff08;…

Java學習-Java基礎

1.重寫與重載的區別 重寫發生在父子類之間,重載發生在同類之間構造方法不能重寫,只能重載重寫的方法返回值,參數列表,方法名必須相同重載的方法名相同,參數列表必須不同重寫的方法的訪問權限不能比父類方法的訪問權限更低 2.接口和抽象類的區別 接口是interface,抽象類是abs…

BG開發者日志0427:故事的起點

1、4月26日晚上&#xff0c;BG項目的gameplay部分開發完畢&#xff0c;后續是細節以及試玩版優化。 開發重心轉移到story部分&#xff0c;目前剛開始&#xff0c; 確切地說以前是長期擱置狀態&#xff0c;因為過去的四個月中gameplay部分優先開發。 --- 2、BG這個項目的起點…

頭歌實訓之游標觸發器

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 種一棵樹最好是十年前&#xff0c;其次是現在&#xff01; &#x1f680; 今天來學習C語言的相關知識。 &#x1f44d; 如果覺得這篇文章有幫助&#xff0c;歡迎您一鍵三連&#xff0c;分享給更…

【深度學習】多頭注意力機制的實現|pytorch

博主簡介&#xff1a;努力學習的22級計算機科學與技術本科生一枚&#x1f338;博主主頁&#xff1a; Yaoyao2024往期回顧&#xff1a;【深度學習】注意力機制| 基于“上下文”進行編碼,用更聰明的矩陣乘法替代笨重的全連接每日一言&#x1f33c;: 路漫漫其修遠兮&#xff0c;吾…

java16

1.API續集 可以導入別人寫好的clone的jar包 注意&#xff1a;方法要有調用者&#xff0c;如果調用者是null就會報錯 2.如何導入別人寫好的jar包 復制jar包然后粘貼在lib里面&#xff0c;然后右鍵點擊jar包再點擊下面的add 3.關于打印java中的引用數據類型

PostgreSQL的擴展 credcheck

PostgreSQL的擴展 credcheck credcheck 是 PostgreSQL 的一個安全擴展&#xff0c;專門用于強制實施密碼策略和憑證檢查&#xff0c;特別適合需要符合安全合規要求的數據庫環境。 一、擴展概述 1. 主要功能 強制密碼復雜度要求防止使用常見弱密碼密碼過期策略實施密碼重復使…

MyBatis中的@Param注解-如何傳入多個不同類型的參數

mybatis中參數識別規則 默認情況下,MyBatis 會按照參數位置自動分配名稱:param1, param2, param3, ...或者 arg0, arg1。 // Mapper 接口方法 User getUserByIdAndName(Integer id, String name); 以上接口在XML中只能通過param1或者arg0這樣的方式來引用,可讀性差。 &l…

DIFY教程第一集:安裝Dify配置環境

一、Dify的介紹 https://dify.ai/ Dify 是一款創新的智能生活助手應用&#xff0c;旨在為您提供便捷、高效的服務。通過人工智能技術&#xff0c; Dify 可以實現語音 助手、智能家居控制、日程管理等功能&#xff0c;助您輕松應對生活瑣事&#xff0c;享受智慧生活。簡約的…

5、Rag基礎:RAG 專題

RAG 簡介 什么是檢索增強生成? 檢索增強生成(RAG)是指對大型語言模型輸出進行優化,使其能夠在生成響應之前引用訓練數據來源之外的權威知識庫。大型語言模型(LLM)用海量數據進行訓練,使用數十億個參數為回答問題、翻譯語言和完成句子等任務生成原始輸出。在 LLM 本就強…

GAMES202-高質量實時渲染(homework1)

目錄 Homework1shadow MapPCF(Percentage Closer Filter)PCSS(Percentage Closer Soft Shadow) GitHub主頁&#xff1a;https://github.com/sdpyy1 作業實現:https://github.com/sdpyy1/CppLearn/tree/main/games202 Homework1 shadow Map 首先需要完成MVP矩陣的構造&#xf…

JDK(Ubuntu 18.04.6 LTS)安裝筆記

一、前言 本文與【MySQL 8&#xff08;Ubuntu 18.04.6 LTS&#xff09;安裝筆記】同批次&#xff1a;先搭建數據庫&#xff0c;再安裝JDK&#xff0c;后面肯定就是部署Web應用&#xff1a;典型的單機部署。“麻雀雖小五臟俱全”&#xff0c;善始善終&#xff0c;還是記下來吧。…