diff --git a/src/Examples/LinearAlgebra/MatrixInitialization.cs b/src/Examples/LinearAlgebra/MatrixInitialization.cs index 1bb9108b..2bfa233d 100644 --- a/src/Examples/LinearAlgebra/MatrixInitialization.cs +++ b/src/Examples/LinearAlgebra/MatrixInitialization.cs @@ -78,7 +78,7 @@ namespace Examples.LinearAlgebraExamples var matrix5 = new DenseMatrix(2, 3, new[] { 1.0, 4.0, 2.0, 5.0, 3.0, 6.0 }); // 5. Initialize a square matrix with all zero's except for ones on the diagonal. Identity matrix (http://en.wikipedia.org/wiki/Identity_matrix). - var matrixI = DenseMatrix.Identity(5); + var matrixI = DenseMatrix.CreateIdentity(5); // Format matrix output to console var formatProvider = (CultureInfo)CultureInfo.InvariantCulture.Clone(); diff --git a/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs b/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs index 9579d8df..5c864020 100644 --- a/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs +++ b/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs @@ -119,7 +119,7 @@ namespace Examples.LinearAlgebraExamples Console.WriteLine(); // 6. Set submatrix values - matrix.SetSubMatrix(1, 3, 1, 3, DenseMatrix.Identity(3)); + matrix.SetSubMatrix(1, 3, 1, 3, DenseMatrix.CreateIdentity(3)); Console.WriteLine(@"6. Set submatrix values"); Console.WriteLine(matrix.ToString("#0.00\t", formatProvider)); Console.WriteLine(); diff --git a/src/Numerics/LinearAlgebra/Builder.cs b/src/Numerics/LinearAlgebra/Builder.cs index 91e9431c..832daf57 100644 --- a/src/Numerics/LinearAlgebra/Builder.cs +++ b/src/Numerics/LinearAlgebra/Builder.cs @@ -70,7 +70,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double public override Matrix Random(int rows, int columns, IContinuousDistribution distribution) { - return DenseMatrix.CreateRandom(rows, columns, distribution); + return Dense(rows, columns, (i, j) => distribution.Sample()); } public override IIterationStopCriterium[] IterativeSolverStopCriteria(int maxIterations = 1000) @@ -109,7 +109,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double public override Vector Random(int length, IContinuousDistribution distribution) { - return new DenseVector(DenseVectorStorage.OfInit(length, i => distribution.Sample())); + return Dense(length, i => distribution.Sample()); } } } @@ -147,7 +147,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single public override Matrix Random(int rows, int columns, IContinuousDistribution distribution) { - return DenseMatrix.CreateRandom(rows, columns, distribution); + return Dense(rows, columns, (i, j) => (float) distribution.Sample()); } public override IIterationStopCriterium[] IterativeSolverStopCriteria(int maxIterations = 1000) @@ -186,7 +186,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single public override Vector Random(int length, IContinuousDistribution distribution) { - return new DenseVector(DenseVectorStorage.OfInit(length, i => (float)distribution.Sample())); + return Dense(length, i => (float) distribution.Sample()); } } } @@ -230,7 +230,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex public override Matrix Random(int rows, int columns, IContinuousDistribution distribution) { - return DenseMatrix.CreateRandom(rows, columns, distribution); + return Dense(rows, columns, (i, j) => new Complex(distribution.Sample(), distribution.Sample())); } public override IIterationStopCriterium[] IterativeSolverStopCriteria(int maxIterations = 1000) @@ -269,7 +269,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex public override Vector Random(int length, IContinuousDistribution distribution) { - return new DenseVector(DenseVectorStorage.OfInit(length, i => new Complex(distribution.Sample(), distribution.Sample()))); + return Dense(length, i => new Complex(distribution.Sample(), distribution.Sample())); } } } @@ -307,7 +307,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 public override Matrix Random(int rows, int columns, IContinuousDistribution distribution) { - return DenseMatrix.CreateRandom(rows, columns, distribution); + return Dense(rows, columns, (i, j) => new Numerics.Complex32((float) distribution.Sample(), (float) distribution.Sample())); } public override IIterationStopCriterium[] IterativeSolverStopCriteria(int maxIterations = 1000) @@ -346,7 +346,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 public override Vector Random(int length, IContinuousDistribution distribution) { - return new DenseVector(DenseVectorStorage.OfInit(length, i => new Numerics.Complex32((float)distribution.Sample(), (float)distribution.Sample()))); + return Dense(length, i => new Numerics.Complex32((float) distribution.Sample(), (float) distribution.Sample())); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs index f2048841..6a979bdf 100644 --- a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs @@ -381,6 +381,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DenseMatrix CreateIdentity(int order) + { + return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Create a new dense matrix with values sampled from the provided random distribution. /// @@ -439,29 +447,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A dense identity matrix. - /// - /// If is less than one. - /// - public static DenseMatrix Identity(int order) - { - var m = new DenseMatrix(order); - for (var i = 0; i < order; i++) - { - m._values[(i * order) + i] = 1.0; - } - - return m; - } - - #endregion - /// /// Multiplies each element of the matrix by a scalar and places results into the result matrix. /// diff --git a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs index 5058c00e..c84083b5 100644 --- a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs @@ -177,6 +177,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DiagonalMatrix CreateIdentity(int order) + { + return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(order, order, i => One)); + } + /// /// Create a new diagonal matrix with diagonal values sampled from the provided random distribution. /// @@ -186,8 +194,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex i => new Complex(distribution.Sample(), distribution.Sample()))); } - #region Elementary operations - /// /// Adds another matrix to this matrix. /// @@ -635,8 +641,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return result; } - #endregion - /// /// Returns the transpose of this matrix. /// @@ -998,28 +1002,5 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return true; } } - - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A diagonal identity matrix. - /// - /// If is less than one. - /// - public static DiagonalMatrix Identity(int order) - { - var m = new DiagonalMatrix(order); - for (var i = 0; i < order; i++) - { - m._data[i] = 1.0; - } - - return m; - } - - #endregion } } diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs index d6741011..362d50ea 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs @@ -74,7 +74,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization var order = matrix.RowCount; // Initialize matrices for eigenvalues and eigenvectors - var eigenVectors = DenseMatrix.Identity(order); + var eigenVectors = DenseMatrix.CreateIdentity(order); var blockDiagonal = new DenseMatrix(order); var eigenValues = new DenseVector(order); diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs index 9e130fb2..d33ef636 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs @@ -74,7 +74,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization var order = matrix.RowCount; // Initialize matricies for eigenvalues and eigenvectors - var eigenVectors = DenseMatrix.Identity(order); + var eigenVectors = DenseMatrix.CreateIdentity(order); var blockDiagonal = matrix.CreateMatrix(order, order); var eigenValues = new DenseVector(order); diff --git a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs index bce9fabb..0565d1a9 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs @@ -368,6 +368,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static SparseMatrix CreateIdentity(int order) + { + return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Returns a new matrix containing the lower triangle of this matrix. /// @@ -726,36 +734,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return norm; } - #region Static constructors for special matrices. - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// Identity SparseMatrix - /// - /// If is less than one. - /// - public static SparseMatrix Identity(int order) - { - var storage = new SparseCompressedRowMatrixStorage(order, order) - { - Values = new Complex[order], - ColumnIndices = new int[order] - }; - - for (var i = 0; i < order; i++) - { - storage.Values[i] = 1d; - storage.ColumnIndices[i] = i; - storage.RowPointers[i] = i; - } - - storage.RowPointers[order] = order; - - return new SparseMatrix(storage); - } - #endregion - /// /// Adds another matrix to this matrix. /// diff --git a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs index 96f991f4..13b93d3b 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs @@ -376,6 +376,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DenseMatrix CreateIdentity(int order) + { + return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Create a new dense matrix with values sampled from the provided random distribution. /// @@ -434,29 +442,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A dense identity matrix. - /// - /// If is less than one. - /// - public static DenseMatrix Identity(int order) - { - var m = new DenseMatrix(order); - for (var i = 0; i < order; i++) - { - m._values[(i * order) + i] = 1.0f; - } - - return m; - } - - #endregion - /// /// Multiplies each element of the matrix by a scalar and places results into the result matrix. /// diff --git a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs index f8954ef8..183044ba 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs @@ -172,6 +172,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DiagonalMatrix CreateIdentity(int order) + { + return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(order, order, i => One)); + } + /// /// Create a new diagonal matrix with diagonal values sampled from the provided random distribution. /// @@ -181,8 +189,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 i => new Complex32((float) distribution.Sample(), (float) distribution.Sample()))); } - #region Elementary operations - /// /// Adds another matrix to this matrix. /// @@ -630,8 +636,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return result; } - #endregion - /// /// Returns the transpose of this matrix. /// @@ -993,28 +997,5 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return true; } } - - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A diagonal identity matrix. - /// - /// If is less than one. - /// - public static DiagonalMatrix Identity(int order) - { - var m = new DiagonalMatrix(order); - for (var i = 0; i < order; i++) - { - m._data[i] = 1.0f; - } - - return m; - } - - #endregion } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs index 07448866..a36d05d4 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs @@ -75,7 +75,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization var order = matrix.RowCount; // Initialize matrices for eigenvalues and eigenvectors - var eigenVectors = DenseMatrix.Identity(order); + var eigenVectors = DenseMatrix.CreateIdentity(order); var blockDiagonal = new DenseMatrix(order); var eigenValues = new LinearAlgebra.Complex.DenseVector(order); diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs index 0527f33b..7e72fd1a 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs @@ -73,7 +73,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization var order = matrix.RowCount; // Initialize matricies for eigenvalues and eigenvectors - var eigenVectors = DenseMatrix.Identity(order); + var eigenVectors = DenseMatrix.CreateIdentity(order); var blockDiagonal = matrix.CreateMatrix(order, order); var eigenValues = new LinearAlgebra.Complex.DenseVector(order); diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs index f0572957..237a18d6 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs @@ -363,6 +363,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static SparseMatrix CreateIdentity(int order) + { + return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Returns a new matrix containing the lower triangle of this matrix. /// @@ -721,36 +729,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return norm; } - #region Static constructors for special matrices. - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// Identity SparseMatrix - /// - /// If is less than one. - /// - public static SparseMatrix Identity(int order) - { - var storage = new SparseCompressedRowMatrixStorage(order, order) - { - Values = new Complex32[order], - ColumnIndices = new int[order] - }; - - for (var i = 0; i < order; i++) - { - storage.Values[i] = 1f; - storage.ColumnIndices[i] = i; - storage.RowPointers[i] = i; - } - - storage.RowPointers[order] = order; - - return new SparseMatrix(storage); - } - #endregion - /// /// Adds another matrix to this matrix. /// diff --git a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs index f719b4bf..3e467e52 100644 --- a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs @@ -374,6 +374,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DenseMatrix CreateIdentity(int order) + { + return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Create a new dense matrix with values sampled from the provided random distribution. /// @@ -431,29 +439,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A dense identity matrix. - /// - /// If is less than one. - /// - public static DenseMatrix Identity(int order) - { - var m = new DenseMatrix(order); - for (var i = 0; i < order; i++) - { - m._values[(i * order) + i] = 1.0; - } - - return m; - } - - #endregion - /// /// Add a scalar to each element of the matrix and stores the result in the result vector. /// diff --git a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs index f25d16b5..bfa292e1 100644 --- a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs @@ -171,6 +171,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DiagonalMatrix CreateIdentity(int order) + { + return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(order, order, i => One)); + } + /// /// Create a new diagonal matrix with diagonal values sampled from the provided random distribution. /// @@ -180,8 +188,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double i => distribution.Sample())); } - #region Elementary operations - /// /// Adds another matrix to this matrix. /// @@ -624,8 +630,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double return result; } - #endregion - /// /// Returns the transpose of this matrix. /// @@ -1035,28 +1039,5 @@ namespace MathNet.Numerics.LinearAlgebra.Double } }); } - - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A diagonal identity matrix. - /// - /// If is less than one. - /// - public static DiagonalMatrix Identity(int order) - { - var m = new DiagonalMatrix(order); - for (var i = 0; i < order; i++) - { - m._data[i] = 1.0; - } - - return m; - } - - #endregion } } diff --git a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs index 387486d0..a6540178 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs @@ -361,6 +361,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static SparseMatrix CreateIdentity(int order) + { + return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Returns a new matrix containing the lower triangle of this matrix. /// @@ -721,36 +729,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double return norm; } - #region Static constructors for special matrices. - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// Identity SparseMatrix - /// - /// If is less than one. - /// - public static SparseMatrix Identity(int order) - { - var storage = new SparseCompressedRowMatrixStorage(order, order) - { - Values = new double[order], - ColumnIndices = new int[order] - }; - - for (var i = 0; i < order; i++) - { - storage.Values[i] = 1d; - storage.ColumnIndices[i] = i; - storage.RowPointers[i] = i; - } - - storage.RowPointers[order] = order; - - return new SparseMatrix(storage); - } - #endregion - /// /// Adds another matrix to this matrix. /// diff --git a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs index 7293bb91..243c3a73 100644 --- a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs @@ -374,6 +374,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DenseMatrix CreateIdentity(int order) + { + return new DenseMatrix(DenseColumnMajorMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Create a new dense matrix with values sampled from the provided random distribution. /// @@ -431,29 +439,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A dense identity matrix. - /// - /// If is less than one. - /// - public static DenseMatrix Identity(int order) - { - var m = new DenseMatrix(order); - for (var i = 0; i < order; i++) - { - m._values[(i * order) + i] = 1.0f; - } - - return m; - } - - #endregion - /// /// Add a scalar to each element of the matrix and stores the result in the result vector. /// diff --git a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs index 3b84e6d7..17db9841 100644 --- a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs @@ -171,6 +171,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static DiagonalMatrix CreateIdentity(int order) + { + return new DiagonalMatrix(DiagonalMatrixStorage.OfInit(order, order, i => One)); + } + /// /// Create a new diagonal matrix with diagonal values sampled from the provided random distribution. /// @@ -180,8 +188,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single i => (float) distribution.Sample())); } - #region Elementary operations - /// /// Adds another matrix to this matrix. /// @@ -624,8 +630,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single return result; } - #endregion - /// /// Returns the transpose of this matrix. /// @@ -1035,28 +1039,5 @@ namespace MathNet.Numerics.LinearAlgebra.Single } }); } - - #region Static constructors for special matrices. - - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// A diagonal identity matrix. - /// - /// If is less than one. - /// - public static DiagonalMatrix Identity(int order) - { - var m = new DiagonalMatrix(order); - for (var i = 0; i < order; i++) - { - m._data[i] = 1.0f; - } - - return m; - } - - #endregion } } diff --git a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs index febb20cb..d17f4615 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs @@ -361,6 +361,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(rows, columns, init)); } + /// + /// Create a new square sparse identity matrix where each diagonal value is set to One. + /// + public static SparseMatrix CreateIdentity(int order) + { + return new SparseMatrix(SparseCompressedRowMatrixStorage.OfDiagonalInit(order, order, i => One)); + } + /// /// Returns a new matrix containing the lower triangle of this matrix. /// @@ -727,36 +735,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single return norm; } - #region Static constructors for special matrices. - /// - /// Initializes a square with all zero's except for ones on the diagonal. - /// - /// the size of the square matrix. - /// Identity SparseMatrix - /// - /// If is less than one. - /// - public static SparseMatrix Identity(int order) - { - var storage = new SparseCompressedRowMatrixStorage(order, order) - { - Values = new float[order], - ColumnIndices = new int[order] - }; - - for (var i = 0; i < order; i++) - { - storage.Values[i] = 1f; - storage.ColumnIndices[i] = i; - storage.RowPointers[i] = i; - } - - storage.RowPointers[order] = order; - - return new SparseMatrix(storage); - } - #endregion - /// /// Adds another matrix to this matrix. /// diff --git a/src/Numerics/LinearAlgebra/Storage/SparseCompressedRowMatrixStorage.cs b/src/Numerics/LinearAlgebra/Storage/SparseCompressedRowMatrixStorage.cs index dc109b9d..29474aef 100644 --- a/src/Numerics/LinearAlgebra/Storage/SparseCompressedRowMatrixStorage.cs +++ b/src/Numerics/LinearAlgebra/Storage/SparseCompressedRowMatrixStorage.cs @@ -429,12 +429,13 @@ namespace MathNet.Numerics.LinearAlgebra.Storage public static SparseCompressedRowMatrixStorage OfDiagonalInit(int rows, int columns, Func init) { + int diagonalLength = Math.Min(rows, columns); var storage = new SparseCompressedRowMatrixStorage(rows, columns); var rowPointers = storage.RowPointers; - var columnIndices = new List(); - var values = new List(); + var columnIndices = new List(diagonalLength); + var values = new List(diagonalLength); - for (int i = 0; i < Math.Min(rows, columns); i++) + for (int i = 0; i < diagonalLength; i++) { rowPointers[i] = values.Count; var x = init(i); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs index 9c069974..aff8b533 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs @@ -173,7 +173,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateIdentity() { - var matrix = DenseMatrix.Identity(5); + var matrix = DenseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -191,7 +191,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DenseMatrix.Identity(order)); + Assert.Throws(() => DenseMatrix.CreateIdentity(order)); } } } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs index e98272dc..39916241 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs @@ -182,7 +182,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateIdentity() { - var matrix = DiagonalMatrix.Identity(5); + var matrix = DiagonalMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -200,7 +200,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DiagonalMatrix.Identity(order)); + Assert.Throws(() => DiagonalMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/CholeskyTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/CholeskyTests.cs index 7ebdf018..9ff97c6b 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/CholeskyTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/CholeskyTests.cs @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky().Factor; Assert.AreEqual(matrixI.RowCount, factorC.RowCount); @@ -67,7 +67,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [Test] public void CholeskyFailsWithDiagonalNonPositiveDefiniteMatrix() { - var matrixI = DenseMatrix.Identity(8); + var matrixI = DenseMatrix.CreateIdentity(8); matrixI[3, 3] = -4.0; Assert.Throws(() => matrixI.Cholesky()); } @@ -91,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky(); Assert.AreEqual(Complex.One, factorC.Determinant); Assert.AreEqual(Complex.Zero, factorC.DeterminantLn); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/EvdTests.cs index 8433fe07..6e63ec6f 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/EvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/EvdTests.cs @@ -1,4 +1,4 @@ -// +// // Math.NET Numerics, part of the Math.NET Project // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics @@ -45,7 +45,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); var eigenValues = factorEvd.EigenValues; var eigenVectors = factorEvd.EigenVectors; @@ -184,7 +184,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); Assert.AreEqual(Complex.One, factorEvd.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/GramSchmidtTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/GramSchmidtTests.cs index e154f359..897ff60f 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/GramSchmidtTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/GramSchmidtTests.cs @@ -56,7 +56,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); var q = factorGramSchmidt.Q; var r = factorGramSchmidt.R; @@ -104,7 +104,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); Assert.AreEqual(Complex.One, factorGramSchmidt.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/LUTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/LUTests.cs index b6e8cce7..ce46a784 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/LUTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/LUTests.cs @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorLU = matrixI.LU(); // Check lower triangular part. @@ -93,7 +93,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var lu = matrixI.LU(); Assert.AreEqual(Complex.One, lu.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/QRTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/QRTests.cs index fde3ea30..058184e8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/QRTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/QRTests.cs @@ -57,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); var r = factorQR.R; @@ -89,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentityUsingThinQR(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(QRMethod.Thin); var r = factorQR.R; @@ -121,7 +121,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); Assert.AreEqual(Complex.One, factorQR.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/SvdTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/SvdTests.cs index afb87d8c..e0d36c4e 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Factorization/SvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Factorization/SvdTests.cs @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorSvd = matrixI.Svd(); var u = factorSvd.U; var vt = factorSvd.VT; diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs index 1c36dab4..c45e56d9 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => Complex.One); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(new Complex(Math.PI, Math.PI), matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs index 9ee639f4..64f11d32 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs index 08c124d2..944bd0a8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs index df8050df..c6b1b11c 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs index 556d2373..df6ea200 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs @@ -158,7 +158,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateIdentity() { - var matrix = SparseMatrix.Identity(5); + var matrix = SparseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -176,7 +176,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => SparseMatrix.Identity(order)); + Assert.Throws(() => SparseMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs index b40db87d..ef2d9717 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs @@ -173,7 +173,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateIdentity() { - var matrix = DenseMatrix.Identity(5); + var matrix = DenseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -191,7 +191,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DenseMatrix.Identity(order)); + Assert.Throws(() => DenseMatrix.CreateIdentity(order)); } } } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs index 767c7908..6b0c4dbc 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs @@ -182,7 +182,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateIdentity() { - var matrix = DiagonalMatrix.Identity(5); + var matrix = DiagonalMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -200,7 +200,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DiagonalMatrix.Identity(order)); + Assert.Throws(() => DiagonalMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs index c9c630ed..dfb7aa02 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs @@ -45,7 +45,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky().Factor; Assert.AreEqual(matrixI.RowCount, factorC.RowCount); @@ -66,7 +66,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [Test] public void CholeskyFailsWithDiagonalNonPositiveDefiniteMatrix() { - var matrixI = DenseMatrix.Identity(10); + var matrixI = DenseMatrix.CreateIdentity(10); matrixI[3, 3] = -4.0f; Assert.Throws(() => matrixI.Cholesky()); } @@ -90,7 +90,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky(); Assert.AreEqual(Complex32.One, factorC.Determinant); Assert.AreEqual(Complex32.Zero, factorC.DeterminantLn); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/EvdTests.cs index 232987bb..16926136 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/EvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/EvdTests.cs @@ -1,4 +1,4 @@ -// +// // Math.NET Numerics, part of the Math.NET Project // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); var eigenValues = factorEvd.EigenValues; var eigenVectors = factorEvd.EigenVectors; @@ -181,7 +181,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); Assert.AreEqual(Complex32.One, factorEvd.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/GramSchmidtTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/GramSchmidtTests.cs index 5f2ba889..92e00cfb 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/GramSchmidtTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/GramSchmidtTests.cs @@ -56,7 +56,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); var q = factorGramSchmidt.Q; var r = factorGramSchmidt.R; @@ -104,7 +104,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); Assert.AreEqual(Complex32.One, factorGramSchmidt.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/LUTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/LUTests.cs index 0c3c622c..777251dc 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/LUTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/LUTests.cs @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorLU = matrixI.LU(); // Check lower triangular part. @@ -93,7 +93,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var lu = matrixI.LU(); Assert.AreEqual(Complex32.One, lu.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/QRTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/QRTests.cs index 26623a4b..58096ce3 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/QRTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/QRTests.cs @@ -57,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); var r = factorQR.R; @@ -89,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentityUsingThinQR(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(QRMethod.Thin); var r = factorQR.R; @@ -122,7 +122,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); Assert.AreEqual(Complex32.One, factorQR.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/SvdTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/SvdTests.cs index b9a22b4b..7d65ba7d 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/SvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Factorization/SvdTests.cs @@ -46,7 +46,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorSvd = matrixI.Svd(); var u = factorSvd.U; var vt = factorSvd.VT; diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs index 6178c09a..aa135033 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => Complex32.One); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(new Complex32((float) Math.PI, (float) Math.PI), matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs index d5eb5900..ae53a8d6 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs index 1b87774b..bda0250d 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs index d59b77f4..d7f66342 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -128,7 +128,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs index 38464d69..1166b1cb 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs @@ -158,7 +158,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateIdentity() { - var matrix = SparseMatrix.Identity(5); + var matrix = SparseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -176,7 +176,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => SparseMatrix.Identity(order)); + Assert.Throws(() => SparseMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs index 7f1d748c..b8ecd9d4 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs @@ -171,7 +171,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void CanCreateIdentity() { - var matrix = DenseMatrix.Identity(5); + var matrix = DenseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -189,7 +189,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DenseMatrix.Identity(order)); + Assert.Throws(() => DenseMatrix.CreateIdentity(order)); } } } diff --git a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs index 171efc06..85ab8dc0 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs @@ -180,7 +180,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void CanCreateIdentity() { - var matrix = DiagonalMatrix.Identity(5); + var matrix = DiagonalMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -198,7 +198,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DiagonalMatrix.Identity(order)); + Assert.Throws(() => DiagonalMatrix.CreateIdentity(order)); } /// @@ -405,7 +405,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void DiagonalDenseMatrixMultiplication_IssueCP5706() { - Matrix diagonal = DiagonalMatrix.Identity(3); + Matrix diagonal = DiagonalMatrix.CreateIdentity(3); Matrix dense = DenseMatrix.OfArray(new double[,] {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}}); var test = diagonal*dense; var test2 = dense*diagonal; diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs index dfc2c0dd..58548e08 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky().Factor; Assert.AreEqual(matrixI.RowCount, factorC.RowCount); @@ -65,7 +65,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [Test] public void CholeskyFailsWithDiagonalNonPositiveDefiniteMatrix() { - var matrixI = DenseMatrix.Identity(10); + var matrixI = DenseMatrix.CreateIdentity(10); matrixI[3, 3] = -4.0; Assert.Throws(() => matrixI.Cholesky()); } @@ -89,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky(); Assert.AreEqual(1.0, factorC.Determinant); Assert.AreEqual(0.0, factorC.DeterminantLn); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs index 98357978..d91d533c 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs @@ -1,4 +1,4 @@ -// +// // Math.NET Numerics, part of the Math.NET Project // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics @@ -45,7 +45,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); var eigenValues = factorEvd.EigenValues; var eigenVectors = factorEvd.EigenVectors; @@ -185,7 +185,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); Assert.AreEqual(1.0, factorEvd.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs index 743ab268..cbcdb2b8 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs @@ -54,7 +54,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); var q = factorGramSchmidt.Q; var r = factorGramSchmidt.R; @@ -102,7 +102,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); Assert.AreEqual(1.0, factorGramSchmidt.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs index 277ba373..ff92bd92 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorLU = matrixI.LU(); // Check lower triangular part. @@ -91,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var lu = matrixI.LU(); Assert.AreEqual(1.0, lu.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs index 1d46f336..8c695804 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs @@ -55,7 +55,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); var r = factorQR.R; @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentityUsingThinQR(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(QRMethod.Thin); var r = factorQR.R; @@ -119,7 +119,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); Assert.AreEqual(1.0, factorQR.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs index 5da7d912..189a5c1b 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorSvd = matrixI.Svd(); var u = factorSvd.U; var vt = factorSvd.VT; diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs index 9daf053e..5d9ddf10 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs index de9c6a3c..43df5e8d 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs index 844212c1..6416b6bc 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs index f060c845..69cf7d64 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs index 4fb586a9..5941df9d 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs @@ -156,7 +156,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void CanCreateIdentity() { - var matrix = SparseMatrix.Identity(5); + var matrix = SparseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -174,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => SparseMatrix.Identity(order)); + Assert.Throws(() => SparseMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs index a5787cb8..348d090d 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs @@ -171,7 +171,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateIdentity() { - var matrix = DenseMatrix.Identity(5); + var matrix = DenseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -189,7 +189,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DenseMatrix.Identity(order)); + Assert.Throws(() => DenseMatrix.CreateIdentity(order)); } } } diff --git a/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs index 6bc05eea..6281e7a2 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs @@ -180,7 +180,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateIdentity() { - var matrix = DiagonalMatrix.Identity(5); + var matrix = DiagonalMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -198,7 +198,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => DiagonalMatrix.Identity(order)); + Assert.Throws(() => DiagonalMatrix.CreateIdentity(order)); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/CholeskyTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/CholeskyTests.cs index 20895a69..a3b9dcf9 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/CholeskyTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/CholeskyTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky().Factor; Assert.AreEqual(matrixI.RowCount, factorC.RowCount); @@ -65,7 +65,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [Test] public void CholeskyFailsWithDiagonalNonPositiveDefiniteMatrix() { - var matrixI = DenseMatrix.Identity(10); + var matrixI = DenseMatrix.CreateIdentity(10); matrixI[3, 3] = -4.0f; Assert.Throws(() => matrixI.Cholesky()); } @@ -89,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorC = matrixI.Cholesky(); Assert.AreEqual(1.0, factorC.Determinant); Assert.AreEqual(0.0, factorC.DeterminantLn); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/EvdTests.cs index 827d9b7f..d53f2704 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/EvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/EvdTests.cs @@ -1,4 +1,4 @@ -// +// // Math.NET Numerics, part of the Math.NET Project // http://numerics.mathdotnet.com // http://github.com/mathnet/mathnet-numerics @@ -45,7 +45,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); var eigenValues = factorEvd.EigenValues; var eigenVectors = factorEvd.EigenVectors; @@ -174,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorEvd = matrixI.Evd(); Assert.AreEqual(1.0, factorEvd.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/GramSchmidtTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/GramSchmidtTests.cs index 413c8493..f6bc5739 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/GramSchmidtTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/GramSchmidtTests.cs @@ -54,7 +54,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); var q = factorGramSchmidt.Q; var r = factorGramSchmidt.R; @@ -102,7 +102,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorGramSchmidt = matrixI.GramSchmidt(); Assert.AreEqual(1.0, factorGramSchmidt.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/LUTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/LUTests.cs index 0837039e..faa54d40 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/LUTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/LUTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorLU = matrixI.LU(); // Check lower triangular part. @@ -91,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var lu = matrixI.LU(); Assert.AreEqual(1.0, lu.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/QRTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/QRTests.cs index e876373f..4a2e2bbf 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/QRTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/QRTests.cs @@ -55,7 +55,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); var r = factorQR.R; @@ -87,7 +87,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentityUsingThinQR(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(QRMethod.Thin); var r = factorQR.R; @@ -120,7 +120,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void IdentityDeterminantIsOne(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorQR = matrixI.QR(); Assert.AreEqual(1.0, factorQR.Determinant); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Factorization/SvdTests.cs b/src/UnitTests/LinearAlgebraTests/Single/Factorization/SvdTests.cs index 12d74b45..cc639733 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Factorization/SvdTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Factorization/SvdTests.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization [TestCase(100)] public void CanFactorizeIdentity(int order) { - var matrixI = DenseMatrix.Identity(order); + var matrixI = DenseMatrix.CreateIdentity(order); var factorSvd = matrixI.Svd(); var u = factorSvd.U; var vt = factorSvd.VT; diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs index f41b6935..ec038b05 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs index 46237857..23fc3a1d 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs index db1453cd..b44326af 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs @@ -86,7 +86,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -127,7 +127,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs index d36ed3e7..9b65f26b 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs @@ -85,7 +85,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Create the y vector var y = DenseVector.Create(matrix.RowCount, i => 1); @@ -126,7 +126,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - var matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.CreateIdentity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); diff --git a/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs index 596a02a2..45182848 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs @@ -156,7 +156,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateIdentity() { - var matrix = SparseMatrix.Identity(5); + var matrix = SparseMatrix.CreateIdentity(5); for (var i = 0; i < matrix.RowCount; i++) { for (var j = 0; j < matrix.ColumnCount; j++) @@ -174,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [TestCase(-1)] public void IdentityWithWrongOrderThrowsArgumentOutOfRangeException(int order) { - Assert.Throws(() => SparseMatrix.Identity(order)); + Assert.Throws(() => SparseMatrix.CreateIdentity(order)); } ///