【发布时间】:2018-02-13 06:47:45
【问题描述】:
我是 Julia-Lang 的新手,我试图在 Julia 中多次求解对称三对角系统,所以我将矩阵组装为
SymTridiagonal( e ,ones(L-4) )
我的系统中发生的变化是右侧。所以我尝试在thread 上使用 Chris Rackauckas 解决方案,我引用了该解决方案:
只做 X=lufact(X) 然后 X\b
事情是,当我这样做时,我得到了
ERROR: LoadError: MethodError: no method matching lufact!(::SymTridiagonal{Float64})
lufact!(!Matched::Union{Base.ReshapedArray{T<:Union{Complex{Float32}, Complex{Float64}, Float32, Float64},2,A,MI}
所以我的问题是:什么是对 lufact 进行归因的正确方法!功能
【问题讨论】:
-
使用
lufact!(Tridiagonal(X))。显然,从对称到非对称三对角矩阵不会自动回退。 -
或更明确地说:
X = lufact(Tridiagonal(X))然后X\b -
我认为三对角系统已经可以在线性时间内求解。为什么需要分解?
标签: julia matrix-factorization