首页 > 解决方案 > 基于SVD实现计算酉矩阵的行列式

问题描述

我有一个真正的方阵X,我需要对其执行奇异值分解。现在,执行操作

X=USV^T

由于 U 和 V 是正交的,我们知道det(X)=±det(S)并且det(S)是非负的,因为奇异值是非负的。

现在,我需要知道和的行列式的符号UV当然,这与知道行列式相同)。然而,天真的方法让我付出了代价2 O(N^3)

我想知道是否有人知道一种方法

  1. U将和的行列式符号推断为V中的 SVD 实现或 Python 中的类似库的副产品numpyscipy而无需调用det(U)det(V)
  2. det(U)根据正交的事实,计算比 的默认实现更快的正交矩阵的行列式U/V

标签: pythonnumpyoptimizationscipysvd

解决方案


推荐阅读