Skip to content

Commit 1005051

Browse files
garrisonKristofferC
authored andcommitted
Implement isdiag(::Bidiagonal), add tests (#32694)
(cherry picked from commit 25eb8c6)
1 parent d99e79f commit 1005051

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
@@ -246,6 +246,7 @@ end
246246

247247
istriu(M::Bidiagonal) = M.uplo == 'U' || iszero(M.ev)
248248
istril(M::Bidiagonal) = M.uplo == 'L' || iszero(M.ev)
249+
isdiag(M::Bidiagonal) = iszero(M.ev)
249250

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

stdlib/LinearAlgebra/test/bidiag.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ Random.seed!(1)
150150
@test triu!(bidiagcopy(dv,ev,:U)) == Bidiagonal(dv,ev,:U)
151151
@test_throws ArgumentError triu!(bidiagcopy(dv, ev, :U), -n)
152152
@test_throws ArgumentError triu!(bidiagcopy(dv, ev, :U), n + 2)
153+
@test !isdiag(Bidiagonal(dv,ev,:U))
154+
@test !isdiag(Bidiagonal(dv,ev,:L))
155+
@test isdiag(Bidiagonal(dv,zerosev,:U))
156+
@test isdiag(Bidiagonal(dv,zerosev,:L))
153157
end
154158

155159
Tfull = Array(T)

0 commit comments

Comments
 (0)