用法:
bunchkaufman(A, rook::Bool=false; check = true) -> S::BunchKaufman根据存储在 A 中的三角形,计算对称或 Hermitian 矩阵 A 的 Bunch-Kaufman [Bunch1977] 分解为 P'*U*D*U'*P 或 P'*L*D*L'*P ,并返回   对象。请注意,如果 BunchKaufman A 是复对称的,则 U' 和 L' 表示非共轭转置,即 transpose(U) 和 transpose(L) 。
在给定 S.uplo 和 S.p 的情况下,迭代分解产生组件 S.D 、 S.U 或 S.L 。
如果 rook 是 true ,则使用车旋转。如果rook 为假,则不使用车旋转。
当 check = true 时,如果分解失败,则会引发错误。当 check = false 时,检查分解的有效性(通过   )由用户负责。issuccess 
以下函数可用于BunchKaufman 对象: 、size \、 、inv  、issymmetric  、ishermitian  。getindex 
例子
julia> A = [1 2; 2 3]
2×2 Matrix{Int64}:
 1  2
 2  3
julia> S = bunchkaufman(A) # A gets wrapped internally by Symmetric(A)
BunchKaufman{Float64, Matrix{Float64}}
D factor:
2×2 Tridiagonal{Float64, Vector{Float64}}:
 -0.333333  0.0
  0.0       3.0
U factor:
2×2 UnitUpperTriangular{Float64, Matrix{Float64}}:
 1.0  0.666667
  ⋅   1.0
permutation:
2-element Vector{Int64}:
 1
 2
julia> d, u, p = S; # destructuring via iteration
julia> d == S.D && u == S.U && p == S.p
true
julia> S.U*S.D*S.U' - S.P*A*S.P'
2×2 Matrix{Float64}:
 0.0  0.0
 0.0  0.0
julia> S = bunchkaufman(Symmetric(A, :L))
BunchKaufman{Float64, Matrix{Float64}}
D factor:
2×2 Tridiagonal{Float64, Vector{Float64}}:
 3.0   0.0
 0.0  -0.333333
L factor:
2×2 UnitLowerTriangular{Float64, Matrix{Float64}}:
 1.0        ⋅
 0.666667  1.0
permutation:
2-element Vector{Int64}:
 2
 1
julia> S.L*S.D*S.L' - A[S.p, S.p]
2×2 Matrix{Float64}:
 0.0  0.0
 0.0  0.0相关用法
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- 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用法及代码示例
- Julia LinearAlgebra.diag用法及代码示例
- Julia LinearAlgebra.rank用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 LinearAlgebra.bunchkaufman — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
