用法一
ldlt(A::SparseMatrixCSC; shift = 0.0, check = true, perm=nothing) -> CHOLMOD.Factor计算稀疏矩阵的分解A.A必须是SparseMatrixCSC或一个LinearAlgebra.Symmetric/LinearAlgebra.Hermitian一个视图SparseMatrixCSC.请注意,即使A没有类型标签,它仍然必须是对称的或 Hermitian。使用fill-reducing 排列。F = ldlt(A)最常用于求解方程组A*x = b和F\b.返回的分解对象F也支持方法LinearAlgebra.diag,LinearAlgebra.det,LinearAlgebra.logdet, 和inv方法.您可以从F使用F.L.但是,由于默认情况下启用了透视,因此分解在内部表示为A == P'*L*D*L'*P有一个置换矩阵P;只使用L不考虑P会给出不正确的答案。为了包括排列的影响,通常最好提取 "combined" 因子,例如PtL = F.PtL(相当于P'*L) 和LtP = F.UP(相当于L'*P)。支持因子的完整列表是:L, :PtL, :D, :UP, :U, :LD, :DU, :PtLD, :DUP.
当 check = true 时,如果分解失败,则会引发错误。当 check = false 时,检查分解的有效性(通过  issuccess  )由用户负责。
设置可选的 shift 关键字参数计算 A+shift*I 而不是 A 的分解。如果提供了perm 参数,它应该是1:size(A,1) 的排列,给出使用的顺序(而不是 CHOLMOD 的默认 AMD 顺序)。
注意
此方法使用 SuiteSparse 中的 CHOLMOD 库,该库仅支持双打或复双打。不属于这些元素类型的输入矩阵将酌情转换为SparseMatrixCSC{Float64} 或SparseMatrixCSC{ComplexF64}。
CHOLMOD 中的许多其他函数都已包装,但未从 Base.SparseArrays.CHOLMOD 模块导出。
用法二
ldlt(S::SymTridiagonal) -> LDLt计算实对称三对角矩阵S 的LDLt 分解,使得S = L*Diagonal(d)*L' 其中L 是单位下三角矩阵,d 是向量。 LDLt 因式分解 F = ldlt(S) 的主要用途是用 F\b 求解线性方程组 Sx = b。
例子
julia> S = SymTridiagonal([3., 4., 5.], [1., 2.])
3×3 SymTridiagonal{Float64, Vector{Float64}}:
 3.0  1.0   ⋅
 1.0  4.0  2.0
  ⋅   2.0  5.0
julia> ldltS = ldlt(S);
julia> b = [6., 7., 8.];
julia> ldltS \ b
3-element Vector{Float64}:
 1.7906976744186047
 0.627906976744186
 1.3488372093023255
julia> S \ b
3-element Vector{Float64}:
 1.7906976744186047
 0.627906976744186
 1.3488372093023255相关用法
- Julia LinearAlgebra.ldlt!用法及代码示例
- Julia LinearAlgebra.ldiv!用法及代码示例
- Julia LinearAlgebra.logdet用法及代码示例
- Julia LinearAlgebra.lu用法及代码示例
- Julia LinearAlgebra.lq用法及代码示例
- Julia LinearAlgebra.logabsdet用法及代码示例
- Julia LinearAlgebra.lmul!用法及代码示例
- Julia LinearAlgebra.lyap用法及代码示例
- Julia LinearAlgebra.lu!用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia LinearAlgebra.bunchkaufman用法及代码示例
- Julia LinearAlgebra.cholesky!用法及代码示例
- Julia LinearAlgebra.istriu用法及代码示例
- Julia LinearAlgebra.istril用法及代码示例
- Julia LinearAlgebra.stride1用法及代码示例
- Julia LinearAlgebra.svd用法及代码示例
- Julia LinearAlgebra.eigen用法及代码示例
- Julia LinearAlgebra.BLAS.dotu用法及代码示例
- Julia LinearAlgebra.I用法及代码示例
- Julia LinearAlgebra.Transpose用法及代码示例
- Julia LinearAlgebra.det用法及代码示例
- Julia LinearAlgebra.tril!用法及代码示例
- Julia LinearAlgebra.schur!用法及代码示例
- Julia LinearAlgebra.tr用法及代码示例
- Julia LinearAlgebra.axpby!用法及代码示例
注:本文由纯净天空筛选整理自julialang.org大神的英文原创作品 LinearAlgebra.ldlt — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
