Skip to content

Commit 602d518

Browse files
committed
Fixup method extension for Hessenberg
1 parent dfe2457 commit 602d518

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/eigenGeneral.jl

+6-4
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ function LinearAlgebra.ldiv!(H::HessenbergMatrix, B::AbstractVecOrMat)
1919
lmul!(G, view(Hd, 1:n, i:n))
2020
lmul!(G, B)
2121
end
22-
ldiv!(UpperTriangular(Hd), B)
22+
LinearAlgebra.ldiv!(UpperTriangular(Hd), B)
2323
end
24-
(\)(H::HessenbergMatrix, B::AbstractVecOrMat) = ldiv!(copy(H), copy(B))
24+
LinearAlgebra.:\(H::HessenbergMatrix, B::AbstractVecOrMat) =
25+
LinearAlgebra.ldiv!(copy(H), copy(B))
2526

2627
# Hessenberg factorization
2728
struct HessenbergFactorization{T,S<:StridedMatrix,U} <: Factorization{T}
@@ -32,7 +33,7 @@ end
3233
Base.copy(HF::HessenbergFactorization{T,S,U}) where {T,S,U} =
3334
HessenbergFactorization{T,S,U}(copy(HF.data), copy(HF.τ))
3435

35-
function _hessenberg!(A::StridedMatrix{T}) where {T}
36+
function hessenberg!(A::StridedMatrix{T}) where {T}
3637
n = LinearAlgebra.checksquare(A)
3738
τ = Vector{Householder{T}}(undef, n - 1)
3839
for i = 1:(n-1)
@@ -45,7 +46,6 @@ function _hessenberg!(A::StridedMatrix{T}) where {T}
4546
end
4647
return HessenbergFactorization{T,typeof(A),eltype(τ)}(A, τ)
4748
end
48-
hessenberg!(A::StridedMatrix) = _hessenberg!(A)
4949

5050
Base.size(H::HessenbergFactorization, args...) = size(H.data, args...)
5151

@@ -57,6 +57,8 @@ function Base.getproperty(F::HessenbergFactorization, s::Symbol)
5757
end
5858
end
5959

60+
Base.propertynames(F::HessenbergFactorization) = (fieldnames(typeof(F))..., :H)
61+
6062
# Schur
6163
struct Schur{T,S<:StridedMatrix} <: Factorization{T}
6264
data::S

test/eigengeneral.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,10 @@ using LinearAlgebra: LinearAlgebra
240240
@test sort(imag(vals)) sort(imag(λs)) atol = 1e-25
241241
end
242242

243-
@testset "_hessenberg! and Hessenberg" begin
243+
@testset "hessenberg! and Hessenberg" begin
244244
n = 10
245245
A = randn(n, n)
246-
HF = GenericLinearAlgebra._hessenberg!(copy(A))
246+
HF = GenericLinearAlgebra.hessenberg!(copy(A))
247247
for i = 1:length(HF.τ)
248248
HM = convert(Matrix, HF.τ[i])
249249
A[(i+1):end, :] = HM * A[(i+1):end, :]

0 commit comments

Comments
 (0)