当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia LinearAlgebra.ldlt!用法及代码示例


用法一

ldlt!(F::CHOLMOD.Factor, A::SparseMatrixCSC; shift = 0.0, check = true) -> CHOLMOD.Factor

计算 ALDL' 分解,重用符号分解 FA 必须是 SparseMatrixCSC SparseMatrixCSC Symmetric / Hermitian 视图。请注意,即使A 没有类型标签,它仍然必须是对称的或 Hermitian。

另见 ldlt

注意

此方法使用 SuiteSparse 中的 CHOLMOD 库,该库仅支持双打或复双打。不属于这些元素类型的输入矩阵将酌情转换为SparseMatrixCSC{Float64}SparseMatrixCSC{ComplexF64}

用法二

ldlt!(S::SymTridiagonal) -> LDLt

ldlt 相同,但通过覆盖输入 S 而不是创建副本来节省空间。

例子

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> ldltS === S
false

julia> S
3×3 SymTridiagonal{Float64, Vector{Float64}}:
 3.0       0.333333   ⋅
 0.333333  3.66667   0.545455
  ⋅        0.545455  3.90909

相关用法


注:本文由纯净天空筛选整理自julialang.org大神的英文原创作品 LinearAlgebra.ldlt! — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。