From 2419e54a0eb68880764a7388ac78d7ef288bdafd Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Sun, 7 Apr 2013 23:33:54 +0200 Subject: [PATCH] FSharp: Matrix.diag should leverage core SetDiagonal --- src/FSharp/LinearAlgebra.Double.Matrix.fs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/FSharp/LinearAlgebra.Double.Matrix.fs b/src/FSharp/LinearAlgebra.Double.Matrix.fs index fdc82bf0..f87f2911 100644 --- a/src/FSharp/LinearAlgebra.Double.Matrix.fs +++ b/src/FSharp/LinearAlgebra.Double.Matrix.fs @@ -289,8 +289,7 @@ module DenseMatrix = let inline diag (v: #Vector) = let n = v.Count let A = new DenseMatrix(n,n) - for i=0 to n-1 do - A.At(i,i,v.At(i)) + A.SetDiagonal(v) A /// Initialize a matrix by calling a construction function for every row. @@ -335,8 +334,7 @@ module SparseMatrix = let inline diag (v: #Vector) = let n = v.Count let A = new SparseMatrix(n,n) - for i=0 to n-1 do - A.At(i,i, v.At i) + A.SetDiagonal(v) A /// Initialize a matrix by calling a construction function for every row.