From e3b4bd0393f707ab3b1f4a96344c95ea32b30abc Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Thu, 31 Aug 2017 15:47:04 +0200 Subject: [PATCH] faster sparse(::Diagonal) --- base/sparse/sparsematrix.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base/sparse/sparsematrix.jl b/base/sparse/sparsematrix.jl index c3304d34ad3471..3f1a1427583a7b 100644 --- a/base/sparse/sparsematrix.jl +++ b/base/sparse/sparsematrix.jl @@ -764,6 +764,11 @@ function sparse(B::Bidiagonal) return sparse([1:m;1:m-1],[1:m;2:m],[B.dv;B.ev], Int(m), Int(m)) # upper bidiagonal end +function sparse(D::Diagonal) + m = length(D.diag) + return SparseMatrixCSC(m, m, [1:m; m+1], [1:m;], D.diag) +end + ## Transposition and permutation methods """