diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs
index 05e8f6f0..d6791452 100644
--- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs
@@ -58,7 +58,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// If is null.
/// If row count is less then column count
/// If is rank deficient
- public static DenseGramSchmidt Create(DenseMatrix matrix)
+ public static DenseGramSchmidt Create(Matrix matrix)
{
if (matrix.RowCount < matrix.ColumnCount)
{
diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs
index 3e19518c..7e38db04 100644
--- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs
+++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs
@@ -53,7 +53,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// If is null.
/// If row count is less then column count
/// If is rank deficient
- public static DenseGramSchmidt Create(DenseMatrix matrix)
+ public static DenseGramSchmidt Create(Matrix matrix)
{
if (matrix.RowCount < matrix.ColumnCount)
{
diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs
index 4406c032..d180ddb7 100644
--- a/src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs
+++ b/src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs
@@ -44,14 +44,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
internal sealed class DenseGramSchmidt : GramSchmidt
{
///
- /// Initializes a new instance of the class. This object creates an orthogonal matrix
+ /// Initializes a new instance of the class. This object creates an orthogonal matrix
/// using the modified Gram-Schmidt method.
///
/// The matrix to factor.
/// If is null.
/// If row count is less then column count
/// If is rank deficient
- public static DenseGramSchmidt Create(DenseMatrix matrix)
+ public static DenseGramSchmidt Create(Matrix matrix)
{
if (matrix.RowCount < matrix.ColumnCount)
{
@@ -109,7 +109,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
{
dot += q[(k1 * rowsQ) + index] * q[(j1 * rowsQ) + index];
}
-
+
r[(j * columnsQ) + k] = dot;
for (var i = 0; i < rowsQ; i++)
{
diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs
index 9a405621..e445972b 100644
--- a/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs
+++ b/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs
@@ -51,7 +51,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// If is null.
/// If row count is less then column count
/// If is rank deficient
- public static DenseGramSchmidt Create(DenseMatrix matrix)
+ public static DenseGramSchmidt Create(Matrix matrix)
{
if (matrix.RowCount < matrix.ColumnCount)
{
diff --git a/src/UnitTests/DistributionTests/Multivariate/InverseWishartTests.cs b/src/UnitTests/DistributionTests/Multivariate/InverseWishartTests.cs
index 7b06843c..df91f4d8 100644
--- a/src/UnitTests/DistributionTests/Multivariate/InverseWishartTests.cs
+++ b/src/UnitTests/DistributionTests/Multivariate/InverseWishartTests.cs
@@ -249,12 +249,8 @@ namespace MathNet.Numerics.UnitTests.DistributionTests.Multivariate
[TestCase(5.0, 0.00043049126899076171)]
public void ValidateDensity(double nu, double density)
{
- const int Order = 1;
- var matrix = new DenseMatrix(Order);
- matrix[0, 0] = 1;
-
- var x = new DenseMatrix(Order);
- x[0, 0] = 5;
+ var matrix = Matrix.Build.Dense(1, 1, 1.0);
+ var x = Matrix.Build.Dense(1, 1, 5.0);
var d = new InverseWishart(nu, matrix);
AssertHelpers.AlmostEqualRelative(density, d.Density(x), 16);
diff --git a/src/UnitTests/DistributionTests/Multivariate/MatrixNormalTests.cs b/src/UnitTests/DistributionTests/Multivariate/MatrixNormalTests.cs
index 964cddca..747ac91b 100644
--- a/src/UnitTests/DistributionTests/Multivariate/MatrixNormalTests.cs
+++ b/src/UnitTests/DistributionTests/Multivariate/MatrixNormalTests.cs
@@ -223,26 +223,27 @@ namespace MathNet.Numerics.UnitTests.DistributionTests.Multivariate
{
const int Rows = 2;
const int Cols = 2;
- var m = new DenseMatrix(Rows, Cols);
+ var m = Matrix.Build.Dense(Rows, Cols);
m[0, 0] = 0.156065579983862;
m[0, 1] = -0.568039841576594;
m[1, 0] = -0.806288628097313;
m[1, 1] = -1.20004405005077;
- var v = new DenseMatrix(Rows, Rows);
+ var v = Matrix.Build.Dense(Rows, Rows);
v[0, 0] = 0.674457817054746;
v[0, 1] = 0.878930403442185;
v[1, 0] = 0.878930403442185;
v[1, 1] = 1.76277498368061;
- var k = new DenseMatrix(Cols, Cols);
+ var k = Matrix.Build.Dense(Cols, Cols);
k[0, 0] = 0.674457817054746;
k[0, 1] = 0.878930403442185;
k[1, 0] = 0.878930403442185;
k[1, 1] = 1.76277498368061;
+
var d = new MatrixNormal(m, v, k);
- var x = new DenseMatrix(Rows, Cols);
+ var x = Matrix.Build.Dense(Rows, Cols);
x[0, 0] = 2;
x[0, 1] = 2;
diff --git a/src/UnitTests/DistributionTests/Multivariate/WishartTests.cs b/src/UnitTests/DistributionTests/Multivariate/WishartTests.cs
index 30e1aac1..4f4346e1 100644
--- a/src/UnitTests/DistributionTests/Multivariate/WishartTests.cs
+++ b/src/UnitTests/DistributionTests/Multivariate/WishartTests.cs
@@ -241,12 +241,8 @@ namespace MathNet.Numerics.UnitTests.DistributionTests.Multivariate
[TestCase(5.0, 0.12204152134938706)]
public void ValidateDensity(double nu, double density)
{
- const int Order = 1;
- var matrix = new DenseMatrix(Order);
- matrix[0, 0] = 1;
-
- var x = new DenseMatrix(Order);
- x[0, 0] = 5;
+ var matrix = Matrix.Build.Dense(1, 1, 1.0);
+ var x = Matrix.Build.Dense(1, 1, 5.0);
var d = new Wishart(nu, matrix);
AssertHelpers.AlmostEqualRelative(density, d.Density(x), 16);
diff --git a/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs b/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs
index c6a9039a..2e50b594 100644
--- a/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs
+++ b/src/UnitTests/LinearAlgebraProviderTests/Double/LinearAlgebraProviderTests.cs
@@ -560,7 +560,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
[Test]
public void CanSolveUsingCholesky()
{
- var matrix = new DenseMatrix(3, 3, new double[] {1, 1, 1, 1, 2, 3, 1, 3, 6});
+ var matrix = Matrix.Build.Dense(3, 3, new double[] { 1, 1, 1, 1, 2, 3, 1, 3, 6 });
var a = new double[] {1, 1, 1, 1, 2, 3, 1, 3, 6};
var b = new[] {1.0, 2.0, 3.0, 4.0, 5.0, 6.0};
@@ -611,8 +611,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var q = new double[matrix.RowCount*matrix.RowCount];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau);
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -638,8 +638,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var q = new double[matrix.RowCount*matrix.RowCount];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -665,8 +665,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var q = new double[matrix.RowCount*matrix.RowCount];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -693,8 +693,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var work = new double[matrix.ColumnCount*Control.BlockSize];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau, work);
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -721,8 +721,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var work = new double[matrix.ColumnCount*Control.BlockSize];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau, work);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -749,8 +749,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var work = new double[matrix.ColumnCount*Control.BlockSize];
Control.LinearAlgebraProvider.QRFactor(r, matrix.RowCount, matrix.ColumnCount, q, tau, work);
- var mr = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
- var mq = new DenseMatrix(matrix.RowCount, matrix.RowCount, q);
+ var mr = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, r).UpperTriangle();
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, q);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -776,8 +776,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
Control.LinearAlgebraProvider.ThinQRFactor(q, matrix.RowCount, matrix.ColumnCount, r, tau);
- var mq = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, q);
- var mr = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, r);
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, q);
+ var mr = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, r);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -803,8 +803,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
Control.LinearAlgebraProvider.ThinQRFactor(q, matrix.RowCount, matrix.ColumnCount, r, tau);
- var mq = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, q);
- var mr = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, r);
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, q);
+ var mr = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, r);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -831,8 +831,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var work = new double[matrix.ColumnCount*Control.BlockSize];
Control.LinearAlgebraProvider.ThinQRFactor(q, matrix.RowCount, matrix.ColumnCount, r, tau, work);
- var mq = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, q);
- var mr = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, r);
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, q);
+ var mr = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, r);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
@@ -859,8 +859,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var work = new double[matrix.ColumnCount*Control.BlockSize];
Control.LinearAlgebraProvider.ThinQRFactor(q, matrix.RowCount, matrix.ColumnCount, r, tau, work);
- var mq = new DenseMatrix(matrix.RowCount, matrix.ColumnCount, q);
- var mr = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, r);
+ var mq = Matrix.Build.Dense(matrix.RowCount, matrix.ColumnCount, q);
+ var mr = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, r);
var a = mq*mr;
for (var row = 0; row < matrix.RowCount; row++)
{
@@ -887,7 +887,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 3, a, matrix);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -914,7 +914,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 2, a, matrix);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -941,7 +941,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 3, a, matrix);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -970,7 +970,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 2, a, matrix);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -998,7 +998,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(q, a, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1028,7 +1028,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(q, a, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1057,7 +1057,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(q, a, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, work);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1088,7 +1088,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(q, a, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, work);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1113,7 +1113,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 3, a, matrix);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1140,7 +1140,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 2, a, matrix);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1167,7 +1167,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 3, a, matrix);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1196,7 +1196,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 2, a, matrix);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1224,7 +1224,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(a, r, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, QRMethod.Thin);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1254,7 +1254,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(a, r, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, QRMethod.Thin);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1283,7 +1283,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(a, r, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, work, QRMethod.Thin);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqualRelative(mb[0, 0], b[0], 13);
@@ -1314,7 +1314,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.QRSolveFactored(a, r, matrix.RowCount, matrix.ColumnCount, tau, b, 2, x, work, QRMethod.Thin);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqualRelative(test[0, 0], x[0], 13);
@@ -1345,8 +1345,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1382,8 +1382,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1416,8 +1416,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1452,8 +1452,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1491,8 +1491,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1527,8 +1527,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
w[index, index] = s[index];
}
- var mU = new DenseMatrix(matrix.RowCount, matrix.RowCount, u);
- var mV = new DenseMatrix(matrix.ColumnCount, matrix.ColumnCount, vt);
+ var mU = Matrix.Build.Dense(matrix.RowCount, matrix.RowCount, u);
+ var mV = Matrix.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
@@ -1555,7 +1555,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 3, a, matrix);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqual(mb[0, 0], b[0], 13);
@@ -1582,7 +1582,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
NotModified(3, 2, a, matrix);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqual(test[0, 0], x[0], 14);
@@ -1612,7 +1612,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.SvdSolveFactored(matrix.RowCount, matrix.ColumnCount, s, u, vt, b, 2, x);
- var mx = new DenseMatrix(matrix.ColumnCount, 2, x);
+ var mx = Matrix.Build.Dense(matrix.ColumnCount, 2, x);
var mb = matrix*mx;
AssertHelpers.AlmostEqual(mb[0, 0], b[0], 13);
@@ -1644,7 +1644,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraProviderTests.Double
var x = new double[matrix.ColumnCount*2];
Control.LinearAlgebraProvider.SvdSolveFactored(matrix.RowCount, matrix.ColumnCount, s, u, vt, b, 2, x);
- var mb = new DenseMatrix(matrix.RowCount, 2, b);
+ var mb = Matrix.Build.Dense(matrix.RowCount, 2, b);
var test = (matrix.Transpose()*matrix).Inverse()*matrix.Transpose()*mb;
AssertHelpers.AlmostEqual(test[0, 0], x[0], 14);
diff --git a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs
index f3716de0..9193e926 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/DenseMatrixTests.cs
@@ -70,11 +70,11 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
{
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})},
- {"Square4x4", new DenseMatrix(4, 4, new[] {-1.1, 0.0, 1.0, -4.4, -2.2, 1.1, 2.1, 5.5, -3.3, 2.2, 6.2, 6.6, -4.4, 3.3, 4.3, -7.7})},
- {"Tall3x2", new DenseMatrix(3, 2, new[] {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5})},
- {"Wide2x3", new DenseMatrix(2, 3, new[] {-1.1, 0.0, -2.2, 1.1, -3.3, 2.2})}
+ {"Singular3x3", Matrix.Build.Dense(3, 3, new[] {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0})},
+ {"Square3x3", Matrix.Build.Dense(3, 3, new[] {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5, -3.3, 2.2, 6.6})},
+ {"Square4x4", Matrix.Build.Dense(4, 4, new[] {-1.1, 0.0, 1.0, -4.4, -2.2, 1.1, 2.1, 5.5, -3.3, 2.2, 6.2, 6.6, -4.4, 3.3, 4.3, -7.7})},
+ {"Tall3x2", Matrix.Build.Dense(3, 2, new[] {-1.1, 0.0, -4.4, -2.2, 1.1, 5.5})},
+ {"Wide2x3", Matrix.Build.Dense(2, 3, new[] {-1.1, 0.0, -2.2, 1.1, -3.3, 2.2})}
};
foreach (var name in testData.Keys)
@@ -90,7 +90,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void MatrixFrom1DArrayIsReference()
{
var data = new double[] {1, 1, 1, 1, 1, 1, 2, 2, 2};
- var matrix = new DenseMatrix(3, 3, data);
+ var matrix = Matrix.Build.Dense(3, 3, data);
matrix[0, 0] = 10.0;
Assert.AreEqual(10.0, data[0]);
}
diff --git a/src/UnitTests/LinearAlgebraTests/Double/DenseVectorTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DenseVectorTests.cs
index 8fa8aa87..cebc517e 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/DenseVectorTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/DenseVectorTests.cs
@@ -152,7 +152,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanCreateDenseMatrix()
{
- var vector = new DenseVector(3);
+ var vector = Vector.Build.Dense(3);
var matrix = Matrix.Build.SameAs(vector, 2, 3);
Assert.IsInstanceOf(matrix);
Assert.AreEqual(2, matrix.RowCount);
@@ -189,7 +189,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanCallUnaryPlusOperatorOnDenseVector()
{
- var vector = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
var other = +vector;
for (var i = 0; i < Data.Length; i++)
{
@@ -203,8 +203,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanAddTwoDenseVectorsUsingOperator()
{
- var vector = new DenseVector(Data);
- var other = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
+ var other = Vector.Build.Dense(Data);
var result = vector + other;
CollectionAssert.AreEqual(Data, vector, "Making sure the original vector wasn't modified.");
CollectionAssert.AreEqual(Data, other, "Making sure the original vector wasn't modified.");
@@ -221,7 +221,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanCallUnaryNegationOperatorOnDenseVector()
{
- var vector = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
var other = -vector;
for (var i = 0; i < Data.Length; i++)
{
@@ -235,8 +235,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanSubtractTwoDenseVectorsUsingOperator()
{
- var vector = new DenseVector(Data);
- var other = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
+ var other = Vector.Build.Dense(Data);
var result = vector - other;
CollectionAssert.AreEqual(Data, vector, "Making sure the original vector wasn't modified.");
CollectionAssert.AreEqual(Data, other, "Making sure the original vector wasn't modified.");
@@ -253,7 +253,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanMultiplyDenseVectorByScalarUsingOperators()
{
- var vector = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
vector = vector * 2.0;
for (var i = 0; i < Data.Length; i++)
@@ -267,7 +267,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
Assert.AreEqual(Data[i] * 2.0, vector[i]);
}
- vector = new DenseVector(Data);
+ vector = Vector.Build.Dense(Data);
vector = 2.0 * vector;
for (var i = 0; i < Data.Length; i++)
@@ -288,7 +288,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
[Test]
public void CanDivideDenseVectorByScalarUsingOperators()
{
- var vector = new DenseVector(Data);
+ var vector = Vector.Build.Dense(Data);
vector = vector / 2.0;
for (var i = 0; i < Data.Length; i++)
diff --git a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs
index 50cae94e..3e8fe8fc 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/DiagonalMatrixTests.cs
@@ -375,13 +375,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
// [ 0 0 ]
// [ 2 0 ]
var subM2 = diagMatrix.SubMatrix(0, 2, 1, 2);
- Assert.IsTrue(subM2.Equals(new DenseMatrix(2, 2, new[] {0d, 2d, 0d, 0d})));
+ Assert.IsTrue(subM2.Equals(Matrix.Build.Dense(2, 2, new[] { 0d, 2d, 0d, 0d })));
// [ 0 0 ]
// [ 2 0 ]
// [ 0 3 ]
var subM3 = diagMatrix.SubMatrix(0, 3, 1, 2);
- Assert.IsTrue(subM3.Equals(new DenseMatrix(3, 2, new[] {0d, 2d, 0d, 0d, 0d, 3d})));
+ Assert.IsTrue(subM3.Equals(Matrix.Build.Dense(3, 2, new[] { 0d, 2d, 0d, 0d, 0d, 3d })));
}
[Test]
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs
index 26f0136b..d548a7f4 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/CholeskyTests.cs
@@ -77,7 +77,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[Test]
public void CholeskyFailsWithNonSquareMatrix()
{
- var matrix = new DenseMatrix(3, 2);
+ var matrix = Matrix.Build.Dense(3, 2);
Assert.That(() => matrix.Cholesky(), Throws.ArgumentException);
}
@@ -281,7 +281,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var chol = matrixA.Cholesky();
var matrixB = Matrix.Build.Random(row, col, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(row, col);
+ var matrixX = Matrix.Build.Dense(row, col);
chol.Solve(matrixB, matrixX);
Assert.AreEqual(matrixB.RowCount, matrixX.RowCount);
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs
index 2d1ecc08..7f04134f 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/EvdTests.cs
@@ -116,7 +116,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[Test]
public void CanCheckRankOfSquareSingular([Values(10, 50, 100)] int order)
{
- var A = new DenseMatrix(order, order);
+ var A = Matrix.Build.Dense(order, order);
A[0, 0] = 1;
A[order - 1, order - 1] = 1;
for (var i = 1; i < order - 1; i++)
@@ -245,7 +245,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var B = Matrix.Build.Random(order, order, 2);
var BCopy = B.Clone();
- var X = new DenseMatrix(order, order);
+ var X = Matrix.Build.Dense(order, order);
evd.Solve(B, X);
// The solution X row dimension is equal to the column dimension of A
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs
index f6d802b4..61567820 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/GramSchmidtTests.cs
@@ -43,7 +43,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[Test]
public void ConstructorWideMatrixThrowsInvalidMatrixOperationException()
{
- Assert.That(() => DenseGramSchmidt.Create(new DenseMatrix(3, 4)), Throws.ArgumentException);
+ Assert.That(() => DenseGramSchmidt.Create(Matrix.Build.Dense(3, 4)), Throws.ArgumentException);
}
///
@@ -293,7 +293,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var matrixB = Matrix.Build.Random(order, order, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(order, order);
+ var matrixX = Matrix.Build.Dense(order, order);
factorGramSchmidt.Solve(matrixB, matrixX);
// The solution X row dimension is equal to the column dimension of A
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs
index 7bf940eb..78eb6afc 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/LUTests.cs
@@ -79,7 +79,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[Test]
public void LUFailsWithNonSquareMatrix()
{
- var matrix = new DenseMatrix(3, 2);
+ var matrix = Matrix.Build.Dense(3, 2);
Assert.That(() => matrix.LU(), Throws.ArgumentException);
}
@@ -302,7 +302,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var matrixB = Matrix.Build.Random(order, order, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(order, order);
+ var matrixX = Matrix.Build.Dense(order, order);
factorLU.Solve(matrixB, matrixX);
// The solution X row dimension is equal to the column dimension of A
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs
index 34d2b809..5c62d729 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/QRTests.cs
@@ -45,7 +45,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[Test]
public void ConstructorWideMatrixThrowsInvalidMatrixOperationException()
{
- Assert.That(() => UserQR.Create(new DenseMatrix(3, 4)), Throws.ArgumentException);
+ Assert.That(() => UserQR.Create(Matrix.Build.Dense(3, 4)), Throws.ArgumentException);
}
///
@@ -394,7 +394,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var matrixB = Matrix.Build.Random(order, order, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(order, order);
+ var matrixX = Matrix.Build.Dense(order, order);
factorQR.Solve(matrixB, matrixX);
// The solution X row dimension is equal to the column dimension of A
@@ -583,7 +583,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var matrixB = Matrix.Build.Random(order, order, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(order, order);
+ var matrixX = Matrix.Build.Dense(order, order);
factorQR.Solve(matrixB, matrixX);
// The solution X row dimension is equal to the column dimension of A
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs b/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs
index 30811477..b18a3b36 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Factorization/SvdTests.cs
@@ -163,7 +163,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
[TestCase(100)]
public void CanCheckRankOfSquareSingular(int order)
{
- var matrixA = new DenseMatrix(order, order);
+ var matrixA = Matrix.Build.Dense(order, order);
matrixA[0, 0] = 1;
matrixA[order - 1, order - 1] = 1;
for (var i = 1; i < order - 1; i++)
@@ -358,7 +358,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
var matrixB = Matrix.Build.Random(row, column, 1);
var matrixBCopy = matrixB.Clone();
- var matrixX = new DenseMatrix(column, column);
+ var matrixX = Matrix.Build.Dense(column, column);
factorSvd.Solve(matrixB, matrixX);
// The solution X row dimension is equal to the column dimension of A
diff --git a/src/UnitTests/LinearAlgebraTests/Double/MatrixTests.Arithmetic.cs b/src/UnitTests/LinearAlgebraTests/Double/MatrixTests.Arithmetic.cs
index 5cef153a..e270f0e2 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/MatrixTests.Arithmetic.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/MatrixTests.Arithmetic.cs
@@ -66,7 +66,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanMultiplyWithVector()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
var y = matrix*x;
Assert.AreEqual(matrix.RowCount, y.Count);
@@ -86,8 +86,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanMultiplyWithVectorIntoResult()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
- var y = new DenseVector(3);
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
+ var y = Vector.Build.Dense(3);
matrix.Multiply(x, y);
for (var i = 0; i < matrix.RowCount; i++)
@@ -105,13 +105,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanMultiplyWithVectorIntoResultWhenUpdatingInputArgument()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
var y = x;
matrix.Multiply(x, x);
Assert.AreSame(y, x);
- y = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ y = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
for (var i = 0; i < matrix.RowCount; i++)
{
var ar = matrix.Row(i);
@@ -127,8 +127,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void MultiplyWithVectorIntoLargerResultThrowsArgumentException()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
- Vector y = new DenseVector(4);
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
+ Vector y = Vector.Build.Dense(4);
Assert.That(() => matrix.Multiply(x, y), Throws.ArgumentException);
}
@@ -569,7 +569,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanTransposeThisAndMultiplyWithVector()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
var y = matrix.TransposeThisAndMultiply(x);
Assert.AreEqual(matrix.ColumnCount, y.Count);
@@ -589,8 +589,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanTransposeThisAndMultiplyWithVectorIntoResult()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
- var y = new DenseVector(3);
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
+ var y = Vector.Build.Dense(3);
matrix.TransposeThisAndMultiply(x, y);
for (var j = 0; j < matrix.ColumnCount; j++)
@@ -608,13 +608,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void CanTransposeThisAndMultiplyWithVectorIntoResultWhenUpdatingInputArgument()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
var y = x;
matrix.TransposeThisAndMultiply(x, x);
Assert.AreSame(y, x);
- y = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ y = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
for (var j = 0; j < matrix.ColumnCount; j++)
{
var ar = matrix.Column(j);
@@ -630,8 +630,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
public void TransposeThisAndMultiplyWithVectorIntoLargerResultThrowsArgumentException()
{
var matrix = TestMatrices["Singular3x3"];
- var x = new DenseVector(new[] { 1.0, 2.0, 3.0 });
- Vector y = new DenseVector(4);
+ var x = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
+ Vector y = Vector.Build.Dense(4);
Assert.That(() => matrix.TransposeThisAndMultiply(x, y), Throws.ArgumentException);
}
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/DivergenceStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/DivergenceStopCriteriumTest.cs
index e03ee2da..e32ccda7 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/DivergenceStopCriteriumTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/DivergenceStopCriteriumTest.cs
@@ -103,9 +103,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
{
var status = criterion.DetermineStatus(
i,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { (i + 1)*(Increase + 0.1) }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { (i + 1)*(Increase + 0.1) }));
Assert.AreEqual(IterationStatus.Continue, status, "Status check fail.");
}
@@ -127,9 +127,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
{
var status = criterion.DetermineStatus(
i,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { (i + 1)*(Increase - 0.01) }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { (i + 1)*(Increase - 0.01) }));
Assert.AreEqual(IterationStatus.Continue, status, "Status check fail.");
}
@@ -151,9 +151,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
{
var status = criterion.DetermineStatus(
i,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { (i + 1)*(Increase - 0.01) }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { (i + 1)*(Increase - 0.01) }));
Assert.AreEqual(IterationStatus.Continue, status, "Status check fail.");
}
@@ -161,9 +161,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
// Now make it fail by throwing in a NaN
var status2 = criterion.DetermineStatus(
Iterations,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { double.NaN }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { double.NaN }));
Assert.AreEqual(IterationStatus.Diverged, status2, "Status check fail.");
}
@@ -186,9 +186,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
previous *= 1 + Increase + 0.01;
var status = criterion.DetermineStatus(
i,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { previous }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { previous }));
Assert.AreEqual(IterationStatus.Continue, status, "Status check fail.");
}
@@ -197,9 +197,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
previous *= 1 + Increase + 0.01;
var status2 = criterion.DetermineStatus(
Iterations - 1,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { previous }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { previous }));
Assert.AreEqual(IterationStatus.Diverged, status2, "Status check fail.");
}
@@ -218,9 +218,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
// Add residuals. Blow it up instantly
var status = criterion.DetermineStatus(
1,
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { 1.0 }),
- new DenseVector(new[] { double.NaN }));
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { 1.0 }),
+ Vector.Build.Dense(new[] { double.NaN }));
Assert.AreEqual(IterationStatus.Diverged, status, "Status check fail.");
diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/FailureStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/FailureStopCriteriumTest.cs
index 51753933..518e34c1 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/FailureStopCriteriumTest.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterion/FailureStopCriteriumTest.cs
@@ -85,9 +85,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
var criterion = new FailureStopCriterion();
Assert.IsNotNull(criterion, "There should be a criterion");
- var solution = new DenseVector(new[] { 1.0, 1.0, 2.0 });
- var source = new DenseVector(new[] { 1001.0, 0, 2003.0 });
- var residual = new DenseVector(new[] { 1000, double.NaN, 2001 });
+ var solution = Vector.Build.Dense(new[] { 1.0, 1.0, 2.0 });
+ var source = Vector.Build.Dense(new[] { 1001.0, 0, 2003.0 });
+ var residual = Vector.Build.Dense(new[] { 1000, double.NaN, 2001 });
var status = criterion.DetermineStatus(5, solution, source, residual);
Assert.AreEqual(IterationStatus.Failure, status, "Should be failed");
@@ -102,9 +102,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
var criterion = new FailureStopCriterion();
Assert.IsNotNull(criterion, "There should be a criterion");
- var solution = new DenseVector(new[] { 1.0, 1.0, double.NaN });
- var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 });
- var residual = new DenseVector(new[] { 1000.0, 1000.0, 2001.0 });
+ var solution = Vector.Build.Dense(new[] { 1.0, 1.0, double.NaN });
+ var source = Vector.Build.Dense(new[] { 1001.0, 0.0, 2003.0 });
+ var residual = Vector.Build.Dense(new[] { 1000.0, 1000.0, 2001.0 });
var status = criterion.DetermineStatus(5, solution, source, residual);
Assert.AreEqual(IterationStatus.Failure, status, "Should be failed");
@@ -119,9 +119,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
var criterion = new FailureStopCriterion();
Assert.IsNotNull(criterion, "There should be a criterion");
- var solution = new DenseVector(new[] { 3.0, 2.0, 1.0 });
- var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 });
- var residual = new DenseVector(new[] { 1.0, 2.0, 3.0 });
+ var solution = Vector.Build.Dense(new[] { 3.0, 2.0, 1.0 });
+ var source = Vector.Build.Dense(new[] { 1001.0, 0.0, 2003.0 });
+ var residual = Vector.Build.Dense(new[] { 1.0, 2.0, 3.0 });
var status = criterion.DetermineStatus(5, solution, source, residual);
Assert.AreEqual(IterationStatus.Continue, status, "Should be running");
@@ -136,9 +136,9 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite
var criterion = new FailureStopCriterion();
Assert.IsNotNull(criterion, "There should be a criterion");
- var solution = new DenseVector(new[] { 1.0, 1.0, 2.0 });
- var source = new DenseVector(new[] { 1001.0, 0.0, 2003.0 });
- var residual = new DenseVector(new[] { 1000.0, 1000.0, 2001.0 });
+ var solution = Vector.Build.Dense(new[] { 1.0, 1.0, 2.0 });
+ var source = Vector.Build.Dense(new[] { 1001.0, 0.0, 2003.0 });
+ var residual = Vector.Build.Dense(new[] { 1000.0, 1000.0, 2001.0 });
var status = criterion.DetermineStatus(5, solution, source, residual);
Assert.AreEqual(IterationStatus.Continue, status, "Should be running");
diff --git a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs
index 23e9fd50..9266913f 100644
--- a/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs
+++ b/src/UnitTests/LinearAlgebraTests/Double/SparseMatrixTests.cs
@@ -213,7 +213,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
sparseResult.Add(sparseResult, sparseResult);
Assert.IsTrue(sparseResult.Equals(2*sum1));
- Matrix denseResult = new DenseMatrix(1, 3);
+ Matrix denseResult = Matrix.Build.Dense(1, 3);
denseResult.Add(m2, denseResult);
Assert.IsTrue(denseResult.Equals(sum1));
@@ -257,7 +257,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double
sparseResult.Subtract(sparseResult, sparseResult);
Assert.IsTrue(sparseResult.Equals(0*diff1));
- Matrix denseResult = new DenseMatrix(1, 3);
+ Matrix denseResult = Matrix.Build.Dense(1, 3);
denseResult.Subtract(m2, denseResult);
Assert.IsTrue(denseResult.Equals(diff1));