Skip to content

Commit 9a265a8

Browse files
committed
Avoid materializing diag in Diagonal kron
1 parent 508e77f commit 9a265a8

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/diagonal.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -762,16 +762,16 @@ end
762762
kron(A::Diagonal, B::Diagonal) = Diagonal(kron(A.diag, B.diag))
763763

764764
function kron(A::Diagonal, B::SymTridiagonal)
765-
kdv = kron(diag(A), B.dv)
765+
kdv = kron(A.diag, B.dv)
766766
# We don't need to drop the last element
767-
kev = kron(diag(A), _pushzero(_evview(B)))
767+
kev = kron(A.diag, _pushzero(_evview(B)))
768768
SymTridiagonal(kdv, kev)
769769
end
770770
function kron(A::Diagonal, B::Tridiagonal)
771771
# `_droplast!` is only guaranteed to work with `Vector`
772-
kd = convert(Vector, kron(diag(A), B.d))
773-
kdl = _droplast!(convert(Vector, kron(diag(A), _pushzero(B.dl))))
774-
kdu = _droplast!(convert(Vector, kron(diag(A), _pushzero(B.du))))
772+
kd = convert(Vector, kron(A.diag, B.d))
773+
kdl = _droplast!(convert(Vector, kron(A.diag, _pushzero(B.dl))))
774+
kdu = _droplast!(convert(Vector, kron(A.diag, _pushzero(B.du))))
775775
Tridiagonal(kdl, kd, kdu)
776776
end
777777

0 commit comments

Comments
 (0)