用法:
GeneralizedSVD <: Factorization
两个矩阵 A
和 B
的广义奇异值分解 (SVD) 的矩阵分解类型,例如 A = F.U*F.D1*F.R0*F.Q'
和 B = F.V*F.D2*F.R0*F.Q'
。这是
的返回类型,对应的矩阵分解函数。svd(_, _)
对于 M-by-N 矩阵 A
和 P-by-N 矩阵 B
,
U
是一个M-by-M正交矩阵,V
是一个P-by-P正交矩阵,Q
是一个N-by-N正交矩阵,D1
是一个 M-by-(K+L) 对角矩阵,前 K 个条目中有 1,D2
是一个P-by-(K+L) 矩阵,其右上角L-by-L 块是对角线,R0
是一个 (K+L)-by-N 矩阵,其最右边的 (K+L)-by-(K+L) 块是非奇异的上块三角形,
K+L
是矩阵 [A; B]
的有效数值秩。
迭代分解产生组件 U
、 V
、 Q
、 D1
、 D2
和 R0
。
F.D1
和 F.D2
的条目是相关的,如 LAPACK 文档中对 generalized SVD 和 xGGSVD3 例程(在 LAPACK 3.6.0 和更高版本中)调用的解释。
例子
julia> A = [1. 0.; 0. -1.]
2×2 Matrix{Float64}:
1.0 0.0
0.0 -1.0
julia> B = [0. 1.; 1. 0.]
2×2 Matrix{Float64}:
0.0 1.0
1.0 0.0
julia> F = svd(A, B)
GeneralizedSVD{Float64, Matrix{Float64}}
U factor:
2×2 Matrix{Float64}:
1.0 0.0
0.0 1.0
V factor:
2×2 Matrix{Float64}:
-0.0 -1.0
1.0 0.0
Q factor:
2×2 Matrix{Float64}:
1.0 0.0
0.0 1.0
D1 factor:
2×2 SparseArrays.SparseMatrixCSC{Float64, Int64} with 2 stored entries:
0.707107 ⋅
⋅ 0.707107
D2 factor:
2×2 SparseArrays.SparseMatrixCSC{Float64, Int64} with 2 stored entries:
0.707107 ⋅
⋅ 0.707107
R0 factor:
2×2 Matrix{Float64}:
1.41421 0.0
0.0 -1.41421
julia> F.U*F.D1*F.R0*F.Q'
2×2 Matrix{Float64}:
1.0 0.0
0.0 -1.0
julia> F.V*F.D2*F.R0*F.Q'
2×2 Matrix{Float64}:
0.0 1.0
1.0 0.0
相关用法
- Julia LinearAlgebra.GeneralizedEigen用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia LinearAlgebra.bunchkaufman用法及代码示例
- Julia LinearAlgebra.cholesky!用法及代码示例
- Julia LinearAlgebra.istriu用法及代码示例
- Julia LinearAlgebra.istril用法及代码示例
- Julia LinearAlgebra.stride1用法及代码示例
- Julia LinearAlgebra.svd用法及代码示例
- Julia LinearAlgebra.logdet用法及代码示例
- Julia LinearAlgebra.eigen用法及代码示例
- Julia LinearAlgebra.BLAS.dotu用法及代码示例
- Julia LinearAlgebra.ldlt!用法及代码示例
- Julia LinearAlgebra.I用法及代码示例
- Julia LinearAlgebra.Transpose用法及代码示例
- Julia LinearAlgebra.det用法及代码示例
- Julia LinearAlgebra.tril!用法及代码示例
- Julia LinearAlgebra.schur!用法及代码示例
- Julia LinearAlgebra.tr用法及代码示例
- Julia LinearAlgebra.axpby!用法及代码示例
- Julia LinearAlgebra.adjoint!用法及代码示例
- Julia LinearAlgebra.eigvecs用法及代码示例
- Julia LinearAlgebra.LU用法及代码示例
- Julia LinearAlgebra.isposdef!用法及代码示例
- Julia LinearAlgebra.LQ用法及代码示例
- Julia LinearAlgebra.normalize用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 LinearAlgebra.GeneralizedSVD — Type。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。