You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Similar to #375, cholfact and bkfact fail for matrices that are not subtypes of StridedMatrix. Contrast with qrfact, which succeeds for many more matrix types. (The difference seems to be that qrfact has a fallback that gracefully handles <:AbstractArrays more generally. Fixing this may be as simple as adding such ~five-line fallbacks for bkfact and cholfact.) Best!
julia>VERSIONv"0.6.0-dev.979"
julia>bkfact(SymTridiagonal(fill(2, 4), ones(3)))
ERROR: MethodError: no method matching bkfact(::SymTridiagonal{Float64})
Closest candidates are:bkfact(::Union{Hermitian{T,S},Symmetric{T,S}}) at linalg/symmetric.jl:183bkfact{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64}}(::Union{Base.ReshapedArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2},SubArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2,A<:Union{Base.ReshapedArray{T,N,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N}},L}}) at linalg/bunchkaufman.jl:72bkfact{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64}}(::Union{Base.ReshapedArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2},SubArray{T<:Union{Complex{Float32},Complex{Float64},Float32,Float64},2,A<:Union{Base.ReshapedArray{T,N,A<:DenseArray,MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N}}},DenseArray},I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex,Colon,Int64,Range{Int64}},N}},L}}, ::Symbol) at linalg/bunchkaufman.jl:72...
(Yes, LDLt would be better for [edit: positive- or quasi-definite] SymTridiagonals.) (Edited to include cholfact.)
The text was updated successfully, but these errors were encountered:
Many indefinite cases won't necessarily admit a diagonal-D factorization, will they? Though I think once you need Bunch-Kaufman pivoting then you can't necessarily remain within a fixed number of subdiagonals unless you use the more recent banded retraction factorization, IIRC.
Many indefinite cases won't necessarily admit a diagonal-D factorization, will they? Though I think once you need Bunch-Kaufman pivoting then you can't necessarily remain within a fixed number of subdiagonals unless you use the more recent banded retraction factorization, IIRC.
Good point --- I had only the positive- and quasi-definite cases in mind. Best!
Similar to #375,
cholfact
andbkfact
fail for matrices that are not subtypes ofStridedMatrix
. Contrast withqrfact
, which succeeds for many more matrix types. (The difference seems to be thatqrfact
has a fallback that gracefully handles<:AbstractArray
s more generally. Fixing this may be as simple as adding such ~five-line fallbacks forbkfact
andcholfact
.) Best!(Yes,
LDLt
would be better for [edit: positive- or quasi-definite]SymTridiagonal
s.) (Edited to includecholfact
.)The text was updated successfully, but these errors were encountered: