Skip to content

Commit e5c8309

Browse files
committed
svd(::Diagonal) speedup
1 parent 4e63b89 commit e5c8309

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

base/linalg/diagonal.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,9 @@ svdvals(D::Diagonal) = [svdvals(v) for v in D.diag]
338338
function svd{T<:Number}(D::Diagonal{T})
339339
S = abs.(D.diag)
340340
piv = sortperm(S, rev = true)
341-
U = Array(Diagonal(D.diag ./ S))
341+
U = Diagonal(D.diag ./ S)
342342
Up = hcat([U[:,i] for i = 1:length(D.diag)][piv]...)
343-
V = eye(D)
343+
V = Diagonal(ones(D.diag))
344344
Vp = hcat([V[:,i] for i = 1:length(D.diag)][piv]...)
345345
return (Up, S[piv], Vp)
346346
end

0 commit comments

Comments
 (0)