Skip to content

Commit 6620fb4

Browse files
committed
Fixup method extension for Hessenberg
1 parent dfe2457 commit 6620fb4

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/eigenGeneral.jl

+5-4
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ 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) = LinearAlgebra.ldiv!(copy(H), copy(B))
2525

2626
# Hessenberg factorization
2727
struct HessenbergFactorization{T,S<:StridedMatrix,U} <: Factorization{T}
@@ -32,7 +32,7 @@ end
3232
Base.copy(HF::HessenbergFactorization{T,S,U}) where {T,S,U} =
3333
HessenbergFactorization{T,S,U}(copy(HF.data), copy(HF.τ))
3434

35-
function _hessenberg!(A::StridedMatrix{T}) where {T}
35+
function hessenberg!(A::StridedMatrix{T}) where {T}
3636
n = LinearAlgebra.checksquare(A)
3737
τ = Vector{Householder{T}}(undef, n - 1)
3838
for i = 1:(n-1)
@@ -45,7 +45,6 @@ function _hessenberg!(A::StridedMatrix{T}) where {T}
4545
end
4646
return HessenbergFactorization{T,typeof(A),eltype(τ)}(A, τ)
4747
end
48-
hessenberg!(A::StridedMatrix) = _hessenberg!(A)
4948

5049
Base.size(H::HessenbergFactorization, args...) = size(H.data, args...)
5150

@@ -57,6 +56,8 @@ function Base.getproperty(F::HessenbergFactorization, s::Symbol)
5756
end
5857
end
5958

59+
Base.propertynames(F::HessenbergFactorization) = (fieldnames(typeof(F))..., :H)
60+
6061
# Schur
6162
struct Schur{T,S<:StridedMatrix} <: Factorization{T}
6263
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)