Skip to content

Commit caeba18

Browse files
committed
more tests
1 parent 2a89924 commit caeba18

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

src/infqr.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ end
77

88
function AdaptiveQRData(::Union{SymmetricLayout{<:AbstractBandedLayout},AbstractBandedLayout}, A::AbstractMatrix{T}) where T
99
l,u = bandwidths(A)
10-
data = BandedMatrix{T}(undef,(2l+u+1,0),(l,l+u)) # pad super
11-
AdaptiveQRData(CachedArray(data,A), Vector{T}(), 0)
10+
FT = float(T)
11+
data = BandedMatrix{FT}(undef,(2l+u+1,0),(l,l+u)) # pad super
12+
AdaptiveQRData(CachedArray(data,A), Vector{FT}(), 0)
1213
end
1314

1415
function AdaptiveQRData(::AbstractAlmostBandedLayout, A::AbstractMatrix{T}) where T

test/test_infql.jl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,17 @@ import BandedMatrices: _BandedMatrix
181181
end
182182

183183
@testset "Tridiagonal QL" begin
184-
for A in (SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)]),
185-
Tridiagonal([[1, 2]; Fill(1,∞)], [[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)]),
184+
for A in (LinearAlgebra.SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)]),
185+
LinearAlgebra.Tridiagonal([[1, 2]; Fill(1,∞)], [[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)]),
186186
LazyBandedMatrices.SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; Zeros(∞)]),
187187
LazyBandedMatrices.SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; zeros(∞)]))
188188
@test abs.(ql(A).L[1:10,1:10]) abs.(ql(A[1:1000,1:1000]).L[1:10,1:10])
189189
end
190+
191+
A = LazyBandedMatrices.SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)])
192+
Q,L = ql(A)
193+
@test (Q*L)[1:10,1:10] A[1:10,1:10]
194+
195+
@test (L*Q)[1:10,1:10] LazyBandedMatrices.SymTridiagonal(L*Q)[1:10,1:10]
190196
end
191197
end

test/test_infqr.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,4 +296,11 @@ import SemiseparableMatrices: AlmostBandedLayout, VcatAlmostBandedLayout
296296
b = [1; 2; 3; zeros(∞)]
297297
@test (qr(A) \ b) (ul(A) \ b)
298298
end
299+
300+
@tstset "SymTridiagonal QR" begin
301+
A = LazyBandedMatrices.SymTridiagonal([[1,2]; Fill(3,∞)], [[1, 2]; Fill(1,∞)])
302+
Q,R = qr(A)
303+
@test (Q*R)[1:10,1:10] A[1:10,1:10]
304+
@test (R*Q)[1:10,1:10] LazyBandedMatrices.SymTridiagonal((R*Q)[1:10,1:10])
305+
end
299306
end

0 commit comments

Comments
 (0)