From 9072335d07bc362d28f57554c55bd262c32cf66a Mon Sep 17 00:00:00 2001 From: Tianyi Pu <44583944+putianyi889@users.noreply.github.com> Date: Sun, 22 Dec 2024 22:15:57 +0000 Subject: [PATCH] Update diagonal.jl --- src/diagonal.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/diagonal.jl b/src/diagonal.jl index 280caec1..92b1f3d2 100644 --- a/src/diagonal.jl +++ b/src/diagonal.jl @@ -854,7 +854,9 @@ adjoint(D::Diagonal) = Diagonal(adjoint.(D.diag)) permutedims(D::Diagonal) = D permutedims(D::Diagonal, perm) = (Base.checkdims_perm(axes(D), axes(D), perm); D) -function diag(D::Diagonal, k::Integer=0) +diag(D::Diagonal) = D.diag + +function diag(D::Diagonal, k::Integer) # every branch call similar(..., ::Int) to make sure the # same vector type is returned independent of k v = similar(D.diag, max(0, length(D.diag)-abs(k)))