Skip to content

Commit af9e831

Browse files
committed
row/colsupport for Cholesky factors with AbstractInfUnitRange
1 parent 5ee4b40 commit af9e831

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "InfiniteLinearAlgebra"
22
uuid = "cde9dba0-b1de-11e9-2c62-0bab9446c55c"
3-
version = "0.9.0"
3+
version = "0.9.1"
44

55
[deps]
66
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"

src/infcholesky.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ ArrayLayouts._cholesky(::SymTridiagonalLayout, ::NTuple{2,OneToInf{Int}}, A, ::C
5454
ArrayLayouts._cholesky(::SymmetricLayout{<:AbstractBandedLayout}, ::NTuple{2,OneToInf{Int}}, A, ::CNoPivot) = adaptivecholesky(A)
5555

5656
colsupport(::AdaptiveCholeskyFactors, ::OneToInf) = OneToInf()
57-
rowsupport(::AdaptiveCholeskyFactors, ::OneToInf) = OneToInf()
57+
colsupport(F::AdaptiveCholeskyFactors, kr::AbstractInfUnitRange) = max(1,kr[1]-bandwidth(F,2)):
58+
rowsupport(::AdaptiveCholeskyFactors, kr::AbstractInfUnitRange) = kr
5859

5960
function colsupport(F::AdaptiveCholeskyFactors, j)
6061
partialcholesky!(F, maximum(j)+bandwidth(F,2))

test/test_infcholesky.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ import InfiniteLinearAlgebra: SymmetricBandedLayouts, AdaptiveCholeskyFactors
6464
F = cholesky(S)
6565
@test colsupport(F.factors,5) == rowsupport(F.factors,3) == 3:5
6666
@test rowsupport(F.factors) == colsupport(F.factors) == axes(F.factors,1)
67+
@test rowsupport(F.factors,2:∞) == 2:
68+
@test colsupport(F.factors,2:∞) == 1:
69+
@test colsupport(F.factors,5:∞) == 3:
6770

6871
@test (F.U * F.U')[1:10,1:10] F.U[1:10,1:12] * F.U[1:10,1:12]'
6972
@test (F.U' * F.U)[1:10,1:10] S[1:10,1:10]

0 commit comments

Comments
 (0)