From f1530e223a1d97c3cf4da733b784cc634630a7db Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Thu, 7 Apr 2011 22:12:18 +0800 Subject: [PATCH] (Strictly)Upper/Lower Triangle(): Changed iterations to have rows as outer loop and columns as inner loop. Was previously mixed [Consistency Change] --- src/Numerics/LinearAlgebra/Generic/Matrix.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Numerics/LinearAlgebra/Generic/Matrix.cs b/src/Numerics/LinearAlgebra/Generic/Matrix.cs index 7aba0daa..adcd6e59 100644 --- a/src/Numerics/LinearAlgebra/Generic/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Generic/Matrix.cs @@ -470,9 +470,10 @@ namespace MathNet.Numerics.LinearAlgebra.Generic public virtual Matrix LowerTriangle() { var ret = CreateMatrix(RowCount, ColumnCount); - for (var column = 0; column < ColumnCount; column++) + + for (var row = 0; row < RowCount; row++) { - for (var row = column; row < RowCount; row++) + for (var column = 0; column <= row; column++) { ret.At(row, column, At(row, column)); } @@ -499,9 +500,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic throw new ArgumentException(Resources.ArgumentMatrixDimensions, "result"); } - for (var column = 0; column < ColumnCount; column++) + for (var row = 0; row < RowCount; row++) { - for (var row = 0; row < RowCount; row++) + for (var column = 0; column < ColumnCount; column++) { result.At(row, column, row >= column ? At(row, column) : default(T)); } @@ -516,9 +517,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic { var ret = CreateMatrix(RowCount, ColumnCount); - for (var column = 0; column < ColumnCount; column++) + for (var row = 0; row < RowCount; row++) { - for (var row = 0; row < RowCount; row++) + for (var column = 0; column < ColumnCount; column++) { if (row <= column) { @@ -548,9 +549,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic throw new ArgumentException(Resources.ArgumentMatrixDimensions, "result"); } - for (var column = 0; column < ColumnCount; column++) + for (var row = 0; row < RowCount; row++) { - for (var row = 0; row < RowCount; row++) + for (var column = 0; column < ColumnCount; column++) { result.At(row, column, row <= column ? At(row, column) : default(T)); }