衡量矩阵数值稳定性的关键指标:矩阵的条件数

文章目录

矩阵的条件数(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)=AA1, 
其中 ( ∥ ⋅ ∥ ) (\| \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=A1Δb

引入矩阵范数(subordinate matrix norm),根据其性质可得:
∥ Δ x ∥ ≤ ∥ A − 1 ∥ ∥ Δ b ∥ \| \Delta x \| \leq \| A^{-1} \| \| \Delta b \| ∥ΔxA1∥∥Δb

结合原始系统 ( b = Ax ) 的范数关系:
∥ b ∥ ≤ ∥ A ∥ ∥ x ∥ ⇒ ∥ x ∥ ≥ ∥ b ∥ ∥ A ∥ \| b \| \leq \| A \| \| x \| \Rightarrow \| x \| \geq \frac{\| b \|}{\| A \|} bA∥∥xxAb

当 ( 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∥∥A1)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=A1ΔA(x+Δx)

取范数并利用矩阵范数的相容性,可得:
∥ Δ x ∥ ≤ ∥ A − 1 ∥ ∥ Δ A ∥ ∥ x + Δ x ∥ \| \Delta x \| \leq \| A^{-1} \| \| \Delta A \| \| x + \Delta x \| ∥ΔxA1∥∥Δ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∥ΔxA∥∥A1A∥ΔA

结合原始系统的范数关系 ∥ A ∥ ∥ x ∥ ≥ ∥ b ∥ \| A \| \| x \| \geq \| b \| A∥∥xb,当 ∥ A − 1 ∥ ∥ Δ A ∥ < 1 \| A^{-1} \| \| \Delta A \| < 1 A1∥∥Δ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∥Δx1A1∥∥ΔAA∥∥A1A∥ΔA

2.3 定义矩阵的条件数

从上述两个扰动线性系统的分析中可以看出,解的相对误差均与常数项 ∥ A ∥ ∥ A − 1 ∥ \|A\| \|A^{-1}\| A∥∥A1 相关。因此,矩阵的条件数可定义为:
对于任意可逆矩阵 A ,其条件数为
cond ( A ) = ∥ A ∥ ∥ A − 1 ∥ \text{cond}(A) = \|A\| \|A^{-1}\| cond(A)=A∥∥A1
其中, 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∥Δxcond(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∥Δxcond(A)A∥ΔA

进一步约束条件
若扰动矩阵满足
∥ Δ A ∥ < 1 ∥ A − 1 ∥ \| \Delta A \| < \frac{1}{\| A^{-1} \|} ∥ΔA<A11
则解的相对误差可进一步表示为
∥ Δ 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∥Δxcond(A)A∥ΔA1A1∥∥Δ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∥ΔxCond(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.mzph.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;还是记下来吧。…