用法一
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
