Skip to content

Commit b5469ef

Browse files
committed
Add UnitUpperTriangular support
1 parent b26d727 commit b5469ef

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/array_partition.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,11 +315,12 @@ end
315315
# [U11 U12 U13] [ b1 ]
316316
# [ 0 U22 U23] \ [ b2 ]
317317
# [ 0 0 U33] [ b3 ]
318-
function LinearAlgebra.ldiv!(A::UpperTriangular, b::ArrayPartition)
318+
function LinearAlgebra.ldiv!(A::T, b::ArrayPartition) where T<:Union{UnitUpperTriangular,UpperTriangular}
319+
A = A.data
319320
n = npartitions(b)
320321
lens = map(length, b.x)
321322
@inbounds for j in n:-1:1
322-
Ajj = UpperTriangular(getblock(A, lens, j, j))
323+
Ajj = T(getblock(A, lens, j, j))
323324
xj = ldiv!(Ajj, b.x[j])
324325
for i in j-1:-1:1
325326
Aij = getblock(A, lens, i, j)

test/linalg.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ b = ArrayPartition(bb)
66
@test Array(b) == collect(b) == vcat(bb...)
77
A = randn(MersenneTwister(123), n+m, n+m)
88

9-
for T in (UpperTriangular,)
9+
for T in (UpperTriangular, UnitUpperTriangular)
1010
B = T(A)
1111
@test B*Array(B \ b) b
1212
bbb = copy(b)

0 commit comments

Comments
 (0)