File tree Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -538,6 +538,7 @@ function lmul!(D::Diagonal, B::Bidiagonal)
538538 matmul_size_check (size (D), size (B))
539539 (; dv, ev) = B
540540 isL = B. uplo == ' L'
541+ iszero (size (D,1 )) && return B
541542 dv[1 ] = D. diag[1 ] * dv[1 ]
542543 for i in axes (ev,1 )
543544 ev[i] = D. diag[i + isL] * ev[i]
@@ -575,6 +576,7 @@ function rmul!(B::Bidiagonal, D::Diagonal)
575576 matmul_size_check (size (B), size (D))
576577 (; dv, ev) = B
577578 isU = B. uplo == ' U'
579+ iszero (size (D,1 )) && return B
578580 dv[1 ] *= D. diag[1 ]
579581 for i in axes (ev,1 )
580582 ev[i] *= D. diag[i + isU]
Original file line number Diff line number Diff line change @@ -1192,4 +1192,13 @@ end
11921192 @test_throws msg ldiv! (C, B, zeros (2 ,1 ))
11931193end
11941194
1195+ @testset " l/rmul with 0-sized matrices" begin
1196+ n = 0
1197+ B = Bidiagonal (ones (n), ones (max (n- 1 ,0 )), :U )
1198+ B2 = copy (B)
1199+ D = Diagonal (ones (n))
1200+ @test lmul! (D, B) == B2
1201+ @test rmul! (B, D) == B2
1202+ end
1203+
11951204end # module TestBidiagonal
You can’t perform that action at this time.
0 commit comments