@@ -19,9 +19,10 @@ function LinearAlgebra.ldiv!(H::HessenbergMatrix, B::AbstractVecOrMat)
19
19
lmul! (G, view (Hd, 1 : n, i: n))
20
20
lmul! (G, B)
21
21
end
22
- ldiv! (UpperTriangular (Hd), B)
22
+ LinearAlgebra . ldiv! (UpperTriangular (Hd), B)
23
23
end
24
- (\ )(H:: HessenbergMatrix , B:: AbstractVecOrMat ) = ldiv! (copy (H), copy (B))
24
+ LinearAlgebra.:\ (H:: HessenbergMatrix , B:: AbstractVecOrMat ) =
25
+ LinearAlgebra. ldiv! (copy (H), copy (B))
25
26
26
27
# Hessenberg factorization
27
28
struct HessenbergFactorization{T,S<: StridedMatrix ,U} <: Factorization{T}
32
33
Base. copy (HF:: HessenbergFactorization{T,S,U} ) where {T,S,U} =
33
34
HessenbergFactorization {T,S,U} (copy (HF. data), copy (HF. τ))
34
35
35
- function _hessenberg ! (A:: StridedMatrix{T} ) where {T}
36
+ function hessenberg ! (A:: StridedMatrix{T} ) where {T}
36
37
n = LinearAlgebra. checksquare (A)
37
38
τ = Vector {Householder{T}} (undef, n - 1 )
38
39
for i = 1 : (n- 1 )
@@ -45,7 +46,6 @@ function _hessenberg!(A::StridedMatrix{T}) where {T}
45
46
end
46
47
return HessenbergFactorization {T,typeof(A),eltype(τ)} (A, τ)
47
48
end
48
- hessenberg! (A:: StridedMatrix ) = _hessenberg! (A)
49
49
50
50
Base. size (H:: HessenbergFactorization , args... ) = size (H. data, args... )
51
51
@@ -57,6 +57,8 @@ function Base.getproperty(F::HessenbergFactorization, s::Symbol)
57
57
end
58
58
end
59
59
60
+ Base. propertynames (F:: HessenbergFactorization ) = (fieldnames (typeof (F))... , :H )
61
+
60
62
# Schur
61
63
struct Schur{T,S<: StridedMatrix } <: Factorization{T}
62
64
data:: S
0 commit comments