当前位置: 首页 > news >正文

矩阵的极分解


矩阵的极分解(Polar Decomposition)是将一个矩阵分解为一个酉矩阵(或正交矩阵)和一个半正定矩阵的乘积。极分解类似于复数的极坐标表示(z = r e^{i\theta} ),其中半正定矩阵对应“模长”,酉矩阵对应“相位”。

1. 极分解的前提条件

        极分解适用于任意方阵或长方矩阵。对于 A \in \mathbb{C}^{m \times n} (或 \mathbb{R}^{m \times n}),极分解总是存在。特别地,如果 A 是可逆的,则极分解是唯一的。

2. 极分解的两种形式

        极分解有两种等价形式:

(1) 右极分解


A = UP

其中:

        U 是酉矩阵(U^* U = I),若 A 是实矩阵,则 U 是正交矩阵(U^T U = I

        P 是半正定矩阵(P = \sqrt{A^* A} )

(2) 左极分解


A = P' U'

其中:

        U' 是酉矩阵(可能与 U 不同)。

        P' 是半正定矩阵( P' = \sqrt{A A^*} )。

注:

        如果 A 是方阵且可逆,则 U 和 U' 相同,P 和 P' 不同;

        如果 A 是正规矩阵(A A^* = A^* A ),则 P = P' ,即左右极分解一致。

3. 极分解的计算方法


(1) 计算右极分解 A = UP 

计算 A^* A (即 A^H A 或 A^TA)。

A^* A 进行谱分解(特征分解):

        A^* A = V \Sigma V^*

其中 \Sigma 是对角矩阵,包含 A^* A 的特征值(非负)。

计算 P

        P = \sqrt{A^* A} = V \sqrt{\Sigma} V^*

\sqrt{\Sigma} 是对角矩阵,每个元素取算术平方根)。

计算 U

        U = A P^{-1}
(如果 A 不可逆,则 U 可以通过其他方式构造,如 SVD)。

(2) 计算左极分解 A = P' U' 

 
计算 A A^* 

A A^* 进行谱分解:

        A A^* = W \Sigma' W^*

计算 P' :

        P' = \sqrt{A A^*} = W \sqrt{\Sigma'} W^*

计算 U' :

        U' = P'^{-1}A

4. 极分解的证明


证明右极分解 A = UP 

A \in \mathbb{C}^{m \times n} ,计算 A^* A ,这是一个半正定矩阵(因为 x^* A^* A x = \| A x \|^2 \geq 0 )。

由于 A^* A 是半正定的,它可以被谱分解:

        A^* A = V \Sigma V^*

其中 \Sigma 是非负对角矩阵,V 是酉矩阵。

定义 P = \sqrt{A^* A} = V \sqrt{\Sigma} V^* ,显然 P 是半正定的。

构造 U = A P^{-1}  (如果 A 不可逆,P 可能有零特征值,此时 U 在零空间可以任意定义)。

验证 U 是酉矩阵:

        U^* U = (A P^{-1})^* (A P^{-1}) = P^{-1} A^* A P^{-1} = P^{-1} P^2 P^{-1} = I

因此 U 是酉矩阵,且 A = UP

5. 极分解与 SVD 的关系


极分解和奇异值分解(SVD)密切相关:

A = U \Sigma V^*  是 A 的 SVD,则:

右极分解:

        A = (U V^*) (V \Sigma V^*) = UP

其中 U V^* 是酉矩阵,P = V \Sigma V^* 是半正定的。

左极分解:

        A = (U \Sigma U^*) (U V^*) = P' U'
其中 P' = U \Sigma U^*  ,U' = U V^* 

 

6. 极分解的应用

        几何变换、优化、力学、计算机图形学等。极分解是矩阵分析中的重要工具,广泛应用于数学、物理和工程领域,参考:

矩阵的几何解释,极分解将线性变换分解为旋转/反射(酉部分)和拉伸(半正定部分)。

优化问题,在矩阵优化中,极分解可用于约束优化(如正交 Procrustes 问题)。

力学,在连续介质力学中,极分解用于描述变形梯度张量(F = RU ,其中 R 是旋转,U 是拉伸)。

计算机图形学,用于插值旋转和缩放变换。

7. 具体计算示例


例 1:实矩阵的极分解

设:

        A = \begin{bmatrix} 1 & -1 \\ 1 & 1 \end{bmatrix}

计算右极分解 A = UP

计算A^T A :

        A^T A = \begin{bmatrix} 1 & 1 \\ -1 & 1 \end{bmatrix} \begin{bmatrix} 1 & -1 \\ 1 & 1 \end{bmatrix} = \begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}

计算 P = \sqrt{A^T A} :

        P = \begin{bmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{bmatrix}

计算 U = A P^{-1}  :

        U = \begin{bmatrix} 1 & -1 \\ 1 & 1 \end{bmatrix} \begin{bmatrix} \frac{1}{\sqrt{2}} & 0 \\ 0 & \frac{1}{\sqrt{2}} \end{bmatrix} = \begin{bmatrix} \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix}

这是一个旋转矩阵(正交矩阵)。

最终极分解:

        A = UP = \begin{bmatrix} \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix} \begin{bmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{bmatrix}

例 2:复矩阵的极分解


设:

        A = \begin{bmatrix} 1 & i \\ -i & 1 \end{bmatrix}

计算右极分解 A = UP :

计算A^* A

        A^* A = \begin{bmatrix} 1 & i \\ -i & 1 \end{bmatrix} \begin{bmatrix} 1 & -i \\ i & 1 \end{bmatrix} = \begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}

计算 P = \sqrt{A^* A}  :

        P = \begin{bmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{bmatrix}

计算 U = A P^{-1} :

        U = \begin{bmatrix} 1 & i \\ -i & 1 \end{bmatrix} \begin{bmatrix} \frac{1}{\sqrt{2}} & 0 \\ 0 & \frac{1}{\sqrt{2}} \end{bmatrix} = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{i}{\sqrt{2}} \\ \frac{-i}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix}

验证 U 是酉矩阵:

        U^* U = I


最终极分解:

        A = UP = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{i}{\sqrt{2}} \\ \frac{-i}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix} \begin{bmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{bmatrix}

8. 小结一下


极分解将矩阵分解为酉矩阵和半正定矩阵的乘积,类似于复数的极坐标表示。

        右极分解:A = UP ,其中 P = \sqrt{A^* A}  

        左极分解:A = P' U' ,其中 P' = \sqrt{A A^*}  

计算方法:通常通过 A^* A 或 A A^*  的谱分解计算。

http://www.dtcms.com/a/298490.html

相关文章:

  • [Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统
  • 网络安全基础知识【1】
  • PHP插件开发中的一个错误:JSON直接输出导致网站首页异常
  • 零碳园区如何破局?安科瑞EMS3.0以智慧能源管理重构低碳未来
  • 焊接机器人节能先锋
  • Seaborn可视化
  • MYOJ_8516:CSP初赛题单8:计算机语言和信息编码
  • 工作学习笔记(深圳xxx公司软件工程师助理)
  • Map学习笔记
  • 扫描对方是否开启局域网远程桌面
  • Windows安装压缩包形式的PostgreSQL
  • Python 列表排序:快速上手指南
  • Palindrome Reorder
  • 腾讯研究院:AI Coding引发编程范式革命
  • 微信小程序动态切换窗口主题色
  • 多智能体强化学习入门:从基础到 IPPO 算法—强化学习(20)
  • 2507C++,C++协程的发送者
  • 浅谈生成式AI语言模型的现状与展望
  • haproxy七层代理(原理)
  • SawtoothSoftware 模板注入漏洞复现(CVE-2025-34300)
  • 8.异常处理:优雅地处理错误
  • ISIS高级特性GR
  • Springboot+activiti启动时报错XMLException: Error reading XML
  • 优思学院|QC七大手法之一的检查表应如何有效使用?
  • 【unitrix】 6.15 “非零非负一“的整数类型(NonZeroNonMinusOne)特质(non_zero_non_minus_one.rs)
  • 亚马逊广告策略:如何平衡大词和长尾词的效果?
  • 倩女幽魂手游代言人杨洋携剑仙入世 仙姿临世锋芒毕露
  • docker-compose:未找到命令的检查步骤和修复
  • ABP VNext + OData:实现可查询的 REST API
  • 服务端处于 TIME_WAIT 状态的 TCP 连接,收到相同四元组的 SYN 后会发生什么?详解