From ec85c4152fbbd13e875233f91d5576ac9bec7f1e Mon Sep 17 00:00:00 2001 From: Marcus Cuda Date: Thu, 13 Jan 2011 22:57:12 +0800 Subject: [PATCH] vector: changed IndexedEnumberator from returning KeyValuePair to a Tuple to be consistent with the Matrix version --- .../LinearAlgebra/VectorDataAccessor.cs | 2 +- .../Complex/Solvers/Iterative/BiCgStab.cs | 2 +- .../Solvers/Iterative/CompositeSolver.cs | 2 +- .../Complex/Solvers/Iterative/GpBiCg.cs | 2 +- .../Complex/Solvers/Iterative/MlkBiCgStab.cs | 2 +- .../Complex/Solvers/Iterative/TFQMR.cs | 2 +- .../LinearAlgebra/Complex/SparseVector.cs | 8 ++++---- .../Complex32/Solvers/Iterative/BiCgStab.cs | 2 +- .../Solvers/Iterative/CompositeSolver.cs | 2 +- .../Complex32/Solvers/Iterative/GpBiCg.cs | 2 +- .../Solvers/Iterative/MlkBiCgStab.cs | 2 +- .../Complex32/Solvers/Iterative/TFQMR.cs | 2 +- .../LinearAlgebra/Complex32/SparseVector.cs | 8 ++++---- .../Double/Solvers/Iterative/BiCgStab.cs | 2 +- .../Solvers/Iterative/CompositeSolver.cs | 2 +- .../Double/Solvers/Iterative/GpBiCg.cs | 2 +- .../Double/Solvers/Iterative/MlkBiCgStab.cs | 2 +- .../Double/Solvers/Iterative/TFQMR.cs | 2 +- .../LinearAlgebra/Double/SparseVector.cs | 8 ++++---- src/Numerics/LinearAlgebra/Generic/Matrix.cs | 4 ++-- src/Numerics/LinearAlgebra/Generic/Vector.cs | 15 +++++++++----- src/Numerics/LinearAlgebra/IO/MatlabWriter.cs | 20 +++++++++---------- .../Single/Solvers/Iterative/BiCgStab.cs | 2 +- .../Solvers/Iterative/CompositeSolver.cs | 2 +- .../Single/Solvers/Iterative/GpBiCg.cs | 2 +- .../Single/Solvers/Iterative/MlkBiCgStab.cs | 2 +- .../Single/Solvers/Iterative/TFQMR.cs | 2 +- .../LinearAlgebra/Single/SparseVector.cs | 8 ++++---- .../LinearAlgebraTests/Complex/VectorTests.cs | 2 +- .../Complex32/VectorTests.cs | 2 +- .../LinearAlgebraTests/Double/VectorTests.cs | 2 +- .../LinearAlgebraTests/Single/VectorTests.cs | 2 +- 32 files changed, 63 insertions(+), 58 deletions(-) diff --git a/src/Examples/LinearAlgebra/VectorDataAccessor.cs b/src/Examples/LinearAlgebra/VectorDataAccessor.cs index 9a1e1ebd..c19eeaf0 100644 --- a/src/Examples/LinearAlgebra/VectorDataAccessor.cs +++ b/src/Examples/LinearAlgebra/VectorDataAccessor.cs @@ -149,7 +149,7 @@ namespace Examples.LinearAlgebra Console.WriteLine(@"11. Enumerator usage"); foreach (var value in vectorA.GetIndexedEnumerator()) { - Console.WriteLine(@"Index = {0}; Value = {1}", value.Key, value.Value.ToString("#0.00\t", formatProvider)); + Console.WriteLine(@"Index = {0}; Value = {1}", value.Item1, value.Item2.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 14fe6014..b39dd009 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/BiCgStab.cs @@ -528,7 +528,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs index 133c7325..9f6cb109 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/CompositeSolver.cs @@ -624,7 +624,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs index 53b7e650..e72ca2de 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/GpBiCg.cs @@ -638,7 +638,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs index d0b086b7..022ac9d4 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/MlkBiCgStab.cs @@ -805,7 +805,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs index 4d024c83..a6115316 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterative/TFQMR.cs @@ -533,7 +533,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs index 64146344..4b740ff1 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs @@ -1326,16 +1326,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex /// /// /// The enumerator returns a - /// - /// with the key being the element index and the value + /// + /// with the first value being the element index and the second value /// being the value of the element at that index. For sparse vectors, the enumerator will exclude all elements /// with a zero value. /// - public override IEnumerable> GetIndexedEnumerator() + public override IEnumerable> GetIndexedEnumerator() { for (var i = 0; i < NonZerosCount; i++) { - yield return new KeyValuePair(_nonZeroIndices[i], _nonZeroValues[i]); + yield return new Tuple(_nonZeroIndices[i], _nonZeroValues[i]); } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs index b359f19d..2d7309c2 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/BiCgStab.cs @@ -527,7 +527,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs index 22f868cf..c4ec532a 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/CompositeSolver.cs @@ -621,7 +621,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs index 5451a75b..7f9b2fe0 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/GpBiCg.cs @@ -638,7 +638,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs index ed1649e9..f7e311eb 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/MlkBiCgStab.cs @@ -804,7 +804,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs index 06af4ffd..fed7f844 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterative/TFQMR.cs @@ -533,7 +533,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs index 991f32c8..40c5ff7d 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs @@ -1356,16 +1356,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 /// /// /// The enumerator returns a - /// - /// with the key being the element index and the value + /// + /// with the first value being the element index and the second value /// being the value of the element at that index. For sparse vectors, the enumerator will exclude all elements /// with a zero value. /// - public override IEnumerable> GetIndexedEnumerator() + public override IEnumerable> GetIndexedEnumerator() { for (var i = 0; i < NonZerosCount; i++) { - yield return new KeyValuePair(_nonZeroIndices[i], _nonZeroValues[i]); + yield return new Tuple(_nonZeroIndices[i], _nonZeroValues[i]); } } diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs index 7fcb67de..9bf21fca 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/BiCgStab.cs @@ -526,7 +526,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs index dd9bddb1..f3b8f902 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/CompositeSolver.cs @@ -619,7 +619,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs index 40241d64..f85d2c49 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/GpBiCg.cs @@ -637,7 +637,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs index a87e5046..b2090c1a 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/MlkBiCgStab.cs @@ -798,7 +798,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs index 02d68401..e122a3f5 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterative/TFQMR.cs @@ -532,7 +532,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Double/SparseVector.cs b/src/Numerics/LinearAlgebra/Double/SparseVector.cs index b8be1d2a..f2def50e 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseVector.cs @@ -1361,16 +1361,16 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// /// /// The enumerator returns a - /// - /// with the key being the element index and the value + /// + /// with the first value being the element index and the second value /// being the value of the element at that index. For sparse vectors, the enumerator will exclude all elements /// with a zero value. /// - public override IEnumerable> GetIndexedEnumerator() + public override IEnumerable> GetIndexedEnumerator() { for (var i = 0; i < NonZerosCount; i++) { - yield return new KeyValuePair(_nonZeroIndices[i], _nonZeroValues[i]); + yield return new Tuple(_nonZeroIndices[i], _nonZeroValues[i]); } } diff --git a/src/Numerics/LinearAlgebra/Generic/Matrix.cs b/src/Numerics/LinearAlgebra/Generic/Matrix.cs index 39a4409c..f98ff2a9 100644 --- a/src/Numerics/LinearAlgebra/Generic/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Generic/Matrix.cs @@ -1253,7 +1253,7 @@ namespace MathNet.Numerics.LinearAlgebra.Generic var columnIndex = column.Key * RowCount; foreach (var element in column.Value.GetIndexedEnumerator()) { - ret[columnIndex + element.Key] = element.Value; + ret[columnIndex + element.Item1] = element.Item2; } } @@ -1278,7 +1278,7 @@ namespace MathNet.Numerics.LinearAlgebra.Generic var rowIndex = row.Key * ColumnCount; foreach (var element in row.Value.GetIndexedEnumerator()) { - ret[rowIndex + element.Key] = element.Value; + ret[rowIndex + element.Item1] = element.Item2; } } diff --git a/src/Numerics/LinearAlgebra/Generic/Vector.cs b/src/Numerics/LinearAlgebra/Generic/Vector.cs index 7d9fcd76..d5d70e0a 100644 --- a/src/Numerics/LinearAlgebra/Generic/Vector.cs +++ b/src/Numerics/LinearAlgebra/Generic/Vector.cs @@ -731,7 +731,12 @@ namespace MathNet.Numerics.LinearAlgebra.Generic /// /// Pointwise divide this vector with another vector and stores the result into the result vector. /// - /// The vector to pointwise divide this one by. + /// + /// The vector to pointwise divide this one by. + /// + /// + /// The result of the division. + /// protected abstract void DoPointwiseDivide(Vector other, Vector result); /// @@ -1389,16 +1394,16 @@ namespace MathNet.Numerics.LinearAlgebra.Generic /// /// /// The enumerator returns a - /// - /// with the key being the element index and the value + /// + /// with the first value being the element index and the second value /// being the value of the element at that index. For sparse vectors, the enumerator will exclude all elements /// with a zero value. /// - public virtual IEnumerable> GetIndexedEnumerator() + public virtual IEnumerable> GetIndexedEnumerator() { for (var i = 0; i < Count; i++) { - yield return new KeyValuePair(i, this[i]); + yield return new Tuple(i, this[i]); } } diff --git a/src/Numerics/LinearAlgebra/IO/MatlabWriter.cs b/src/Numerics/LinearAlgebra/IO/MatlabWriter.cs index f3de218f..fc6292bd 100644 --- a/src/Numerics/LinearAlgebra/IO/MatlabWriter.cs +++ b/src/Numerics/LinearAlgebra/IO/MatlabWriter.cs @@ -483,7 +483,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Key); + dataWriter.Write(row.Item1); } } @@ -518,7 +518,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value); + dataWriter.Write(row.Item2); } } @@ -551,7 +551,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Key); + dataWriter.Write(row.Item1); } } @@ -586,7 +586,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value); + dataWriter.Write(row.Item2); } } @@ -622,7 +622,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Key); + dataWriter.Write(row.Item1); } } @@ -657,7 +657,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value.Real); + dataWriter.Write(row.Item2.Real); } } @@ -668,7 +668,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value.Real); + dataWriter.Write(row.Item2.Real); } } @@ -701,7 +701,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Key); + dataWriter.Write(row.Item1); } } @@ -736,7 +736,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value.Real); + dataWriter.Write(row.Item2.Real); } } @@ -750,7 +750,7 @@ namespace MathNet.Numerics.LinearAlgebra.IO { foreach (var row in column.Value.GetIndexedEnumerator()) { - dataWriter.Write(row.Value.Real); + dataWriter.Write(row.Item2.Real); } } diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs index 712c6548..26c6aaf9 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/BiCgStab.cs @@ -526,7 +526,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs index 3252c28d..1f8cbb19 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/CompositeSolver.cs @@ -621,7 +621,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + 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 b7f9a4d9..48951507 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/GpBiCg.cs @@ -637,7 +637,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + 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 7da752d9..0eaae0c2 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/MlkBiCgStab.cs @@ -800,7 +800,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs index f8d48d91..acbbffd6 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterative/TFQMR.cs @@ -532,7 +532,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative var solution = Solve(matrix, (Vector)input.Column(column)); foreach (var element in solution.GetIndexedEnumerator()) { - result.At(element.Key, column, element.Value); + result.At(element.Item1, column, element.Item2); } } } diff --git a/src/Numerics/LinearAlgebra/Single/SparseVector.cs b/src/Numerics/LinearAlgebra/Single/SparseVector.cs index 142971aa..0ccfc7ab 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseVector.cs @@ -1368,16 +1368,16 @@ namespace MathNet.Numerics.LinearAlgebra.Single /// /// /// The enumerator returns a - /// - /// with the key being the element index and the value + /// + /// with the first value being the element index and the second value /// being the value of the element at that index. For sparse vectors, the enumerator will exclude all elements /// with a zero value. /// - public override IEnumerable> GetIndexedEnumerator() + public override IEnumerable> GetIndexedEnumerator() { for (var i = 0; i < NonZerosCount; i++) { - yield return new KeyValuePair(_nonZeroIndices[i], _nonZeroValues[i]); + yield return new Tuple(_nonZeroIndices[i], _nonZeroValues[i]); } } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/VectorTests.cs b/src/UnitTests/LinearAlgebraTests/Complex/VectorTests.cs index 5e121ee5..278dbe53 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/VectorTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/VectorTests.cs @@ -240,7 +240,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex var vector = CreateVector(Data); foreach (var pair in vector.GetIndexedEnumerator()) { - Assert.AreEqual(Data[pair.Key], pair.Value); + Assert.AreEqual(Data[pair.Item1], pair.Item2); } } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/VectorTests.cs b/src/UnitTests/LinearAlgebraTests/Complex32/VectorTests.cs index eeb459c6..964af4bc 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/VectorTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/VectorTests.cs @@ -240,7 +240,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32 var vector = CreateVector(Data); foreach (var pair in vector.GetIndexedEnumerator()) { - Assert.AreEqual(Data[pair.Key], pair.Value); + Assert.AreEqual(Data[pair.Item1], pair.Item2); } } diff --git a/src/UnitTests/LinearAlgebraTests/Double/VectorTests.cs b/src/UnitTests/LinearAlgebraTests/Double/VectorTests.cs index 8b861a7a..6de63357 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/VectorTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/VectorTests.cs @@ -238,7 +238,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double var vector = CreateVector(Data); foreach (var pair in vector.GetIndexedEnumerator()) { - Assert.AreEqual(Data[pair.Key], pair.Value); + Assert.AreEqual(Data[pair.Item1], pair.Item2); } } diff --git a/src/UnitTests/LinearAlgebraTests/Single/VectorTests.cs b/src/UnitTests/LinearAlgebraTests/Single/VectorTests.cs index 091c9069..40ee40b7 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/VectorTests.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/VectorTests.cs @@ -238,7 +238,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single var vector = CreateVector(Data); foreach (var pair in vector.GetIndexedEnumerator()) { - Assert.AreEqual(Data[pair.Key], pair.Value); + Assert.AreEqual(Data[pair.Item1], pair.Item2); } }