|
|
|
@ -641,5 +641,29 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Test] |
|
|
|
public void CanGetSubMatrix_Issue35() |
|
|
|
{ |
|
|
|
// [ 1 0 0 ]
|
|
|
|
// [ 0 2 0 ]
|
|
|
|
// [ 0 0 3 ]
|
|
|
|
var diagMatrix = new DiagonalMatrix(3); |
|
|
|
for (int i = 0; i < 3; i++) |
|
|
|
{ |
|
|
|
diagMatrix[i, i] = i + 1; |
|
|
|
} |
|
|
|
|
|
|
|
// [ 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}))); |
|
|
|
|
|
|
|
// [ 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 }))); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|