Skip to content

Commit f12ffb4

Browse files
authored
Attempt to fix ql (#154)
* attempt to fix ql * add basic test for periodic schro * fix typo
1 parent 2a85133 commit f12ffb4

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/infql.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ function _blocktripert_ql(A, d, e)
192192
B = BlockBandedMatrix(A,(2,1))
193193

194194

195-
BB = _BlockBandedMatrix(B.data.args[1], (fill(2,N+2), fill(2,N)), (2,1))
195+
BB = _BlockBandedMatrix(B.data.args[1], fill(2,N+2), fill(2,N), (2,1))
196196
BB[Block(N),Block.(N-1:N)] .= P[Block(1), Block.(1:2)]
197197
F = ql!(view(BB, Block.(1:N), Block.(1:N)))
198198
BB[Block(N+1),Block.(N-1:N)] .= P[Block(2), Block.(1:2)]
@@ -518,4 +518,4 @@ function materialize!(M::Lmul{<:AdjQLPackedQLayout{<:LazyLayout},<:PaddedLayout}
518518
end
519519
end
520520
B
521-
end
521+
end

test/test_infql.jl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,4 +267,15 @@ using ArrayLayouts: TriangularLayout, UnknownLayout
267267
@test (Q * B)[1:10,:] Q[1:10,1:10]*B[1:10,:]
268268
end
269269
end
270-
end
270+
@testset "Periodic Schrödinger" begin
271+
272+
A = BlockTridiagonal(Vcat([[0. 1.; 0. 0.]],Fill([0. 1.; 0. 0.], ∞)),
273+
Vcat([[-1. 1.; 1. 1.]], Fill([-1. 1.; 1. 1.], ∞)),
274+
Vcat([[0. 0.; 1. 0.]], Fill([0. 0.; 1. 0.], ∞)))
275+
276+
A[1,1] = 2
277+
278+
x = -0.95
279+
@test ql(A-x*I).L[1,1] isa Float64
280+
end
281+
end

0 commit comments

Comments
 (0)