From bff2f68396d9739766ee64f9789783b9c702cf6c Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Wed, 23 Oct 2013 20:32:42 +0200 Subject: [PATCH] LA: norml xml docs --- .../LinearAlgebra/Complex/DenseMatrix.cs | 12 +++++----- .../LinearAlgebra/Complex/DiagonalMatrix.cs | 16 ++++++------- src/Numerics/LinearAlgebra/Complex/Matrix.cs | 12 +++++----- .../LinearAlgebra/Complex/SparseMatrix.cs | 8 +++---- .../LinearAlgebra/Complex32/DenseMatrix.cs | 12 +++++----- .../LinearAlgebra/Complex32/DiagonalMatrix.cs | 20 ++++++++-------- .../LinearAlgebra/Complex32/Matrix.cs | 12 +++++----- .../LinearAlgebra/Complex32/SparseMatrix.cs | 8 +++---- .../LinearAlgebra/Double/DenseMatrix.cs | 12 +++++----- .../LinearAlgebra/Double/DiagonalMatrix.cs | 20 ++++++++-------- src/Numerics/LinearAlgebra/Double/Matrix.cs | 12 +++++----- .../LinearAlgebra/Double/SparseMatrix.cs | 8 +++---- .../LinearAlgebra/Matrix.Arithmetic.cs | 24 +++++++++++-------- .../LinearAlgebra/Single/DenseMatrix.cs | 12 +++++----- .../LinearAlgebra/Single/DiagonalMatrix.cs | 20 ++++++++-------- src/Numerics/LinearAlgebra/Single/Matrix.cs | 12 +++++----- .../LinearAlgebra/Single/SparseMatrix.cs | 8 +++---- 17 files changed, 116 insertions(+), 112 deletions(-) diff --git a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs index 66e7cbd6..7142e826 100644 --- a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs @@ -426,22 +426,22 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.OneNorm, _rowCount, _columnCount, _values); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.FrobeniusNorm, _rowCount, _columnCount, _values); diff --git a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs index 29ee2201..d6a3e968 100644 --- a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs @@ -652,22 +652,22 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { - return _data.Aggregate(double.NegativeInfinity, (current, t) => Math.Max(current, t.Magnitude)); + return _data.Aggregate(0d, (current, t) => Math.Max(current, t.Magnitude)); } - /// Calculates the L2 norm. - /// The L2 norm of the matrix. + /// Calculates the induced L2 norm of the matrix. + /// The largest singular value of the matrix. public override double L2Norm() { - return _data.Aggregate(double.NegativeInfinity, (current, t) => Math.Max(current, t.Magnitude)); + return _data.Aggregate(0d, (current, t) => Math.Max(current, t.Magnitude)); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return L1Norm(); diff --git a/src/Numerics/LinearAlgebra/Complex/Matrix.cs b/src/Numerics/LinearAlgebra/Complex/Matrix.cs index afebdc5f..75c1412d 100644 --- a/src/Numerics/LinearAlgebra/Complex/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/Matrix.cs @@ -57,8 +57,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex { } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { var norm = 0d; @@ -74,8 +74,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return norm; } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var norm = 0d; @@ -91,8 +91,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var transpose = ConjugateTranspose(); diff --git a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs index b2c2d1dc..02daadea 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs @@ -674,8 +674,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return new SparseMatrix(ret); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var rowPointers = _storage.RowPointers; @@ -701,8 +701,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var aat = (SparseCompressedRowMatrixStorage) (this*ConjugateTranspose()).Storage; diff --git a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs index 10f5cbe7..df9a2192 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs @@ -421,22 +421,22 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.OneNorm, _rowCount, _columnCount, _values); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.FrobeniusNorm, _rowCount, _columnCount, _values); diff --git a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs index d1bde21a..f1f04d3b 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs @@ -647,29 +647,29 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { - return _data.Aggregate(float.NegativeInfinity, (current, t) => Math.Max(current, t.Magnitude)); + return _data.Aggregate(0f, (current, t) => Math.Max(current, t.Magnitude)); } - /// Calculates the L2 norm. - /// The L2 norm of the matrix. + /// Calculates the induced L2 norm of the matrix. + /// The largest singular value of the matrix. public override double L2Norm() { - return _data.Aggregate(float.NegativeInfinity, (current, t) => Math.Max(current, t.Magnitude)); + return _data.Aggregate(0f, (current, t) => Math.Max(current, t.Magnitude)); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return L1Norm(); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Math.Sqrt(_data.Sum(t => t.Magnitude * t.Magnitude)); diff --git a/src/Numerics/LinearAlgebra/Complex32/Matrix.cs b/src/Numerics/LinearAlgebra/Complex32/Matrix.cs index 2ab02f16..ad6a3346 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Matrix.cs @@ -52,8 +52,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { var norm = 0d; @@ -69,8 +69,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return norm; } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var norm = 0d; @@ -86,8 +86,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var transpose = ConjugateTranspose(); diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs index 84a2e9fb..2b6a13bf 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs @@ -669,8 +669,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return new SparseMatrix(ret); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var rowPointers = _storage.RowPointers; @@ -696,8 +696,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var aat = (SparseCompressedRowMatrixStorage) (this*ConjugateTranspose()).Storage; diff --git a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs index c7169274..30198a63 100644 --- a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs @@ -418,22 +418,22 @@ namespace MathNet.Numerics.LinearAlgebra.Double return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.OneNorm, _rowCount, _columnCount, _values); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.FrobeniusNorm, _rowCount, _columnCount, _values); diff --git a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs index cbad50e0..e489a675 100644 --- a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs @@ -641,29 +641,29 @@ namespace MathNet.Numerics.LinearAlgebra.Double return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { - return _data.Aggregate(double.NegativeInfinity, (current, t) => Math.Max(current, Math.Abs(t))); + return _data.Aggregate(0d, (current, t) => Math.Max(current, Math.Abs(t))); } - /// Calculates the L2 norm. - /// The L2 norm of the matrix. + /// Calculates the induced L2 norm of the matrix. + /// The largest singular value of the matrix. public override double L2Norm() { - return _data.Aggregate(double.NegativeInfinity, (current, t) => Math.Max(current, Math.Abs(t))); + return _data.Aggregate(0d, (current, t) => Math.Max(current, Math.Abs(t))); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return L1Norm(); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Math.Sqrt(_data.Sum(t => t * t)); diff --git a/src/Numerics/LinearAlgebra/Double/Matrix.cs b/src/Numerics/LinearAlgebra/Double/Matrix.cs index bc4fa558..ec4eaa25 100644 --- a/src/Numerics/LinearAlgebra/Double/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Double/Matrix.cs @@ -50,8 +50,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double { } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { var norm = 0d; @@ -67,8 +67,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double return norm; } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var norm = 0d; @@ -84,8 +84,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var transpose = Transpose(); diff --git a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs index e67972fa..80a1cf4b 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs @@ -668,8 +668,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double return new SparseMatrix(ret); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var rowPointers = _storage.RowPointers; @@ -696,8 +696,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var aat = (SparseCompressedRowMatrixStorage) (this*Transpose()).Storage; diff --git a/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs b/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs index 54ef95d5..25163d6a 100644 --- a/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs +++ b/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs @@ -1148,27 +1148,31 @@ namespace MathNet.Numerics.LinearAlgebra return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public abstract double L1Norm(); - /// Calculates the L2 norm. - /// The L2 norm of the matrix. - /// For sparse matrices, the L2 norm is computed using a dense implementation of singular value decomposition. - /// In a later release, it will be replaced with a sparse implementation. + /// Calculates the induced L2 norm of the matrix. + /// The largest singular value of the matrix. + /// + /// For sparse matrices, the L2 norm is computed using a dense implementation of singular value decomposition. + /// In a later release, it will be replaced with a sparse implementation. + /// public virtual double L2Norm() { return Svd(false).L2Norm; } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public abstract double InfinityNorm(); - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public abstract double FrobeniusNorm(); + + #region Exceptions - possibly move elsewhere? internal static Exception DimensionsDontMatch(Matrix left, Matrix right, Matrix result, string paramName = null) diff --git a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs index ce6407c1..8c3417ee 100644 --- a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs @@ -418,22 +418,22 @@ namespace MathNet.Numerics.LinearAlgebra.Single return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.OneNorm, _rowCount, _columnCount, _values); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.InfinityNorm, _rowCount, _columnCount, _values); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Control.LinearAlgebraProvider.MatrixNorm(Norm.FrobeniusNorm, _rowCount, _columnCount, _values); diff --git a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs index 41b87d71..e388e2b2 100644 --- a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs @@ -641,29 +641,29 @@ namespace MathNet.Numerics.LinearAlgebra.Single return ret; } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { - return _data.Aggregate(float.NegativeInfinity, (current, t) => Math.Max(current, Math.Abs(t))); + return _data.Aggregate(0f, (current, t) => Math.Max(current, Math.Abs(t))); } - /// Calculates the L2 norm. - /// The L2 norm of the matrix. + /// Calculates the induced L2 norm of the matrix. + /// The largest singular value of the matrix. public override double L2Norm() { - return _data.Aggregate(float.NegativeInfinity, (current, t) => Math.Max(current, Math.Abs(t))); + return _data.Aggregate(0f, (current, t) => Math.Max(current, Math.Abs(t))); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { return L1Norm(); } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { return Math.Sqrt(_data.Sum(t => t * t)); diff --git a/src/Numerics/LinearAlgebra/Single/Matrix.cs b/src/Numerics/LinearAlgebra/Single/Matrix.cs index 902b86ff..761734f0 100644 --- a/src/Numerics/LinearAlgebra/Single/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Single/Matrix.cs @@ -50,8 +50,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single { } - /// Calculates the L1 norm. - /// The L1 norm of the matrix. + /// Calculates the induced L1 norm of this matrix. + /// The maximum absolute column sum of the matrix. public override double L1Norm() { var norm = 0d; @@ -67,8 +67,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single return norm; } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var norm = 0d; @@ -84,8 +84,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var transpose = Transpose(); diff --git a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs index 6454d1a5..ca0bc1ed 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs @@ -670,8 +670,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single return new SparseMatrix(ret); } - /// Calculates the infinity norm of this matrix. - /// The infinity norm of this matrix. + /// Calculates the induced infinity norm of this matrix. + /// The maximum absolute row sum of the matrix. public override double InfinityNorm() { var rowPointers = _storage.RowPointers; @@ -700,8 +700,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single return norm; } - /// Calculates the Frobenius norm of this matrix. - /// The Frobenius norm of this matrix. + /// Calculates the entry-wise Frobenius norm of this matrix. + /// The square root of the sum of the squared values. public override double FrobeniusNorm() { var aat = (SparseCompressedRowMatrixStorage) (this*Transpose()).Storage;