Questions tagged «svd»


3
关于奇异值分解算法的最新技术水平是什么?
我正在研究仅标头的矩阵库,以在尽可能简单的程序包中提供一定程度的线性代数功能,并且我试图调查当前的最新技术水平:计算a的SVD复矩阵。 我正在进行两阶段分解,即对角化,然后进行奇异值计算。现在,我正在使用Householder方法进行双角化(我相信LAPACK也使用该方法),而且我认为这与当前的方法一样好(除非有人知道算法)为了它..)。 ø( Ñ2)O(N2)\mathcal{O}(N^2) 奇异值的计算在我的清单上是下一个,对于执行此操作的通用算法,我有些不了解。我在这里读到,研究正在朝着一种逆迭代方法的方向发展,该方法可以保证正交性复杂性。我很想听听有关该消息或其他进展。ø( Ñ)O(N)\mathcal{O}(N)

1
纯旋转最小二乘法
任何人都可以推荐以下最小二乘问题的方法: 最小化的中找到,其中R是单一的(旋转)矩阵。[R ∈ [R3 × 3R∈R3×3R \in \mathbb{R}^{3 \times 3}R∑我= 0ñ(R x一世− b一世)2→ 分钟∑i=0N(Rxi−bi)2→min\sum\limits_{i=0}^N (Rx_i - b_i)^2 \rightarrow \min[RRR 我可以通过最小化∑我= 0ñ(A x一世− b一世)2→ 分钟∑i=0N(Axi−bi)2→min\sum\limits_{i=0}^N (Ax_i - b_i)^2 \rightarrow \min(任意甲∈ ř3 × 3A∈R3×3A \in \mathbb{R}^{3 \times 3})来得到一个近似解矩阵一种AA和: 计算SVD:A = UΣ VŤA=UΣVTA = U \Sigma V^T,降低ΣΣ\Sigma并近似ř ≈ ùVŤR≈UVTR \approx U V^T 计算极坐标分解:A …

2
计算截断的SVD,一次一个奇异值/向量
是否有一种截断的SVD算法可以一次计算一个奇异值? 我的问题:我想计算一个大的密集矩阵M的前ķķk奇异值(和奇异矢量),但是我不知道k的合适值是多少。M很大,因此出于效率考虑,我宁愿不评估完整的SVD,而只是在之后截断最小的SV。中号中号Mķķk中号中号M 理想情况下,将计算的奇异值的方式σ1个,σ2,…σ1个,σ2,…\sigma_1, \sigma_2,\ldots顺序,从最大(σ1个σ1个\sigma_1)到最小(σñσñ\sigma_n)。这样一来,我可以简单地停止计算计算后ķķk个奇异值,如果σķ/ σ1个σķ/σ1个\sigma_k/\sigma_1下降到低于某个阈值。 是否存在这样的算法(最好使用Python实现)?在谷歌搜索中,我只发现了以k为参数的截断SVD函数,因此迫使您先验猜测。


4
部分奇异值分解(SVD)的内存有效实现
为了简化模型,我想计算与矩阵最大20个奇异值相关的左奇异矢量,其中和。不幸的是,我的矩阵将是稠密的,没有任何结构。 Ñ ≈ 10 6 ķ ≈ 10 3甲A∈RN,kA∈RN,kA \in \mathbb R^{N,k}N≈106N≈106N\approx 10^6k≈103k≈103k\approx 10^3AAA 如果我只是svd从numpy.linalgPython模块中的例程中调用该大小的随机矩阵,则会遇到内存错误。这是由于的分配用于分解。甲= V 小号ùV∈RN,NV∈RN,NV\in \mathbb R^{N,N}A=VSUA=VSüA = VSU 周围有避免这种陷阱的算法吗?例如,通过仅建立与非零奇异值关联的奇异矢量。 我准备在计算时间和准确性上进行交易。

2
要使SVD稳定添加多少正则化?
我一直在使用英特尔MKL的SVD(dgesvd通过SciPy的),并注意到,当我改变之间的精确结果是显著不同float32而float64当我的基质被严重空调/没有满秩。我应该添加一些关于最小化正则化的指南,以使结果对float32-> float64变化不敏感吗? 特别是 A = UdVŤA=UDVTA=UDV^{T}, 我看到 大号∞L∞L_\infty 规范 VŤXVTXV^{T}X当我在float32和之间更改精度时,会移动约1 float64。大号2L2L_2 规范 一个AA 是 10510510^5 在784个总数中,约有200个零特征值。 在做SVD λ 我+ AλI+A\lambda I + A 与 λ =10− 3λ=10−3\lambda=10^{-3} 使差异消失了。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.