From 7ec72961a95b986ff3d2db8921caa6d985f6b1eb Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Wed, 4 Sep 2013 00:17:10 +0200 Subject: [PATCH] LA: Refactor away the remaining usages of the non-generic base classes --- .../MatrixRowColumnOperations.cs | 2 +- .../Complex/Solvers/Iterative/BiCgStab.cs | 16 +++++----- .../Complex/Solvers/Iterative/GpBiCg.cs | 32 +++++++++---------- .../Complex/Solvers/Iterative/MlkBiCgStab.cs | 22 ++++++------- .../Complex32/Solvers/Iterative/BiCgStab.cs | 16 +++++----- .../Complex32/Solvers/Iterative/GpBiCg.cs | 32 +++++++++---------- .../Solvers/Iterative/MlkBiCgStab.cs | 22 ++++++------- .../Double/Solvers/Iterative/MlkBiCgStab.cs | 24 +++++++------- .../Single/Solvers/Iterative/GpBiCg.cs | 32 +++++++++---------- .../Single/Solvers/Iterative/MlkBiCgStab.cs | 22 ++++++------- .../Complex/DenseMatrixTests.cs | 20 ++++++------ .../Complex/DiagonalMatrixTests.cs | 22 +++++++------ .../Complex/MatrixLoader.cs | 12 +++---- .../Complex/Solvers/Iterative/BiCgStabTest.cs | 14 ++++---- .../Complex/Solvers/Iterative/GpBiCgTest.cs | 14 ++++---- .../Solvers/Iterative/MlkBiCgStabTest.cs | 14 ++++---- .../Complex/Solvers/Iterative/TFQMRTest.cs | 14 ++++---- .../Solvers/Preconditioners/DiagonalTest.cs | 2 +- .../Solvers/Preconditioners/IlutpTest.cs | 8 ++--- .../Preconditioners/IncompleteLUTest.cs | 10 +++--- .../Preconditioners/PreConditionerTest.cs | 8 ++--- .../Complex/SparseMatrixTests.cs | 22 +++++++------ .../Complex/UserDefinedMatrixTests.cs | 11 ++++--- .../Complex32/DenseMatrixTests.cs | 22 +++++++------ .../Complex32/DiagonalMatrixTests.cs | 24 +++++++------- .../Complex32/MatrixLoader.cs | 12 +++---- .../Solvers/Iterative/BiCgStabTest.cs | 14 ++++---- .../Complex32/Solvers/Iterative/GpBiCgTest.cs | 14 ++++---- .../Solvers/Iterative/MlkBiCgStabTest.cs | 14 ++++---- .../Complex32/Solvers/Iterative/TFQMRTest.cs | 14 ++++---- .../Solvers/Preconditioners/DiagonalTest.cs | 2 +- .../Preconditioners/IluptElementSorterTest.cs | 16 +++++----- .../Solvers/Preconditioners/IlutpTest.cs | 8 ++--- .../Preconditioners/IncompleteLUTest.cs | 10 +++--- .../Preconditioners/PreConditionerTest.cs | 10 +++--- .../Complex32/SparseMatrixTests.cs | 24 +++++++------- .../Complex32/UserDefinedMatrixTests.cs | 13 ++++---- .../Double/DenseMatrixTests.cs | 21 ++++++------ .../Double/DiagonalMatrixTests.cs | 14 ++++---- .../LinearAlgebraTests/Double/MatrixLoader.cs | 13 ++++---- .../Double/Solvers/Iterative/BiCgStabTest.cs | 14 ++++---- .../Double/Solvers/Iterative/GpBiCgTest.cs | 14 ++++---- .../Solvers/Iterative/MlkBiCgStabTest.cs | 14 ++++---- .../Double/Solvers/Iterative/TFQMRTest.cs | 14 ++++---- .../Solvers/Preconditioners/DiagonalTest.cs | 2 +- .../Preconditioners/IluptElementSorterTest.cs | 16 +++++----- .../Solvers/Preconditioners/IlutpTest.cs | 8 ++--- .../Preconditioners/IncompleteLUTest.cs | 10 +++--- .../Preconditioners/PreConditionerTest.cs | 10 +++--- .../Double/SparseMatrixTests.cs | 23 ++++++------- .../Double/UserDefinedMatrixTests.cs | 12 +++---- .../Single/DenseMatrixTests.cs | 21 ++++++------ .../Single/DiagonalMatrixTests.cs | 23 ++++++------- .../LinearAlgebraTests/Single/MatrixLoader.cs | 12 +++---- .../Single/Solvers/Iterative/BiCgStabTest.cs | 14 ++++---- .../Single/Solvers/Iterative/GpBiCgTest.cs | 14 ++++---- .../Solvers/Iterative/MlkBiCgStabTest.cs | 14 ++++---- .../Single/Solvers/Iterative/TFQMRTest.cs | 14 ++++---- .../Solvers/Preconditioners/DiagonalTest.cs | 2 +- .../Preconditioners/IluptElementSorterTest.cs | 16 +++++----- .../Preconditioners/IncompleteLUTest.cs | 8 ++--- .../Preconditioners/PreConditionerTest.cs | 4 +-- .../Single/SparseMatrixTests.cs | 23 ++++++------- .../Single/UserDefinedMatrixTests.cs | 12 +++---- 64 files changed, 482 insertions(+), 468 deletions(-) diff --git a/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs b/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs index 81bc2861..9579d8df 100644 --- a/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs +++ b/src/Examples/LinearAlgebra/MatrixRowColumnOperations.cs @@ -101,7 +101,7 @@ namespace Examples.LinearAlgebraExamples Console.WriteLine(); // 3. Set column values - matrix.SetColumn(2, (Vector)vector); + matrix.SetColumn(2, vector); Console.WriteLine(@"3. Set column values"); Console.WriteLine(matrix.ToString("#0.00\t", formatProvider)); Console.WriteLine(); diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs index 4b8425df..6d85b9b2 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs @@ -286,7 +286,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // Compute r_0 = b - Ax_0 for some initial guess x_0 // In this case we take x_0 = vector // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, result, input); // Choose r~ (for example, r~ = r_0) @@ -295,13 +295,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // create seven temporary vectors needed to hold temporary // coefficients. All vectors are mangled in each iteration. // These are defined here to prevent stressing the garbage collector - Vector vecP = new DenseVector(residuals.Count); - Vector vecPdash = new DenseVector(residuals.Count); - Vector nu = new DenseVector(residuals.Count); - Vector vecS = new DenseVector(residuals.Count); - Vector vecSdash = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var vecP = new DenseVector(residuals.Count); + var vecPdash = new DenseVector(residuals.Count); + var nu = new DenseVector(residuals.Count); + var vecS = new DenseVector(residuals.Count); + var vecSdash = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); // create some temporary double variables that are needed // to hold values in between iterations diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs index f13b546d..88de1d88 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs @@ -329,11 +329,11 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // x_0 is initial guess // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary scalars @@ -341,26 +341,26 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // Define the temporary vectors // rDash_0 = r_0 - Vector rdash = DenseVector.OfVector(residuals); + var rdash = DenseVector.OfVector(residuals); // t_-1 = 0 - Vector t = new DenseVector(residuals.Count); - Vector t0 = new DenseVector(residuals.Count); + var t = new DenseVector(residuals.Count); + var t0 = new DenseVector(residuals.Count); // w_-1 = 0 - Vector w = new DenseVector(residuals.Count); + var w = new DenseVector(residuals.Count); // Define the remaining temporary vectors - Vector c = new DenseVector(residuals.Count); - Vector p = new DenseVector(residuals.Count); - Vector s = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector y = new DenseVector(residuals.Count); - Vector z = new DenseVector(residuals.Count); - - Vector temp = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); - Vector temp3 = new DenseVector(residuals.Count); + var c = new DenseVector(residuals.Count); + var p = new DenseVector(residuals.Count); + var s = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var y = new DenseVector(residuals.Count); + var z = new DenseVector(residuals.Count); + + var temp = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); + var temp3 = new DenseVector(residuals.Count); // for (k = 0, 1, .... ) var iterationNumber = 0; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs index 7a4637ef..bb8138bd 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs @@ -349,7 +349,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // Choose an initial guess x_0 // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // Choose k vectors q_1, q_2, ..., q_k // Build a new set if: @@ -378,24 +378,24 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary values var c = new Complex[k]; // Define the temporary vectors - Vector gtemp = new DenseVector(residuals.Count); + var gtemp = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector utemp = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp1 = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var utemp = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp1 = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); - Vector zd = new DenseVector(residuals.Count); - Vector zg = new DenseVector(residuals.Count); - Vector zw = new DenseVector(residuals.Count); + var zd = new DenseVector(residuals.Count); + var zg = new DenseVector(residuals.Count); + var zw = new DenseVector(residuals.Count); var d = CreateVectorArray(_startingVectors.Count, residuals.Count); diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs index a39339b6..dbf8ecdd 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs @@ -280,7 +280,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // Compute r_0 = b - Ax_0 for some initial guess x_0 // In this case we take x_0 = vector // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, result, input); // Choose r~ (for example, r~ = r_0) @@ -289,13 +289,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // create seven temporary vectors needed to hold temporary // coefficients. All vectors are mangled in each iteration. // These are defined here to prevent stressing the garbage collector - Vector vecP = new DenseVector(residuals.Count); - Vector vecPdash = new DenseVector(residuals.Count); - Vector nu = new DenseVector(residuals.Count); - Vector vecS = new DenseVector(residuals.Count); - Vector vecSdash = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var vecP = new DenseVector(residuals.Count); + var vecPdash = new DenseVector(residuals.Count); + var nu = new DenseVector(residuals.Count); + var vecS = new DenseVector(residuals.Count); + var vecSdash = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); // create some temporary float variables that are needed // to hold values in between iterations diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs index c8683e21..27db32fa 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs @@ -328,11 +328,11 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // x_0 is initial guess // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary scalars @@ -340,26 +340,26 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // Define the temporary vectors // rDash_0 = r_0 - Vector rdash = DenseVector.OfVector(residuals); + var rdash = DenseVector.OfVector(residuals); // t_-1 = 0 - Vector t = new DenseVector(residuals.Count); - Vector t0 = new DenseVector(residuals.Count); + var t = new DenseVector(residuals.Count); + var t0 = new DenseVector(residuals.Count); // w_-1 = 0 - Vector w = new DenseVector(residuals.Count); + var w = new DenseVector(residuals.Count); // Define the remaining temporary vectors - Vector c = new DenseVector(residuals.Count); - Vector p = new DenseVector(residuals.Count); - Vector s = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector y = new DenseVector(residuals.Count); - Vector z = new DenseVector(residuals.Count); - - Vector temp = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); - Vector temp3 = new DenseVector(residuals.Count); + var c = new DenseVector(residuals.Count); + var p = new DenseVector(residuals.Count); + var s = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var y = new DenseVector(residuals.Count); + var z = new DenseVector(residuals.Count); + + var temp = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); + var temp3 = new DenseVector(residuals.Count); // for (k = 0, 1, .... ) var iterationNumber = 0; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs index d0c3705d..97eb95f5 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs @@ -348,7 +348,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // Choose an initial guess x_0 // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // Choose k vectors q_1, q_2, ..., q_k // Build a new set if: @@ -377,24 +377,24 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary values var c = new Complex32[k]; // Define the temporary vectors - Vector gtemp = new DenseVector(residuals.Count); + var gtemp = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector utemp = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp1 = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var utemp = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp1 = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); - Vector zd = new DenseVector(residuals.Count); - Vector zg = new DenseVector(residuals.Count); - Vector zw = new DenseVector(residuals.Count); + var zd = new DenseVector(residuals.Count); + var zg = new DenseVector(residuals.Count); + var zw = new DenseVector(residuals.Count); var d = CreateVectorArray(_startingVectors.Count, residuals.Count); diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs index bd7ec696..0e0a9771 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs @@ -352,7 +352,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative // Choose an initial guess x_0 // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // Choose k vectors q_1, q_2, ..., q_k // Build a new set if: @@ -381,24 +381,24 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary scalars var c = new double[k]; // Define the temporary vectors - Vector gtemp = new DenseVector(residuals.Count); + var gtemp = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector utemp = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp1 = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var utemp = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp1 = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); - Vector zd = new DenseVector(residuals.Count); - Vector zg = new DenseVector(residuals.Count); - Vector zw = new DenseVector(residuals.Count); + var zd = new DenseVector(residuals.Count); + var zg = new DenseVector(residuals.Count); + var zw = new DenseVector(residuals.Count); var d = CreateVectorArray(_startingVectors.Count, residuals.Count); @@ -793,7 +793,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative for (var column = 0; column < input.ColumnCount; column++) { - var solution = Solve(matrix, (Vector)input.Column(column)); + var solution = Solve(matrix, input.Column(column)); foreach (var element in solution.EnumerateNonZeroIndexed()) { result.At(element.Item1, column, element.Item2); diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs index 9000861d..374e7686 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs @@ -326,11 +326,11 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative // x_0 is initial guess // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary scalars @@ -338,26 +338,26 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative // Define the temporary vectors // rDash_0 = r_0 - Vector rdash = DenseVector.OfVector(residuals); + var rdash = DenseVector.OfVector(residuals); // t_-1 = 0 - Vector t = new DenseVector(residuals.Count); - Vector t0 = new DenseVector(residuals.Count); + var t = new DenseVector(residuals.Count); + var t0 = new DenseVector(residuals.Count); // w_-1 = 0 - Vector w = new DenseVector(residuals.Count); + var w = new DenseVector(residuals.Count); // Define the remaining temporary vectors - Vector c = new DenseVector(residuals.Count); - Vector p = new DenseVector(residuals.Count); - Vector s = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector y = new DenseVector(residuals.Count); - Vector z = new DenseVector(residuals.Count); + var c = new DenseVector(residuals.Count); + var p = new DenseVector(residuals.Count); + var s = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var y = new DenseVector(residuals.Count); + var z = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); - Vector temp3 = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); + var temp3 = new DenseVector(residuals.Count); // for (k = 0, 1, .... ) var iterationNumber = 0; @@ -628,7 +628,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative for (var column = 0; column < input.ColumnCount; column++) { - var solution = Solve(matrix, (Vector) input.Column(column)); + var solution = Solve(matrix, input.Column(column)); foreach (var element in solution.EnumerateNonZeroIndexed()) { result.At(element.Item1, column, element.Item2); diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs index ae9d99a3..d6601a93 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs @@ -351,7 +351,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative // Choose an initial guess x_0 // Take x_0 = 0 - Vector xtemp = new DenseVector(input.Count); + var xtemp = new DenseVector(input.Count); // Choose k vectors q_1, q_2, ..., q_k // Build a new set if: @@ -380,24 +380,24 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative // r_0 = b - Ax_0 // This is basically a SAXPY so it could be made a lot faster - Vector residuals = new DenseVector(matrix.RowCount); + var residuals = new DenseVector(matrix.RowCount); CalculateTrueResidual(matrix, residuals, xtemp, input); // Define the temporary scalars var c = new float[k]; // Define the temporary vectors - Vector gtemp = new DenseVector(residuals.Count); + var gtemp = new DenseVector(residuals.Count); - Vector u = new DenseVector(residuals.Count); - Vector utemp = new DenseVector(residuals.Count); - Vector temp = new DenseVector(residuals.Count); - Vector temp1 = new DenseVector(residuals.Count); - Vector temp2 = new DenseVector(residuals.Count); + var u = new DenseVector(residuals.Count); + var utemp = new DenseVector(residuals.Count); + var temp = new DenseVector(residuals.Count); + var temp1 = new DenseVector(residuals.Count); + var temp2 = new DenseVector(residuals.Count); - Vector zd = new DenseVector(residuals.Count); - Vector zg = new DenseVector(residuals.Count); - Vector zw = new DenseVector(residuals.Count); + var zd = new DenseVector(residuals.Count); + var zg = new DenseVector(residuals.Count); + var zw = new DenseVector(residuals.Count); var d = CreateVectorArray(_startingVectors.Count, residuals.Count); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs index 77da3423..9c069974 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/DenseMatrixTests.cs @@ -28,13 +28,15 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex { - using System; - using System.Collections.Generic; using System.Numerics; - using LinearAlgebra.Complex; - using NUnit.Framework; /// /// Dense matrix tests. @@ -47,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DenseMatrix(rows, columns); } @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex[,] data) + protected override Matrix CreateMatrix(Complex[,] data) { return DenseMatrix.OfArray(data); } @@ -68,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -78,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex[] data) + protected override Vector CreateVector(Complex[] data) { return new DenseVector(data); } @@ -89,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DenseMatrix(3, 3, new[] {new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(2.0, 1), new Complex(2.0, 1), new Complex(2.0, 1)})}, {"Square3x3", new DenseMatrix(3, 3, new[] {new Complex(-1.1, 1), Complex.Zero, new Complex(-4.4, 1), new Complex(-2.2, 1), new Complex(1.1, 1), new Complex(5.5, 1), new Complex(-3.3, 1), new Complex(2.2, 1), new Complex(6.6, 1)})}, diff --git a/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs index 0af144bf..e98272dc 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/DiagonalMatrixTests.cs @@ -28,13 +28,15 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex { - using System; - using System.Collections.Generic; using System.Numerics; - using LinearAlgebra.Complex; - using NUnit.Framework; /// /// Diagonal matrix tests. @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex {"Wide2x3", new[,] {{new Complex(-1.1, 1), Complex.Zero, Complex.Zero}, {Complex.Zero, new Complex(1.1, 1), Complex.Zero}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); @@ -70,7 +72,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DiagonalMatrix(rows, columns); } @@ -80,7 +82,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex[,] data) + protected override Matrix CreateMatrix(Complex[,] data) { return DiagonalMatrix.OfArray(data); } @@ -91,7 +93,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -101,7 +103,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex[] data) + protected override Vector CreateVector(Complex[] data) { return SparseVector.OfEnumerable(data); } @@ -112,7 +114,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateMatrixFromDiagonalArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DiagonalMatrix(3, 3, new[] {new Complex(1.0, 1), Complex.Zero, new Complex(3.0, 1)})}, {"Square3x3", new DiagonalMatrix(3, 3, new[] {new Complex(-1.1, 1), new Complex(1.1, 1), new Complex(6.6, 1)})}, diff --git a/src/UnitTests/LinearAlgebraTests/Complex/MatrixLoader.cs b/src/UnitTests/LinearAlgebraTests/Complex/MatrixLoader.cs index 324a3620..457d3a79 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/MatrixLoader.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/MatrixLoader.cs @@ -52,7 +52,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// Gets or sets test matrices instances to use. /// - protected Dictionary TestMatrices { get; set; } + protected Dictionary> TestMatrices { get; set; } /// /// Creates a matrix for the given number of rows and columns. @@ -60,14 +60,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected abstract Matrix CreateMatrix(int rows, int columns); + protected abstract Matrix CreateMatrix(int rows, int columns); /// /// Creates a matrix from a 2D array. /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected abstract Matrix CreateMatrix(Complex[,] data); + protected abstract Matrix CreateMatrix(Complex[,] data); /// /// Creates a vector of the given size. @@ -75,14 +75,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The size of the vector to create. /// /// The new vector. - protected abstract Vector CreateVector(int size); + protected abstract Vector CreateVector(int size); /// /// Creates a vector from an array. /// /// The array to create this vector from. /// The new vector. - protected abstract Vector CreateVector(Complex[] data); + protected abstract Vector CreateVector(Complex[] data); /// /// Setup test matrices. @@ -101,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex {"Symmetric3x3", new[,] {{Complex.One, 2.0, 3.0}, {2.0, 2.0, 0.0}, {3.0, 0.0, 3.0}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs index 69ec91d9..b0cc60f8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs @@ -63,7 +63,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -76,7 +76,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -89,10 +89,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -131,13 +131,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(new Complex(Math.PI, Math.PI), matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -215,7 +215,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs index bd0b63a4..6adf19fd 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs index b54aebb2..b7ff47a8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs index 403a8f46..77b80fab 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/DiagonalTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/DiagonalTest.cs index 878b67e7..49d10aa8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/DiagonalTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/DiagonalTest.cs @@ -66,7 +66,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IlutpTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IlutpTest.cs index 604d86f5..dbe38c39 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IlutpTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IlutpTest.cs @@ -179,7 +179,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) { @@ -205,7 +205,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -226,7 +226,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -347,7 +347,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi FillLevel = 10 }; preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IncompleteLUTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IncompleteLUTest.cs index 9bfcbc84..78ed4627 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IncompleteLUTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/IncompleteLUTest.cs @@ -72,9 +72,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi /// /// IncompleteLU instance. /// Upper triangle. - private static Matrix GetUpperTriangle(IncompleteLU ilu) + private static Matrix GetUpperTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "UpperTriangle"); + return GetMethod>(ilu, "UpperTriangle"); } /// @@ -82,9 +82,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi /// /// IncompleteLU instance. /// Lower triangle. - private static Matrix GetLowerTriangle(IncompleteLU ilu) + private static Matrix GetLowerTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "LowerTriangle"); + return GetMethod>(ilu, "LowerTriangle"); } /// @@ -109,7 +109,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/PreConditionerTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/PreConditionerTest.cs index 7e059467..5a6c43ca 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/PreConditionerTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Preconditioners/PreConditionerTest.cs @@ -70,9 +70,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi /// /// Size of the vector. /// New vector. - protected Vector CreateStandardBcVector(int size) + protected DenseVector CreateStandardBcVector(int size) { - Vector vector = new DenseVector(size); + var vector = new DenseVector(size); for (var i = 0; i < size; i++) { vector[i] = i + 1; @@ -164,7 +164,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count + 10); + var result = new DenseVector(vector.Count + 10); Assert.Throws(() => preconditioner.Approximate(null, result)); } @@ -181,7 +181,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Precondi var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = null; + Vector result = null; Assert.Throws(() => preconditioner.Approximate(vector, result)); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs index c5d08fca..556d2373 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/SparseMatrixTests.cs @@ -28,12 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex { - using LinearAlgebra.Complex; - using NUnit.Framework; - using System; - using System.Collections.Generic; using System.Numerics; /// @@ -47,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new SparseMatrix(rows, columns); } @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex[,] data) + protected override Matrix CreateMatrix(Complex[,] data) { return SparseMatrix.OfArray(data); } @@ -68,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -78,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex[] data) + protected override Vector CreateVector(Complex[] data) { return SparseVector.OfEnumerable(data); } @@ -89,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(1.0, 1), new Complex(2.0, 1), new Complex(2.0, 1), new Complex(2.0, 1)})}, {"Square3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {new Complex(-1.1, 1), Complex.Zero, new Complex(-4.4, 1), new Complex(-2.2, 1), new Complex(1.1, 1), new Complex(5.5, 1), new Complex(-3.3, 1), new Complex(2.2, 1), new Complex(6.6, 1)})}, @@ -185,7 +187,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex { var matrix = new SparseMatrix(500, 1000); var nonzero = 0; - var rnd = new Random(); + var rnd = new System.Random(); for (var i = 0; i < matrix.RowCount; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Complex/UserDefinedMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/UserDefinedMatrixTests.cs index 11aef56e..d960b911 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/UserDefinedMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/UserDefinedMatrixTests.cs @@ -24,10 +24,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using MathNet.Numerics.LinearAlgebra; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex { using System.Numerics; - using LinearAlgebra.Complex; /// /// Test class for user-defined matrix. @@ -40,7 +41,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new UserDefinedMatrix(rows, columns); } @@ -50,7 +51,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex[,] data) + protected override Matrix CreateMatrix(Complex[,] data) { return new UserDefinedMatrix(data); } @@ -61,7 +62,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new UserDefinedVector(size); } @@ -71,7 +72,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex[] data) + protected override Vector CreateVector(Complex[] data) { return new UserDefinedVector(data); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs index 6687cbbb..b40db87d 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/DenseMatrixTests.cs @@ -28,13 +28,15 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex32; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 { - using LinearAlgebra.Complex32; - using NUnit.Framework; - using System; - using System.Collections.Generic; - using Complex32 = Numerics.Complex32; + using Numerics; /// /// Dense matrix tests. @@ -47,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DenseMatrix(rows, columns); } @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex32[,] data) + protected override Matrix CreateMatrix(Complex32[,] data) { return DenseMatrix.OfArray(data); } @@ -68,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -78,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex32[] data) + protected override Vector CreateVector(Complex32[] data) { return new DenseVector(data); } @@ -89,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DenseMatrix(3, 3, new[] {new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(2.0f, 1), new Complex32(2.0f, 1), new Complex32(2.0f, 1)})}, {"Square3x3", new DenseMatrix(3, 3, new[] {new Complex32(-1.1f, 1), Complex32.Zero, new Complex32(-4.4f, 1), new Complex32(-2.2f, 1), new Complex32(1.1f, 1), new Complex32(5.5f, 1), new Complex32(-3.3f, 1), new Complex32(2.2f, 1), new Complex32(6.6f, 1)})}, diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs index ca81bea4..767c7908 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/DiagonalMatrixTests.cs @@ -28,13 +28,15 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex32; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 { - using LinearAlgebra.Complex32; - using NUnit.Framework; - using System; - using System.Collections.Generic; - using Complex32 = Numerics.Complex32; + using Numerics; /// /// Diagonal matrix tests. @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 {"Wide2x3", new[,] {{new Complex32(-1.1f, 1), Complex32.Zero, Complex32.Zero}, {Complex32.Zero, new Complex32(1.1f, 1), Complex32.Zero}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); @@ -70,7 +72,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DiagonalMatrix(rows, columns); } @@ -80,7 +82,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex32[,] data) + protected override Matrix CreateMatrix(Complex32[,] data) { return DiagonalMatrix.OfArray(data); } @@ -91,7 +93,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -101,7 +103,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex32[] data) + protected override Vector CreateVector(Complex32[] data) { return SparseVector.OfEnumerable(data); } @@ -112,7 +114,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateMatrixFromDiagonalArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DiagonalMatrix(3, 3, new[] {new Complex32(1.0f, 1), Complex32.Zero, new Complex32(3.0f, 1)})}, {"Square3x3", new DiagonalMatrix(3, 3, new[] {new Complex32(-1.1f, 1), new Complex32(1.1f, 1), new Complex32(6.6f, 1)})}, diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/MatrixLoader.cs b/src/UnitTests/LinearAlgebraTests/Complex32/MatrixLoader.cs index 30751d6f..539d506c 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/MatrixLoader.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/MatrixLoader.cs @@ -52,7 +52,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// Gets or sets test matrices instances to use. /// - protected Dictionary TestMatrices { get; set; } + protected Dictionary> TestMatrices { get; set; } /// /// Creates a matrix for the given number of rows and columns. @@ -60,14 +60,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected abstract Matrix CreateMatrix(int rows, int columns); + protected abstract Matrix CreateMatrix(int rows, int columns); /// /// Creates a matrix from a 2D array. /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected abstract Matrix CreateMatrix(Complex32[,] data); + protected abstract Matrix CreateMatrix(Complex32[,] data); /// /// Creates a vector of the given size. @@ -75,14 +75,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The size of the vector to create. /// /// The new vector. - protected abstract Vector CreateVector(int size); + protected abstract Vector CreateVector(int size); /// /// Creates a vector from an array. /// /// The array to create this vector from. /// The new vector. - protected abstract Vector CreateVector(Complex32[] data); + protected abstract Vector CreateVector(Complex32[] data); /// /// Setup test matrices. @@ -101,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 {"Symmetric3x3", new[,] {{Complex32.One, 2.0f, 3.0f}, {2.0f, 2.0f, 0.0f}, {3.0f, 0.0f, 3.0f}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs index 3489aaaa..c5ae14a2 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs @@ -63,7 +63,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -76,7 +76,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -89,10 +89,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex32.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex32.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -131,13 +131,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(new Complex32((float) Math.PI, (float) Math.PI), matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex32.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex32.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -215,7 +215,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => Complex32.One); + var y = DenseVector.Create(matrix.RowCount, i => Complex32.One); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs index f274e35f..30f8fcf7 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs index e5fcfe83..187b201a 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs index d5227ba3..9f60bd16 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/DiagonalTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/DiagonalTest.cs index 3bf6308b..3ce34de1 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/DiagonalTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/DiagonalTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IluptElementSorterTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IluptElementSorterTest.cs index 5193873a..7ebf2e0c 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IluptElementSorterTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IluptElementSorterTest.cs @@ -177,7 +177,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithIncreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -207,7 +207,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithDecreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 9; values[1] = 8; values[2] = 7; @@ -237,7 +237,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithRandomDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 5; values[1] = 2; values[2] = 8; @@ -299,7 +299,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithDuplicateDoubleEntries() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 1; values[1] = 1; values[2] = 1; @@ -363,7 +363,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithSpecialConstructedDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 0; values[2] = 0; @@ -472,7 +472,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithIncreasingDoubleArrayWithLowerBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -502,7 +502,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithIncreasingDoubleArrayWithUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -532,7 +532,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon public void HeapSortWithIncreasingDoubleArrayWithLowerAndUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IlutpTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IlutpTest.cs index 46a652a7..519e9483 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IlutpTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IlutpTest.cs @@ -174,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) { @@ -200,7 +200,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -221,7 +221,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -342,7 +342,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon FillLevel = 10 }; preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IncompleteLUTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IncompleteLUTest.cs index 0a1e04a1..f5237774 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IncompleteLUTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/IncompleteLUTest.cs @@ -67,9 +67,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon /// /// IncompleteLU instance. /// Upper triangle. - private static Matrix GetUpperTriangle(IncompleteLU ilu) + private static Matrix GetUpperTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "UpperTriangle"); + return GetMethod>(ilu, "UpperTriangle"); } /// @@ -77,9 +77,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon /// /// IncompleteLU instance. /// Lower triangle. - private static Matrix GetLowerTriangle(IncompleteLU ilu) + private static Matrix GetLowerTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "LowerTriangle"); + return GetMethod>(ilu, "LowerTriangle"); } /// @@ -104,7 +104,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/PreConditionerTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/PreConditionerTest.cs index 4bfbae20..cc67be88 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/PreConditionerTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Preconditioners/PreConditionerTest.cs @@ -56,7 +56,6 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon { matrix[i, i] = 2; } - return matrix; } @@ -65,14 +64,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon /// /// Size of the vector. /// New vector. - protected Vector CreateStandardBcVector(int size) + protected DenseVector CreateStandardBcVector(int size) { - Vector vector = new DenseVector(size); + var vector = new DenseVector(size); for (var i = 0; i < size; i++) { vector[i] = i + 1; } - return vector; } @@ -159,7 +157,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count + 10); + var result = new DenseVector(vector.Count + 10); Assert.Throws(() => preconditioner.Approximate(null, result)); } @@ -176,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Precon var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = null; + Vector result = null; Assert.Throws(() => preconditioner.Approximate(vector, result)); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs index c359b9c7..38464d69 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/SparseMatrixTests.cs @@ -28,13 +28,15 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Complex32; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 { - using LinearAlgebra.Complex32; - using NUnit.Framework; - using System; - using System.Collections.Generic; - using Complex32 = Numerics.Complex32; + using Numerics; /// /// Sparse matrix tests. @@ -47,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new SparseMatrix(rows, columns); } @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex32[,] data) + protected override Matrix CreateMatrix(Complex32[,] data) { return SparseMatrix.OfArray(data); } @@ -68,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -78,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex32[] data) + protected override Vector CreateVector(Complex32[] data) { return SparseVector.OfEnumerable(data); } @@ -89,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(1.0f, 1), new Complex32(2.0f, 1), new Complex32(2.0f, 1), new Complex32(2.0f, 1)})}, {"Square3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {new Complex32(-1.1f, 1), Complex32.Zero, new Complex32(-4.4f, 1), new Complex32(-2.2f, 1), new Complex32(1.1f, 1), new Complex32(5.5f, 1), new Complex32(-3.3f, 1), new Complex32(2.2f, 1), new Complex32(6.6f, 1)})}, @@ -185,7 +187,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 { var matrix = new SparseMatrix(500, 1000); var nonzero = 0; - var rnd = new Random(); + var rnd = new System.Random(); for (var i = 0; i < matrix.RowCount; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/UserDefinedMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/UserDefinedMatrixTests.cs index b7315542..a1fe69cc 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/UserDefinedMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/UserDefinedMatrixTests.cs @@ -24,10 +24,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using MathNet.Numerics.LinearAlgebra; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 { - using LinearAlgebra.Complex32; - using Complex32 = Numerics.Complex32; + using Numerics; /// /// Test class for user-defined matrix. @@ -40,7 +41,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new UserDefinedMatrix(rows, columns); } @@ -50,7 +51,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(Complex32[,] data) + protected override Matrix CreateMatrix(Complex32[,] data) { return new UserDefinedMatrix(data); } @@ -61,7 +62,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new UserDefinedVector(size); } @@ -71,7 +72,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(Complex32[] data) + protected override Vector CreateVector(Complex32[] data) { return new UserDefinedVector(data); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs index ed9c8f55..7f1d748c 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs @@ -28,13 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Double; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double { - using LinearAlgebra.Double; - using NUnit.Framework; - using System; - using System.Collections.Generic; - /// /// Dense matrix tests. /// @@ -46,7 +47,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DenseMatrix(rows, columns); } @@ -56,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(double[,] data) + protected override Matrix CreateMatrix(double[,] data) { return DenseMatrix.OfArray(data); } @@ -67,7 +68,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -77,7 +78,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(double[] data) + protected override Vector CreateVector(double[] data) { return new DenseVector(data); } @@ -88,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DenseMatrix(3, 3, new[] {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0})}, {"Square3x3", new DenseMatrix(3, 3, new[] {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5, -3.3, 2.2, 6.6})}, diff --git a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs index 5dc77446..171efc06 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs @@ -28,11 +28,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; using MathNet.Numerics.LinearAlgebra; using MathNet.Numerics.LinearAlgebra.Double; using NUnit.Framework; -using System; -using System.Collections.Generic; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double { @@ -57,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double {"Wide2x3", new[,] {{-1.1, 0.0, 0.0}, {0.0, 1.1, 0.0}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); @@ -70,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DiagonalMatrix(rows, columns); } @@ -80,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(double[,] data) + protected override Matrix CreateMatrix(double[,] data) { return DiagonalMatrix.OfArray(data); } @@ -91,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -101,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(double[] data) + protected override Vector CreateVector(double[] data) { return new DenseVector(data); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/MatrixLoader.cs b/src/UnitTests/LinearAlgebraTests/Double/MatrixLoader.cs index fbbdf3b4..43ee6568 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/MatrixLoader.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/MatrixLoader.cs @@ -29,7 +29,6 @@ // using System.Collections.Generic; -using System.Runtime.Remoting.Messaging; using MathNet.Numerics.Distributions; using MathNet.Numerics.LinearAlgebra; using MathNet.Numerics.LinearAlgebra.Double; @@ -51,7 +50,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// Gets or sets test matrices instances to use. /// - protected Dictionary TestMatrices { get; set; } + protected Dictionary> TestMatrices { get; set; } /// /// Creates a matrix for the given number of rows and columns. @@ -59,14 +58,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected abstract Matrix CreateMatrix(int rows, int columns); + protected abstract Matrix CreateMatrix(int rows, int columns); /// /// Creates a matrix from a 2D array. /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected abstract Matrix CreateMatrix(double[,] data); + protected abstract Matrix CreateMatrix(double[,] data); /// /// Creates a vector of the given size. @@ -74,14 +73,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The size of the vector to create. /// /// The new vector. - protected abstract Vector CreateVector(int size); + protected abstract Vector CreateVector(int size); /// /// Creates a vector from an array. /// /// The array to create this vector from. /// The new vector. - protected abstract Vector CreateVector(double[] data); + protected abstract Vector CreateVector(double[] data); /// /// Setup test matrices. @@ -100,7 +99,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double {"Symmetric3x3", new[,] {{1.0, 2.0, 3.0}, {2.0, 2.0, 0.0}, {3.0, 0.0, 3.0}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs index 3d2c9135..22d2a121 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -213,7 +213,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs index 8b2aeda4..4a5f70a7 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs index 00d6b8d4..39136503 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs index ba9f933c..7068afad 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply(Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/DiagonalTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/DiagonalTest.cs index 63b6bd3b..8c602716 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/DiagonalTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/DiagonalTest.cs @@ -59,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IluptElementSorterTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IluptElementSorterTest.cs index 84e4fcca..ff91ed38 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IluptElementSorterTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IluptElementSorterTest.cs @@ -177,7 +177,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithIncreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -207,7 +207,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithDecreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 9; values[1] = 8; values[2] = 7; @@ -237,7 +237,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithRandomDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 5; values[1] = 2; values[2] = 8; @@ -299,7 +299,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithDuplicateDoubleEntries() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 1; values[1] = 1; values[2] = 1; @@ -363,7 +363,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithSpecialConstructedDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 0; values[2] = 0; @@ -472,7 +472,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithLowerBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -502,7 +502,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -532,7 +532,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithLowerAndUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IlutpTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IlutpTest.cs index f7aa8209..6cd1ac81 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IlutpTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IlutpTest.cs @@ -172,7 +172,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) { @@ -197,7 +197,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -218,7 +218,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit _fillLevel = 100; var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } @@ -337,7 +337,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit FillLevel = 10 }; preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count); + var result = new DenseVector(vector.Count); preconditioner.Approximate(vector, result); CheckResult(preconditioner, newMatrix, vector, result); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IncompleteLUTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IncompleteLUTest.cs index 31b855fb..95eb4cd8 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IncompleteLUTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/IncompleteLUTest.cs @@ -65,9 +65,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit /// /// IncompleteLU instance. /// Upper triangle. - private static Matrix GetUpperTriangle(IncompleteLU ilu) + private static Matrix GetUpperTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "UpperTriangle"); + return GetMethod>(ilu, "UpperTriangle"); } /// @@ -75,9 +75,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit /// /// IncompleteLU instance. /// Lower triangle. - private static Matrix GetLowerTriangle(IncompleteLU ilu) + private static Matrix GetLowerTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "LowerTriangle"); + return GetMethod>(ilu, "LowerTriangle"); } /// @@ -102,7 +102,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/PreConditionerTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/PreConditionerTest.cs index 149250f7..972cb34d 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/PreConditionerTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Preconditioners/PreConditionerTest.cs @@ -54,7 +54,6 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit { matrix[i, i] = 2; } - return matrix; } @@ -63,14 +62,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit /// /// Size of the vector. /// New vector. - protected Vector CreateStandardBcVector(int size) + protected DenseVector CreateStandardBcVector(int size) { - Vector vector = new DenseVector(size); + var vector = new DenseVector(size); for (var i = 0; i < size; i++) { vector[i] = i + 1; } - return vector; } @@ -157,7 +155,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = new DenseVector(vector.Count + 10); + var result = new DenseVector(vector.Count + 10); Assert.Throws(() => preconditioner.Approximate(null, result)); } @@ -174,7 +172,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Precondit var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = null; + Vector result = null; Assert.Throws(() => preconditioner.Approximate(vector, result)); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs index d90dc919..4fb586a9 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs @@ -28,13 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Double; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double { - using LinearAlgebra.Double; - using NUnit.Framework; - using System; - using System.Collections.Generic; - /// /// Sparse matrix tests. /// @@ -46,7 +47,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new SparseMatrix(rows, columns); } @@ -56,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(double[,] data) + protected override Matrix CreateMatrix(double[,] data) { return SparseMatrix.OfArray(data); } @@ -67,7 +68,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -77,7 +78,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(double[] data) + protected override Vector CreateVector(double[] data) { return SparseVector.OfEnumerable(data); } @@ -88,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", SparseMatrix.OfColumnMajor(3, 3, new double[] {1, 1, 1, 1, 1, 1, 2, 2, 2})}, {"Square3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5, -3.3, 2.2, 6.6})}, @@ -184,7 +185,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double { var matrix = new SparseMatrix(500, 1000); var nonzero = 0; - var rnd = new Random(); + var rnd = new System.Random(); for (var i = 0; i < matrix.RowCount; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Double/UserDefinedMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/UserDefinedMatrixTests.cs index 59254ac6..49ab237f 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/UserDefinedMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/UserDefinedMatrixTests.cs @@ -24,10 +24,10 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using MathNet.Numerics.LinearAlgebra; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double { - using LinearAlgebra.Double; - /// /// Test class for user-defined matrix. /// @@ -39,7 +39,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new UserDefinedMatrix(rows, columns); } @@ -49,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(double[,] data) + protected override Matrix CreateMatrix(double[,] data) { return new UserDefinedMatrix(data); } @@ -60,7 +60,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new UserDefinedVector(size); } @@ -70,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(double[] data) + protected override Vector CreateVector(double[] data) { return new UserDefinedVector(data); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs index b3e273e3..a5787cb8 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/DenseMatrixTests.cs @@ -28,13 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Single; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single { - using LinearAlgebra.Single; - using NUnit.Framework; - using System; - using System.Collections.Generic; - /// /// Dense matrix tests. /// @@ -46,7 +47,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DenseMatrix(rows, columns); } @@ -56,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(float[,] data) + protected override Matrix CreateMatrix(float[,] data) { return DenseMatrix.OfArray(data); } @@ -67,7 +68,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -77,7 +78,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(float[] data) + protected override Vector CreateVector(float[] data) { return new DenseVector(data); } @@ -88,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DenseMatrix(3, 3, new[] {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 2.0f, 2.0f, 2.0f})}, {"Square3x3", new DenseMatrix(3, 3, new[] {-1.1f, 0.0f, -4.4f, -2.2f, 1.1f, 5.5f, -3.3f, 2.2f, 6.6f})}, diff --git a/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs index 4506fa6c..6bc05eea 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/DiagonalMatrixTests.cs @@ -28,13 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Single; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single { - using LinearAlgebra.Single; - using NUnit.Framework; - using System; - using System.Collections.Generic; - /// /// Diagonal matrix tests. /// @@ -56,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single {"Wide2x3", new[,] {{-1.1f, 0.0f, 0.0f}, {0.0f, 1.1f, 0.0f}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); @@ -69,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new DiagonalMatrix(rows, columns); } @@ -79,7 +80,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(float[,] data) + protected override Matrix CreateMatrix(float[,] data) { return DiagonalMatrix.OfArray(data); } @@ -90,7 +91,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new DenseVector(size); } @@ -100,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(float[] data) + protected override Vector CreateVector(float[] data) { return new DenseVector(data); } @@ -111,7 +112,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateMatrixFromDiagonalArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", new DiagonalMatrix(3, 3, new[] {1.0f, 0.0f, 3.0f})}, {"Square3x3", new DiagonalMatrix(3, 3, new[] {-1.1f, 1.1f, 6.6f})}, diff --git a/src/UnitTests/LinearAlgebraTests/Single/MatrixLoader.cs b/src/UnitTests/LinearAlgebraTests/Single/MatrixLoader.cs index 78c0e6d6..6bc72ae9 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/MatrixLoader.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/MatrixLoader.cs @@ -50,7 +50,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// Gets or sets test matrices instances to use. /// - protected Dictionary TestMatrices { get; set; } + protected Dictionary> TestMatrices { get; set; } /// /// Creates a matrix for the given number of rows and columns. @@ -58,14 +58,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected abstract Matrix CreateMatrix(int rows, int columns); + protected abstract Matrix CreateMatrix(int rows, int columns); /// /// Creates a matrix from a 2D array. /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected abstract Matrix CreateMatrix(float[,] data); + protected abstract Matrix CreateMatrix(float[,] data); /// /// Creates a vector of the given size. @@ -73,14 +73,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The size of the vector to create. /// /// The new vector. - protected abstract Vector CreateVector(int size); + protected abstract Vector CreateVector(int size); /// /// Creates a vector from an array. /// /// The array to create this vector from. /// The new vector. - protected abstract Vector CreateVector(float[] data); + protected abstract Vector CreateVector(float[] data); /// /// Setup test matrices. @@ -99,7 +99,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single {"Symmetric3x3", new[,] {{1.0f, 2.0f, 3.0f}, {2.0f, 2.0f, 0.0f}, {3.0f, 0.0f, 3.0f}}} }; - TestMatrices = new Dictionary(); + TestMatrices = new Dictionary>(); foreach (var name in TestData2D.Keys) { TestMatrices.Add(name, CreateMatrix(TestData2D[name])); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs index 9f22d060..a3a62570 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new BiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -213,7 +213,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs index e04be57f..c4c190f9 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new GpBiCg(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -129,13 +129,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs index 10f29326..350368a5 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs @@ -62,7 +62,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -75,7 +75,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new MlkBiCgStab(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -88,10 +88,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -131,13 +131,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -215,7 +215,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Due to datatype "float" it can happen that solution will not converge for specific random starting vectors // That's why we will do 3 tries diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs index da4185ca..90629e88 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs @@ -61,7 +61,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveWideMatrixThrowsArgumentException() { var matrix = new SparseMatrix(2, 3); - Vector input = new DenseVector(2); + var input = new DenseVector(2); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -74,7 +74,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveLongMatrixThrowsArgumentException() { var matrix = new SparseMatrix(3, 2); - Vector input = new DenseVector(3); + var input = new DenseVector(3); var solver = new TFQMR(); Assert.Throws(() => solver.Solve(matrix, input)); @@ -87,10 +87,10 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -130,13 +130,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative public void SolveScaledUnitMatrixAndBackMultiply() { // Create the identity matrix - Matrix matrix = SparseMatrix.Identity(100); + var matrix = SparseMatrix.Identity(100); // Scale it with a funny number matrix.Multiply((float) Math.PI, matrix); // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] @@ -214,7 +214,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative } // Create the y vector - Vector y = DenseVector.Create(matrix.RowCount, i => 1); + var y = DenseVector.Create(matrix.RowCount, i => 1); // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/DiagonalTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/DiagonalTest.cs index ece742a0..6781f04e 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/DiagonalTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/DiagonalTest.cs @@ -59,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit // Compute M * result = product // compare vector and product. Should be equal - Vector product = new DenseVector(result.Count); + var product = new DenseVector(result.Count); matrix.Multiply(result, product); for (var i = 0; i < product.Count; i++) diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IluptElementSorterTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IluptElementSorterTest.cs index d2b91a93..c2088457 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IluptElementSorterTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IluptElementSorterTest.cs @@ -177,7 +177,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithIncreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -207,7 +207,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithDecreasingDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 9; values[1] = 8; values[2] = 7; @@ -237,7 +237,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithRandomDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 5; values[1] = 2; values[2] = 8; @@ -299,7 +299,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithDuplicateDoubleEntries() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 1; values[1] = 1; values[2] = 1; @@ -363,7 +363,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithSpecialConstructedDoubleArray() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 0; values[2] = 0; @@ -472,7 +472,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithLowerBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -502,7 +502,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; @@ -532,7 +532,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit public void HeapSortWithIncreasingDoubleArrayWithLowerAndUpperBound() { var sortedIndices = new int[10]; - Vector values = new DenseVector(10); + var values = new DenseVector(10); values[0] = 0; values[1] = 1; values[2] = 2; diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IncompleteLUTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IncompleteLUTest.cs index 3f159024..5bc2bab3 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IncompleteLUTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/IncompleteLUTest.cs @@ -65,9 +65,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit /// /// IncompleteLU instance. /// Upper triangle. - private static Matrix GetUpperTriangle(IncompleteLU ilu) + private static Matrix GetUpperTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "UpperTriangle"); + return GetMethod>(ilu, "UpperTriangle"); } /// @@ -75,9 +75,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit /// /// IncompleteLU instance. /// Lower triangle. - private static Matrix GetLowerTriangle(IncompleteLU ilu) + private static Matrix GetLowerTriangle(IncompleteLU ilu) { - return GetMethod(ilu, "LowerTriangle"); + return GetMethod>(ilu, "LowerTriangle"); } /// diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/PreConditionerTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/PreConditionerTest.cs index 8be45a2a..4a2d89c0 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/PreConditionerTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Preconditioners/PreConditionerTest.cs @@ -63,7 +63,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit /// /// Size of the vector. /// New vector. - protected Vector CreateStandardBcVector(int size) + protected DenseVector CreateStandardBcVector(int size) { var vector = new DenseVector(size); for (var i = 0; i < size; i++) @@ -174,7 +174,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Precondit var preconditioner = CreatePreconditioner(); preconditioner.Initialize(newMatrix); - Vector result = null; + Vector result = null; Assert.Throws(() => preconditioner.Approximate(vector, result)); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs index 58723469..596a02a2 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/SparseMatrixTests.cs @@ -28,13 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra.Single; +using NUnit.Framework; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single { - using LinearAlgebra.Single; - using NUnit.Framework; - using System; - using System.Collections.Generic; - /// /// Sparse matrix tests. /// @@ -46,7 +47,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new SparseMatrix(rows, columns); } @@ -56,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(float[,] data) + protected override Matrix CreateMatrix(float[,] data) { return SparseMatrix.OfArray(data); } @@ -67,7 +68,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new SparseVector(size); } @@ -77,7 +78,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(float[] data) + protected override Vector CreateVector(float[] data) { return SparseVector.OfEnumerable(data); } @@ -88,7 +89,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single [Test] public void CanCreateMatrixFrom1DArray() { - var testData = new Dictionary + var testData = new Dictionary> { {"Singular3x3", SparseMatrix.OfColumnMajor(3, 3, new float[] {1, 1, 1, 1, 1, 1, 2, 2, 2})}, {"Square3x3", SparseMatrix.OfColumnMajor(3, 3, new[] {-1.1f, 0.0f, -4.4f, -2.2f, 1.1f, 5.5f, -3.3f, 2.2f, 6.6f})}, @@ -184,7 +185,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single { var matrix = new SparseMatrix(500, 1000); var nonzero = 0; - var rnd = new Random(); + var rnd = new System.Random(); for (var i = 0; i < matrix.RowCount; i++) { diff --git a/src/UnitTests/LinearAlgebraTests/Single/UserDefinedMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Single/UserDefinedMatrixTests.cs index f3f9249a..afccf8cd 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/UserDefinedMatrixTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/UserDefinedMatrixTests.cs @@ -24,10 +24,10 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using MathNet.Numerics.LinearAlgebra; + namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single { - using LinearAlgebra.Single; - /// /// Test class for user-defined matrix. /// @@ -39,7 +39,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The number of rows. /// The number of columns. /// A matrix with the given dimensions. - protected override Matrix CreateMatrix(int rows, int columns) + protected override Matrix CreateMatrix(int rows, int columns) { return new UserDefinedMatrix(rows, columns); } @@ -49,7 +49,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The 2D array to create this matrix from. /// A matrix with the given values. - protected override Matrix CreateMatrix(float[,] data) + protected override Matrix CreateMatrix(float[,] data) { return new UserDefinedMatrix(data); } @@ -60,7 +60,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// The size of the vector to create. /// /// The new vector. - protected override Vector CreateVector(int size) + protected override Vector CreateVector(int size) { return new UserDefinedVector(size); } @@ -70,7 +70,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single /// /// The array to create this vector from. /// The new vector. - protected override Vector CreateVector(float[] data) + protected override Vector CreateVector(float[] data) { return new UserDefinedVector(data); }