Skip to content

Commit 25eb8c6

Browse files
garrisonandreasnoack
authored andcommitted
Implement isdiag(::Bidiagonal), add tests (#32694)
1 parent 442d159 commit 25eb8c6

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

stdlib/LinearAlgebra/src/bidiag.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ iszero(M::Bidiagonal) = iszero(M.dv) && iszero(M.ev)
250250
isone(M::Bidiagonal) = all(isone, M.dv) && iszero(M.ev)
251251
istriu(M::Bidiagonal) = M.uplo == 'U' || iszero(M.ev)
252252
istril(M::Bidiagonal) = M.uplo == 'L' || iszero(M.ev)
253+
isdiag(M::Bidiagonal) = iszero(M.ev)
253254

254255
function tril!(M::Bidiagonal, k::Integer=0)
255256
n = length(M.dv)

stdlib/LinearAlgebra/test/bidiag.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@ Random.seed!(1)
156156
@test triu!(bidiagcopy(dv,ev,:U)) == Bidiagonal(dv,ev,:U)
157157
@test_throws ArgumentError triu!(bidiagcopy(dv, ev, :U), -n)
158158
@test_throws ArgumentError triu!(bidiagcopy(dv, ev, :U), n + 2)
159+
@test !isdiag(Bidiagonal(dv,ev,:U))
160+
@test !isdiag(Bidiagonal(dv,ev,:L))
161+
@test isdiag(Bidiagonal(dv,zerosev,:U))
162+
@test isdiag(Bidiagonal(dv,zerosev,:L))
159163
end
160164

161165
@testset "iszero and isone" begin

0 commit comments

Comments
 (0)