Skip to content

Commit 0fa47f6

Browse files
committed
Avoid materializing diag in Diagonal kron (#1230)
(cherry picked from commit 907a202)
1 parent e62193f commit 0fa47f6

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
@@ -743,16 +743,16 @@ end
743743
kron(A::Diagonal, B::Diagonal) = Diagonal(kron(A.diag, B.diag))
744744

745745
function kron(A::Diagonal, B::SymTridiagonal)
746-
kdv = kron(diag(A), B.dv)
746+
kdv = kron(A.diag, B.dv)
747747
# We don't need to drop the last element
748-
kev = kron(diag(A), _pushzero(_evview(B)))
748+
kev = kron(A.diag, _pushzero(_evview(B)))
749749
SymTridiagonal(kdv, kev)
750750
end
751751
function kron(A::Diagonal, B::Tridiagonal)
752752
# `_droplast!` is only guaranteed to work with `Vector`
753-
kd = convert(Vector, kron(diag(A), B.d))
754-
kdl = _droplast!(convert(Vector, kron(diag(A), _pushzero(B.dl))))
755-
kdu = _droplast!(convert(Vector, kron(diag(A), _pushzero(B.du))))
753+
kd = convert(Vector, kron(A.diag, B.d))
754+
kdl = _droplast!(convert(Vector, kron(A.diag, _pushzero(B.dl))))
755+
kdu = _droplast!(convert(Vector, kron(A.diag, _pushzero(B.du))))
756756
Tridiagonal(kdl, kd, kdu)
757757
end
758758

0 commit comments

Comments
 (0)