diff --git a/.editorconfig b/.editorconfig index d14d04e3..233ffb20 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,3 +8,6 @@ indent_style = space indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs index ef6e99fd..6715ab95 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs @@ -110,9 +110,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// Output: Arrays for internal storage of imaginary parts of eigenvalues /// Output: Arrays that contains further information about the transformations. /// Order of initial matrix - /// This is derived from the Algol procedures HTRIDI by - /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures HTRIDI by + /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. internal static void SymmetricTridiagonalize(Complex[] matrixA, double[] d, double[] e, Complex[] tau, int order) { @@ -332,7 +332,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -747,7 +747,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization } } - // All roots found. + // All roots found. // Backsubstitute to find vectors of upper triangular form norm = 0.0; for (var i = 0; i < order; i++) diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs index afd83c4d..cf894d35 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs @@ -50,7 +50,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization internal sealed class DenseGramSchmidt : GramSchmidt { /// - /// Initializes a new instance of the class. This object creates an unitary matrix + /// Initializes a new instance of the class. This object creates an unitary matrix /// using the modified Gram-Schmidt method. /// /// The matrix to factor. @@ -114,7 +114,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization for (var index = 0; index < rowsQ; index++) { dot += q[(k1 * rowsQ) + index].Conjugate() * q[(j1 * rowsQ) + index]; - } + } r[(j * columnsQ) + k] = dot; for (var i = 0; i < rowsQ; i++) diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs index 5cbc91ea..48716a5b 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs @@ -42,8 +42,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs index cf895c2f..44333efd 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs @@ -41,13 +41,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs index 53039487..6ef4e2b2 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs @@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// A class which encapsulates the functionality of an LU factorization. /// For a matrix A, the LU factorization is a pair of lower triangular matrix L and /// upper triangular matrix U so that A = L*U. - /// In the Math.Net implementation we also store a set of pivot elements for increased + /// In the Math.Net implementation we also store a set of pivot elements for increased /// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U. /// /// diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs index bf98b8e8..4e9a5fe1 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs @@ -43,14 +43,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. /// Any real square matrix A (m x n) may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// /// The computation of the QR decomposition is done at construction time by Householder transformation. - /// If a factorization is peformed, the resulting Q matrix is an m x m matrix - /// and the R matrix is an m x n matrix. If a factorization is performed, the - /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. + /// If a factorization is peformed, the resulting Q matrix is an m x m matrix + /// and the R matrix is an m x n matrix. If a factorization is performed, the + /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. /// internal abstract class QR : QR { diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs index d36ea19a..ae7c1ceb 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs @@ -133,9 +133,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// Output: Arrays for internal storage of imaginary parts of eigenvalues /// Output: Arrays that contains further information about the transformations. /// Order of initial matrix - /// This is derived from the Algol procedures HTRIDI by - /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures HTRIDI by + /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. static void SymmetricTridiagonalize(Complex[,] matrixA, double[] d, double[] e, Complex[] tau, int order) { @@ -354,7 +354,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -745,7 +745,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization } } - // All roots found. + // All roots found. // Backsubstitute to find vectors of upper triangular form norm = 0.0; for (var i = 0; i < order; i++) diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs index 27b21cf8..a023712b 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs @@ -49,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization internal sealed class UserGramSchmidt : GramSchmidt { /// - /// Initializes a new instance of the class. This object creates an unitary matrix + /// Initializes a new instance of the class. This object creates an unitary matrix /// using the modified Gram-Schmidt method. /// /// The matrix to factor. @@ -87,7 +87,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization { dot += q.Column(k)[i].Conjugate() * q.Column(j)[i]; } - + r.At(k, j, dot); for (var i = 0; i < q.RowCount; i++) { @@ -131,7 +131,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization } var inputCopy = input.Clone(); - + // Compute Y = transpose(Q)*B var column = new Complex[Q.RowCount]; for (var j = 0; j < input.ColumnCount; j++) diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs index d37fe7af..a5aac6f6 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs @@ -44,8 +44,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs b/src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs index 37c25cf3..519ac89d 100644 --- a/src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs +++ b/src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs @@ -41,13 +41,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// @@ -349,7 +349,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization while (m > 0) { - // Quit if all the singular values have been found. If too many iterations have been performed, + // Quit if all the singular values have been found. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -667,7 +667,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization } /// - /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s + /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s /// associated with the Givens rotation that zeros the y-coordinate of the point. /// /// Provides the x-coordinate of the point p. On exit contains the parameter r associated with the Givens rotation @@ -780,7 +780,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization } /// - /// Performs rotation of points in the plane. Given two vectors x and y , + /// Performs rotation of points in the plane. Given two vectors x and y , /// each vector element of these vectors is replaced as follows: x(i) = c*x(i) + s*y(i); y(i) = c*y(i) - s*x(i) /// /// Source matrix diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs index e8077513..544fb22c 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/BiCgStab.cs @@ -203,7 +203,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers residuals.Add(temp, vecS); // Check if we're converged. If so then stop. Otherwise continue; - // Calculate the temporary result. + // Calculate the temporary result. // Be careful not to change any of the temp vectors, except for // temp. Others will be used in the calculation later on. // x_i = x_(i-1) + alpha_i * p^_i + s^_i diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs index 64472a88..de30342f 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// /// A composite matrix solver. The actual solver is made by a sequence of - /// matrix solvers. + /// matrix solvers. /// /// /// @@ -121,9 +121,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers } catch (Exception) { - // The solver broke down. + // The solver broke down. // Log a message about this - // Switch to the next preconditioner. + // Switch to the next preconditioner. // Reset the solution vector to the previous solution input.CopyTo(internalInput); continue; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs index b1a006ce..73bc5621 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/GpBiCg.cs @@ -45,16 +45,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// /// /// - /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an + /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an /// alternative version of the Bi-Conjugate Gradient stabilized (CG) solver. - /// Unlike the CG solver the GPBiCG solver can be used on + /// Unlike the CG solver the GPBiCG solver can be used on /// non-symmetric matrices.
/// Note that much of the success of the solver depends on the selection of the /// proper preconditioner. ///
/// /// The GPBiCG algorithm was taken from:
- /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with + /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with /// efficiency and robustness ///
/// S. Fujino @@ -70,13 +70,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers public sealed class GpBiCg : IIterativeSolver { /// - /// Indicates the number of BiCGStab steps should be taken + /// Indicates the number of BiCGStab steps should be taken /// before switching. /// int _numberOfBiCgStabSteps = 1; /// - /// Indicates the number of GPBiCG steps should be taken + /// Indicates the number of GPBiCG steps should be taken /// before switching. /// int _numberOfGpbiCgSteps = 4; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/ILU0Preconditioner.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/ILU0Preconditioner.cs index 830a3d6d..553863d6 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/ILU0Preconditioner.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/ILU0Preconditioner.cs @@ -191,7 +191,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers var rowValues = new DenseVector(_decompositionLU.RowCount); for (var i = 0; i < _decompositionLU.RowCount; i++) { - // Clear the rowValues + // Clear the rowValues rowValues.Clear(); _decompositionLU.Row(i, rowValues); diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs index 7a3dd73c..1609f31f 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/MlkBiCgStab.cs @@ -50,7 +50,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// /// /// The Multiple-Lanczos Bi-Conjugate Gradient stabilized (ML(k)-BiCGStab) solver is an 'improvement' - /// of the standard BiCgStab solver. + /// of the standard BiCgStab solver. /// /// /// The algorithm was taken from:
@@ -88,7 +88,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// Gets or sets the number of starting vectors. /// /// - /// Must be larger than 1 and smaller than the number of variables in the matrix that + /// Must be larger than 1 and smaller than the number of variables in the matrix that /// for which this solver will be used. /// public int NumberOfStartingVectors @@ -117,7 +117,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers } /// - /// Gets or sets a series of orthonormal vectors which will be used as basis for the + /// Gets or sets a series of orthonormal vectors which will be used as basis for the /// Krylov sub-space. /// public IList> StartingVectors @@ -159,7 +159,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// /// An array with starting vectors. The array will never be larger than the /// but it may be smaller if - /// the is smaller than + /// the is smaller than /// the . /// static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables) @@ -287,7 +287,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers // We don't accept collections with zero starting vectors so ... if (_startingVectors.Count <= NumberOfStartingVectorsToCreate(_numberOfStartingVectors, input.Count)) { - // Only check the first vector for sizing. If that matches we assume the + // Only check the first vector for sizing. If that matches we assume the // other vectors match too. If they don't the process will crash if (_startingVectors[0].Count == input.Count) { diff --git a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs index 45aae5ad..788280e5 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs @@ -911,7 +911,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex } result.Clear(); - + var rowPointers = _storage.RowPointers; var columnIndices = _storage.ColumnIndices; diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs index b0f527f4..bcaf6f70 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs @@ -111,9 +111,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// Output: Arrays for internal storage of imaginary parts of eigenvalues /// Output: Arrays that contains further information about the transformations. /// Order of initial matrix - /// This is derived from the Algol procedures HTRIDI by - /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures HTRIDI by + /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. internal static void SymmetricTridiagonalize(Complex32[] matrixA, float[] d, float[] e, Complex32[] tau, int order) { @@ -333,7 +333,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -748,7 +748,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization } } - // All roots found. + // All roots found. // Backsubstitute to find vectors of upper triangular form norm = 0.0f; for (var i = 0; i < order; i++) diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs index db96d723..ddff6a81 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs @@ -45,7 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization internal sealed class DenseGramSchmidt : GramSchmidt { /// - /// Initializes a new instance of the class. This object creates an unitary matrix + /// Initializes a new instance of the class. This object creates an unitary matrix /// using the modified Gram-Schmidt method. /// /// The matrix to factor. @@ -110,7 +110,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization { dot += q[(k1 * rowsQ) + index].Conjugate() * q[(j1 * rowsQ) + index]; } - + r[(j * columnsQ) + k] = dot; for (var i = 0; i < rowsQ; i++) { diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs index 1df3402d..41841b27 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs @@ -37,8 +37,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs index c243cd23..60bd8ca9 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs @@ -36,13 +36,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs index ca3ebc0f..fb0ea7ca 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs @@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// A class which encapsulates the functionality of an LU factorization. /// For a matrix A, the LU factorization is a pair of lower triangular matrix L and /// upper triangular matrix U so that A = L*U. - /// In the Math.Net implementation we also store a set of pivot elements for increased + /// In the Math.Net implementation we also store a set of pivot elements for increased /// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U. /// /// diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs index 184691f9..e7713c04 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs @@ -38,14 +38,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. /// Any real square matrix A (m x n) may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// /// The computation of the QR decomposition is done at construction time by Householder transformation. - /// If a factorization is peformed, the resulting Q matrix is an m x m matrix - /// and the R matrix is an m x n matrix. If a factorization is performed, the - /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. + /// If a factorization is peformed, the resulting Q matrix is an m x m matrix + /// and the R matrix is an m x n matrix. If a factorization is performed, the + /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. /// internal abstract class QR : QR { diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs index c55dc81e..75ef1b7f 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs @@ -135,9 +135,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// Output: Arrays for internal storage of imaginary parts of eigenvalues /// Output: Arrays that contains further information about the transformations. /// Order of initial matrix - /// This is derived from the Algol procedures HTRIDI by - /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures HTRIDI by + /// Smith, Boyle, Dongarra, Garbow, Ikebe, Klema, Moler, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. static void SymmetricTridiagonalize(Complex32[,] matrixA, float[] d, float[] e, Complex32[] tau, int order) { @@ -356,7 +356,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -747,7 +747,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization } } - // All roots found. + // All roots found. // Backsubstitute to find vectors of upper triangular form norm = 0.0f; for (var i = 0; i < order; i++) diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs index e056ad5f..92c59d4c 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs @@ -44,7 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization internal sealed class UserGramSchmidt : GramSchmidt { /// - /// Initializes a new instance of the class. This object creates an unitary matrix + /// Initializes a new instance of the class. This object creates an unitary matrix /// using the modified Gram-Schmidt method. /// /// The matrix to factor. @@ -82,7 +82,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization { dot += q.Column(k)[i].Conjugate() * q.Column(j)[i]; } - + r.At(k, j, dot); for (var i = 0; i < q.RowCount; i++) { @@ -99,7 +99,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization : base(q, rFull) { } - + /// /// Solves a system of linear equations, AX = B, with A QR factorized. /// @@ -126,7 +126,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization } var inputCopy = input.Clone(); - + // Compute Y = transpose(Q)*B var column = new Complex32[Q.RowCount]; for (var j = 0; j < input.ColumnCount; j++) diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs index a9210aa2..9dd2d014 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs @@ -39,8 +39,8 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs index d7939a03..54207005 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs @@ -36,13 +36,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// @@ -344,7 +344,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization while (m > 0) { - // Quit if all the singular values have been found. If too many iterations have been performed, + // Quit if all the singular values have been found. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -662,7 +662,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization } /// - /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s + /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s /// associated with the Givens rotation that zeros the y-coordinate of the point. /// /// Provides the x-coordinate of the point p. On exit contains the parameter r associated with the Givens rotation @@ -775,7 +775,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization } /// - /// Performs rotation of points in the plane. Given two vectors x and y , + /// Performs rotation of points in the plane. Given two vectors x and y , /// each vector element of these vectors is replaced as follows: x(i) = c*x(i) + s*y(i); y(i) = c*y(i) - s*x(i) /// /// Source matrix diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs index 0827d9f7..12d200be 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/BiCgStab.cs @@ -196,7 +196,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers residuals.Add(temp, vecS); // Check if we're converged. If so then stop. Otherwise continue; - // Calculate the temporary result. + // Calculate the temporary result. // Be careful not to change any of the temp vectors, except for // temp. Others will be used in the calculation later on. // x_i = x_(i-1) + alpha_i * p^_i + s^_i diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs index e02c15fc..1965bb41 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs @@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers { /// /// A composite matrix solver. The actual solver is made by a sequence of - /// matrix solvers. + /// matrix solvers. /// /// /// @@ -114,9 +114,9 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers } catch (Exception) { - // The solver broke down. + // The solver broke down. // Log a message about this - // Switch to the next preconditioner. + // Switch to the next preconditioner. // Reset the solution vector to the previous solution input.CopyTo(internalInput); continue; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs index 4b179e4a..812ff37d 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/GpBiCg.cs @@ -38,16 +38,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// /// /// - /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an + /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an /// alternative version of the Bi-Conjugate Gradient stabilized (CG) solver. - /// Unlike the CG solver the GPBiCG solver can be used on + /// Unlike the CG solver the GPBiCG solver can be used on /// non-symmetric matrices.
/// Note that much of the success of the solver depends on the selection of the /// proper preconditioner. ///
/// /// The GPBiCG algorithm was taken from:
- /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with + /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with /// efficiency and robustness ///
/// S. Fujino @@ -63,13 +63,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers public sealed class GpBiCg : IIterativeSolver { /// - /// Indicates the number of BiCGStab steps should be taken + /// Indicates the number of BiCGStab steps should be taken /// before switching. /// int _numberOfBiCgStabSteps = 1; /// - /// Indicates the number of GPBiCG steps should be taken + /// Indicates the number of GPBiCG steps should be taken /// before switching. /// int _numberOfGpbiCgSteps = 4; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/ILU0Preconditioner.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/ILU0Preconditioner.cs index f4324141..482cd3d0 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/ILU0Preconditioner.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/ILU0Preconditioner.cs @@ -186,7 +186,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers var rowValues = new DenseVector(_decompositionLU.RowCount); for (var i = 0; i < _decompositionLU.RowCount; i++) { - // Clear the rowValues + // Clear the rowValues rowValues.Clear(); _decompositionLU.Row(i, rowValues); diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs index 39a0123d..37f5d2d9 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/MlkBiCgStab.cs @@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// /// /// The Multiple-Lanczos Bi-Conjugate Gradient stabilized (ML(k)-BiCGStab) solver is an 'improvement' - /// of the standard BiCgStab solver. + /// of the standard BiCgStab solver. /// /// /// The algorithm was taken from:
@@ -81,7 +81,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// Gets or sets the number of starting vectors. /// /// - /// Must be larger than 1 and smaller than the number of variables in the matrix that + /// Must be larger than 1 and smaller than the number of variables in the matrix that /// for which this solver will be used. /// public int NumberOfStartingVectors @@ -110,7 +110,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers } /// - /// Gets or sets a series of orthonormal vectors which will be used as basis for the + /// Gets or sets a series of orthonormal vectors which will be used as basis for the /// Krylov sub-space. /// public IList> StartingVectors @@ -152,7 +152,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// /// An array with starting vectors. The array will never be larger than the /// but it may be smaller if - /// the is smaller than + /// the is smaller than /// the . /// static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables) @@ -285,7 +285,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers // We don't accept collections with zero starting vectors so ... if (_startingVectors.Count <= NumberOfStartingVectorsToCreate(_numberOfStartingVectors, input.Count)) { - // Only check the first vector for sizing. If that matches we assume the + // Only check the first vector for sizing. If that matches we assume the // other vectors match too. If they don't the process will crash if (_startingVectors[0].Count == input.Count) { diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs index f4cafd67..d11af508 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs @@ -905,7 +905,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 } result.Clear(); - + var rowPointers = _storage.RowPointers; var columnIndices = _storage.ColumnIndices; diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs index ab2c8fec..12d4ab41 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs @@ -110,9 +110,9 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization /// Arrays for internal storage of real parts of eigenvalues /// Arrays for internal storage of imaginary parts of eigenvalues /// Order of initial matrix - /// This is derived from the Algol procedures tred2 by - /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures tred2 by + /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. internal static void SymmetricTridiagonalize(double[] a, double[] d, double[] e, int order) { @@ -362,7 +362,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs b/src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs index f8e99496..a3fec964 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs @@ -35,8 +35,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization { /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs b/src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs index ba052fb8..8a4b909f 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs @@ -34,13 +34,13 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization { /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/LU.cs b/src/Numerics/LinearAlgebra/Double/Factorization/LU.cs index b817e28d..eb5d152f 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/LU.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/LU.cs @@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization /// A class which encapsulates the functionality of an LU factorization. /// For a matrix A, the LU factorization is a pair of lower triangular matrix L and /// upper triangular matrix U so that A = L*U. - /// In the Math.Net implementation we also store a set of pivot elements for increased + /// In the Math.Net implementation we also store a set of pivot elements for increased /// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U. /// /// diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/QR.cs b/src/Numerics/LinearAlgebra/Double/Factorization/QR.cs index 9f32b6bb..daf5ffe9 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/QR.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/QR.cs @@ -36,14 +36,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. /// Any real square matrix A (m x n) may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// /// The computation of the QR decomposition is done at construction time by Householder transformation. - /// If a factorization is performed, the resulting Q matrix is an m x m matrix - /// and the R matrix is an m x n matrix. If a factorization is performed, the - /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. + /// If a factorization is performed, the resulting Q matrix is an m x m matrix + /// and the R matrix is an m x n matrix. If a factorization is performed, the + /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. /// internal abstract class QR : QR { diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs index 6f9cd137..45336c69 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs @@ -146,9 +146,9 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization /// Arrays for internal storage of real parts of eigenvalues /// Arrays for internal storage of imaginary parts of eigenvalues /// Order of initial matrix - /// This is derived from the Algol procedures tred2 by - /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures tred2 by + /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. static void SymmetricTridiagonalize(Matrix eigenVectors, double[] d, double[] e, int order) { @@ -398,7 +398,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs b/src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs index 3d0cb818..dc746ace 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs @@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization internal sealed class UserGramSchmidt : 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. @@ -119,7 +119,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization } var inputCopy = input.Clone(); - + // Compute Y = transpose(Q)*B var column = new double[Q.RowCount]; for (var j = 0; j < input.ColumnCount; j++) diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs b/src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs index 84d5beb8..963c290d 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs @@ -37,8 +37,8 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization { /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs b/src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs index 3e729bff..c382c4d1 100644 --- a/src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs +++ b/src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs @@ -34,13 +34,13 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization { /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// @@ -328,7 +328,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization while (m > 0) { - // Quit if all the singular values have been found. If too many iterations have been performed, + // Quit if all the singular values have been found. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -645,7 +645,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization } /// - /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s + /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s /// associated with the Givens rotation that zeros the y-coordinate of the point. /// /// Provides the x-coordinate of the point p. On exit contains the parameter r associated with the Givens rotation @@ -758,7 +758,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization } /// - /// Performs rotation of points in the plane. Given two vectors x and y , + /// Performs rotation of points in the plane. Given two vectors x and y , /// each vector element of these vectors is replaced as follows: x(i) = c*x(i) + s*y(i); y(i) = c*y(i) - s*x(i) /// /// Source matrix diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs index 14d1f55f..5603bde4 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/BiCgStab.cs @@ -196,7 +196,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers residuals.Add(temp, vecS); // Check if we're converged. If so then stop. Otherwise continue; - // Calculate the temporary result. + // Calculate the temporary result. // Be careful not to change any of the temp vectors, except for // temp. Others will be used in the calculation later on. // x_i = x_(i-1) + alpha_i * p^_i + s^_i diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs index aace6acc..993f29ff 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs @@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers { /// /// A composite matrix solver. The actual solver is made by a sequence of - /// matrix solvers. + /// matrix solvers. /// /// /// @@ -114,9 +114,9 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers } catch (Exception) { - // The solver broke down. + // The solver broke down. // Log a message about this - // Switch to the next preconditioner. + // Switch to the next preconditioner. // Reset the solution vector to the previous solution input.CopyTo(internalInput); continue; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs b/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs index 4dd12916..9c17f1b0 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/GpBiCg.cs @@ -38,16 +38,16 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// /// /// - /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an + /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an /// alternative version of the Bi-Conjugate Gradient stabilized (CG) solver. - /// Unlike the CG solver the GPBiCG solver can be used on + /// Unlike the CG solver the GPBiCG solver can be used on /// non-symmetric matrices.
/// Note that much of the success of the solver depends on the selection of the /// proper preconditioner. ///
/// /// The GPBiCG algorithm was taken from:
- /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with + /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with /// efficiency and robustness ///
/// S. Fujino @@ -63,13 +63,13 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers public sealed class GpBiCg : IIterativeSolver { /// - /// Indicates the number of BiCGStab steps should be taken + /// Indicates the number of BiCGStab steps should be taken /// before switching. /// int _numberOfBiCgStabSteps = 1; /// - /// Indicates the number of GPBiCG steps should be taken + /// Indicates the number of GPBiCG steps should be taken /// before switching. /// int _numberOfGpbiCgSteps = 4; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/ILU0Preconditioner.cs b/src/Numerics/LinearAlgebra/Double/Solvers/ILU0Preconditioner.cs index 93c2a8d5..c2a5de2f 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/ILU0Preconditioner.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/ILU0Preconditioner.cs @@ -184,7 +184,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers var rowValues = new DenseVector(_decompositionLU.RowCount); for (var i = 0; i < _decompositionLU.RowCount; i++) { - // Clear the rowValues + // Clear the rowValues rowValues.Clear(); _decompositionLU.Row(i, rowValues); diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs index 0c60cc06..4424b8ca 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/MlkBiCgStab.cs @@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// /// /// The Multiple-Lanczos Bi-Conjugate Gradient stabilized (ML(k)-BiCGStab) solver is an 'improvement' - /// of the standard BiCgStab solver. + /// of the standard BiCgStab solver. /// /// /// The algorithm was taken from:
@@ -81,7 +81,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// Gets or sets the number of starting vectors. /// /// - /// Must be larger than 1 and smaller than the number of variables in the matrix that + /// Must be larger than 1 and smaller than the number of variables in the matrix that /// for which this solver will be used. /// public int NumberOfStartingVectors @@ -113,7 +113,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers } /// - /// Gets or sets a series of orthonormal vectors which will be used as basis for the + /// Gets or sets a series of orthonormal vectors which will be used as basis for the /// Krylov sub-space. /// public IList> StartingVectors @@ -158,7 +158,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// /// An array with starting vectors. The array will never be larger than the /// but it may be smaller if - /// the is smaller than + /// the is smaller than /// the . /// static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables) @@ -285,7 +285,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers // We don't accept collections with zero starting vectors so ... if (_startingVectors.Count <= NumberOfStartingVectorsToCreate(_numberOfStartingVectors, input.Count)) { - // Only check the first vector for sizing. If that matches we assume the + // Only check the first vector for sizing. If that matches we assume the // other vectors match too. If they don't the process will crash if (_startingVectors[0].Count == input.Count) { diff --git a/src/Numerics/LinearAlgebra/Factorization/Evd.cs b/src/Numerics/LinearAlgebra/Factorization/Evd.cs index ca04a2a7..7c50de85 100644 --- a/src/Numerics/LinearAlgebra/Factorization/Evd.cs +++ b/src/Numerics/LinearAlgebra/Factorization/Evd.cs @@ -90,7 +90,7 @@ namespace MathNet.Numerics.LinearAlgebra.Factorization /// Gets or sets the eigen values (λ) of matrix in ascending value. /// public Vector EigenValues { get; private set; } - + /// /// Gets or sets eigenvectors. /// diff --git a/src/Numerics/LinearAlgebra/Factorization/LU.cs b/src/Numerics/LinearAlgebra/Factorization/LU.cs index cb5e5a18..5c0c0373 100644 --- a/src/Numerics/LinearAlgebra/Factorization/LU.cs +++ b/src/Numerics/LinearAlgebra/Factorization/LU.cs @@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Factorization /// A class which encapsulates the functionality of an LU factorization. /// For a matrix A, the LU factorization is a pair of lower triangular matrix L and /// upper triangular matrix U so that A = L*U. - /// In the Math.Net implementation we also store a set of pivot elements for increased + /// In the Math.Net implementation we also store a set of pivot elements for increased /// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U. /// /// diff --git a/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs b/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs index c63ce233..9f403286 100644 --- a/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs +++ b/src/Numerics/LinearAlgebra/Matrix.Arithmetic.cs @@ -1561,7 +1561,7 @@ namespace MathNet.Numerics.LinearAlgebra /// /// Helper function to apply a binary function which takes two matrices - /// and modifies the latter in place. A copy of the "this" matrix is + /// and modifies the latter in place. A copy of the "this" matrix is /// first made and then passed to f together with the other matrix. The /// copy is then returned as the result /// diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs b/src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs index 2e9762e6..29378a87 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs @@ -110,9 +110,9 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization /// Arrays for internal storage of real parts of eigenvalues /// Arrays for internal storage of imaginary parts of eigenvalues /// Order of initial matrix - /// This is derived from the Algol procedures tred2 by - /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures tred2 by + /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. internal static void SymmetricTridiagonalize(float[] a, float[] d, float[] e, int order) { @@ -362,7 +362,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs b/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs index 1eda2b38..8163a08c 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs @@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.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. @@ -102,7 +102,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization { var k1 = k; var j1 = j; - + var dot = 0.0f; for (var index = 0; index < rowsQ; index++) { diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs b/src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs index 223f941a..c6d17648 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs @@ -35,8 +35,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization { /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs b/src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs index f48cfff6..4aca1f94 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs @@ -34,13 +34,13 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization { /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/LU.cs b/src/Numerics/LinearAlgebra/Single/Factorization/LU.cs index 43a69728..341d4bda 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/LU.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/LU.cs @@ -35,7 +35,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization /// A class which encapsulates the functionality of an LU factorization. /// For a matrix A, the LU factorization is a pair of lower triangular matrix L and /// upper triangular matrix U so that A = L*U. - /// In the Math.Net implementation we also store a set of pivot elements for increased + /// In the Math.Net implementation we also store a set of pivot elements for increased /// numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U. /// /// diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/QR.cs b/src/Numerics/LinearAlgebra/Single/Factorization/QR.cs index b85b79d2..150da465 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/QR.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/QR.cs @@ -36,14 +36,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization /// /// A class which encapsulates the functionality of the QR decomposition. /// Any real square matrix A (m x n) may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// /// The computation of the QR decomposition is done at construction time by Householder transformation. - /// If a factorization is peformed, the resulting Q matrix is an m x m matrix - /// and the R matrix is an m x n matrix. If a factorization is performed, the - /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. + /// If a factorization is peformed, the resulting Q matrix is an m x m matrix + /// and the R matrix is an m x n matrix. If a factorization is performed, the + /// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix. /// internal abstract class QR : QR { diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs b/src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs index 38c7cc59..81c44fd7 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs @@ -145,9 +145,9 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization /// Arrays for internal storage of real parts of eigenvalues /// Arrays for internal storage of imaginary parts of eigenvalues /// Order of initial matrix - /// This is derived from the Algol procedures tred2 by - /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + /// This is derived from the Algol procedures tred2 by + /// Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + /// Auto. Comp., Vol.ii-Linear Algebra, and the corresponding /// Fortran subroutine in EISPACK. static void SymmetricTridiagonalize(Matrix eigenVectors, float[] d, float[] e, int order) { @@ -397,7 +397,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization e[l] = s*p; d[l] = c*p; - // Check for convergence. If too many iterations have been performed, + // Check for convergence. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs b/src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs index b44c71de..3031a8ec 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs @@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization internal sealed class UserGramSchmidt : 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. @@ -119,7 +119,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization } var inputCopy = input.Clone(); - + // Compute Y = transpose(Q)*B var column = new float[Q.RowCount]; for (var j = 0; j < input.ColumnCount; j++) diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs b/src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs index e74bad9a..243db111 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs @@ -37,8 +37,8 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization { /// /// A class which encapsulates the functionality of the QR decomposition. - /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix - /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix + /// Any real square matrix A may be decomposed as A = QR where Q is an orthogonal matrix + /// (its columns are orthogonal unit vectors meaning QTQ = I) and R is an upper triangular matrix /// (also called right triangular matrix). /// /// diff --git a/src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs b/src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs index 0327536a..e27cbb35 100644 --- a/src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs +++ b/src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs @@ -34,13 +34,13 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization { /// /// A class which encapsulates the functionality of the singular value decomposition (SVD) for . - /// Suppose M is an m-by-n matrix whose entries are real numbers. + /// Suppose M is an m-by-n matrix whose entries are real numbers. /// Then there exists a factorization of the form M = UΣVT where: /// - U is an m-by-m unitary matrix; /// - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - /// - VT denotes transpose of V, an n-by-n unitary matrix; - /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal - /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined + /// - VT denotes transpose of V, an n-by-n unitary matrix; + /// Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal + /// entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined /// by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M. /// /// @@ -328,7 +328,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization while (m > 0) { - // Quit if all the singular values have been found. If too many iterations have been performed, + // Quit if all the singular values have been found. If too many iterations have been performed, // throw exception that Convergence Failed if (iter >= maxiter) { @@ -645,7 +645,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization } /// - /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s + /// Given the Cartesian coordinates (da, db) of a point p, these fucntion return the parameters da, db, c, and s /// associated with the Givens rotation that zeros the y-coordinate of the point. /// /// Provides the x-coordinate of the point p. On exit contains the parameter r associated with the Givens rotation @@ -758,7 +758,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization } /// - /// Performs rotation of points in the plane. Given two vectors x and y , + /// Performs rotation of points in the plane. Given two vectors x and y , /// each vector element of these vectors is replaced as follows: x(i) = c*x(i) + s*y(i); y(i) = c*y(i) - s*x(i) /// /// Source matrix diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs index db1a0b2c..d954cc61 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/BiCgStab.cs @@ -196,7 +196,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers residuals.Add(temp, vecS); // Check if we're converged. If so then stop. Otherwise continue; - // Calculate the temporary result. + // Calculate the temporary result. // Be careful not to change any of the temp vectors, except for // temp. Others will be used in the calculation later on. // x_i = x_(i-1) + alpha_i * p^_i + s^_i diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs index bfc97c8b..65c5ea8e 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs @@ -37,7 +37,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers { /// /// A composite matrix solver. The actual solver is made by a sequence of - /// matrix solvers. + /// matrix solvers. /// /// /// @@ -114,9 +114,9 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers } catch (Exception) { - // The solver broke down. + // The solver broke down. // Log a message about this - // Switch to the next preconditioner. + // Switch to the next preconditioner. // Reset the solution vector to the previous solution input.CopyTo(internalInput); continue; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs b/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs index bafc5b0c..0096d6d9 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/GpBiCg.cs @@ -38,16 +38,16 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// /// /// - /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an + /// The Generalized Product Bi-Conjugate Gradient (GPBiCG) solver is an /// alternative version of the Bi-Conjugate Gradient stabilized (CG) solver. - /// Unlike the CG solver the GPBiCG solver can be used on + /// Unlike the CG solver the GPBiCG solver can be used on /// non-symmetric matrices.
/// Note that much of the success of the solver depends on the selection of the /// proper preconditioner. ///
/// /// The GPBiCG algorithm was taken from:
- /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with + /// GPBiCG(m,l): A hybrid of BiCGSTAB and GPBiCG methods with /// efficiency and robustness ///
/// S. Fujino @@ -63,13 +63,13 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers public sealed class GpBiCg : IIterativeSolver { /// - /// Indicates the number of BiCGStab steps should be taken + /// Indicates the number of BiCGStab steps should be taken /// before switching. /// int _numberOfBiCgStabSteps = 1; /// - /// Indicates the number of GPBiCG steps should be taken + /// Indicates the number of GPBiCG steps should be taken /// before switching. /// int _numberOfGpbiCgSteps = 4; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/ILU0Preconditioner.cs b/src/Numerics/LinearAlgebra/Single/Solvers/ILU0Preconditioner.cs index 9be19301..27a1c702 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/ILU0Preconditioner.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/ILU0Preconditioner.cs @@ -184,7 +184,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers var rowValues = new DenseVector(_decompositionLU.RowCount); for (var i = 0; i < _decompositionLU.RowCount; i++) { - // Clear the rowValues + // Clear the rowValues rowValues.Clear(); _decompositionLU.Row(i, rowValues); diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs b/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs index caf93fb4..f25672f6 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/MlkBiCgStab.cs @@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// /// /// The Multiple-Lanczos Bi-Conjugate Gradient stabilized (ML(k)-BiCGStab) solver is an 'improvement' - /// of the standard BiCgStab solver. + /// of the standard BiCgStab solver. /// /// /// The algorithm was taken from:
@@ -80,7 +80,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// Gets or sets the number of starting vectors. /// /// - /// Must be larger than 1 and smaller than the number of variables in the matrix that + /// Must be larger than 1 and smaller than the number of variables in the matrix that /// for which this solver will be used. /// public int NumberOfStartingVectors @@ -112,7 +112,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers } /// - /// Gets or sets a series of orthonormal vectors which will be used as basis for the + /// Gets or sets a series of orthonormal vectors which will be used as basis for the /// Krylov sub-space. /// public IList> StartingVectors @@ -157,7 +157,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// /// An array with starting vectors. The array will never be larger than the /// but it may be smaller if - /// the is smaller than + /// the is smaller than /// the . /// static IList> CreateStartingVectors(int maximumNumberOfStartingVectors, int numberOfVariables) @@ -288,7 +288,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers // We don't accept collections with zero starting vectors so ... if (_startingVectors.Count <= NumberOfStartingVectorsToCreate(_numberOfStartingVectors, input.Count)) { - // Only check the first vector for sizing. If that matches we assume the + // Only check the first vector for sizing. If that matches we assume the // other vectors match too. If they don't the process will crash if (_startingVectors[0].Count == input.Count) { diff --git a/src/Numerics/LinearAlgebra/Solvers/DelegateStopCriterion.cs b/src/Numerics/LinearAlgebra/Solvers/DelegateStopCriterion.cs index 409909be..73f650db 100644 --- a/src/Numerics/LinearAlgebra/Solvers/DelegateStopCriterion.cs +++ b/src/Numerics/LinearAlgebra/Solvers/DelegateStopCriterion.cs @@ -59,7 +59,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers /// The vector containing the current residual vectors. /// /// The individual stop criteria may internally track the progress of the calculation based - /// on the invocation of this method. Therefore this method should only be called if the + /// on the invocation of this method. Therefore this method should only be called if the /// calculation has moved forwards at least one step. /// public IterationStatus DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) diff --git a/src/Numerics/LinearAlgebra/Solvers/IIterativeSolverSetup.cs b/src/Numerics/LinearAlgebra/Solvers/IIterativeSolverSetup.cs index 44c4cf4c..c3925a67 100644 --- a/src/Numerics/LinearAlgebra/Solvers/IIterativeSolverSetup.cs +++ b/src/Numerics/LinearAlgebra/Solvers/IIterativeSolverSetup.cs @@ -33,7 +33,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers { /// /// Defines the interface for objects that can create an iterative solver with - /// specific settings. This interface is used to pass iterative solver creation + /// specific settings. This interface is used to pass iterative solver creation /// setup information around. /// public interface IIterativeSolverSetup where T : struct, IEquatable, IFormattable @@ -59,7 +59,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers IPreconditioner CreatePreconditioner(); /// - /// Gets the relative speed of the solver. + /// Gets the relative speed of the solver. /// /// Returns a value between 0 and 1, inclusive. double SolutionSpeed { get; } diff --git a/src/Numerics/LinearAlgebra/Solvers/IPreconditioner.cs b/src/Numerics/LinearAlgebra/Solvers/IPreconditioner.cs index c41772e8..64f80df5 100644 --- a/src/Numerics/LinearAlgebra/Solvers/IPreconditioner.cs +++ b/src/Numerics/LinearAlgebra/Solvers/IPreconditioner.cs @@ -39,9 +39,9 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers /// Preconditioners are used by iterative solvers to improve the convergence /// speed of the solving process. Increase in convergence speed /// is related to the number of iterations necessary to get a converged solution. - /// So while in general the use of a preconditioner means that the iterative + /// So while in general the use of a preconditioner means that the iterative /// solver will perform fewer iterations it does not guarantee that the actual - /// solution time decreases given that some preconditioners can be expensive to + /// solution time decreases given that some preconditioners can be expensive to /// setup and run. ///
/// diff --git a/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterion.cs b/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterion.cs index c0f48bc1..c27b05e1 100644 --- a/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterion.cs +++ b/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterion.cs @@ -33,7 +33,7 @@ using System.Diagnostics; namespace MathNet.Numerics.LinearAlgebra.Solvers { /// - /// Defines an that monitors the numbers of iteration + /// Defines an that monitors the numbers of iteration /// steps as stop criterion. /// public sealed class IterationCountStopCriterion : IIterationStopCriterion where T : struct, IEquatable, IFormattable @@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers IterationStatus _status = IterationStatus.Continue; /// - /// Initializes a new instance of the class with the default maximum + /// Initializes a new instance of the class with the default maximum /// number of iterations. /// public IterationCountStopCriterion() : this(DefaultMaximumNumberOfIterations) @@ -116,7 +116,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers /// The vector containing the current residual vectors. /// /// The individual stop criteria may internally track the progress of the calculation based - /// on the invocation of this method. Therefore this method should only be called if the + /// on the invocation of this method. Therefore this method should only be called if the /// calculation has moved forwards at least one step. /// public IterationStatus DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) diff --git a/src/Numerics/LinearAlgebra/Vector.Arithmetic.cs b/src/Numerics/LinearAlgebra/Vector.Arithmetic.cs index 95774131..cbb9bc03 100644 --- a/src/Numerics/LinearAlgebra/Vector.Arithmetic.cs +++ b/src/Numerics/LinearAlgebra/Vector.Arithmetic.cs @@ -236,7 +236,7 @@ namespace MathNet.Numerics.LinearAlgebra protected abstract void DoPointwiseAbs(Vector result); protected abstract void DoPointwiseAcos(Vector result); protected abstract void DoPointwiseAsin(Vector result); - protected abstract void DoPointwiseAtan(Vector result); + protected abstract void DoPointwiseAtan(Vector result); protected abstract void DoPointwiseCeiling(Vector result); protected abstract void DoPointwiseCos(Vector result); protected abstract void DoPointwiseCosh(Vector result); @@ -1008,8 +1008,8 @@ namespace MathNet.Numerics.LinearAlgebra /// /// Helper function to apply a binary function which takes a scalar and - /// a vector and modifies the latter in place. A copy of the "this" - /// vector is therefore first made and then passed to f together with + /// a vector and modifies the latter in place. A copy of the "this" + /// vector is therefore first made and then passed to f together with /// the scalar argument. The copy is then returned as the result /// /// Function which takes a scalar and a vector, modifies the vector in place and returns void @@ -1040,7 +1040,7 @@ namespace MathNet.Numerics.LinearAlgebra /// /// Helper function to apply a binary function which takes two vectors - /// and modifies the latter in place. A copy of the "this" vector is + /// and modifies the latter in place. A copy of the "this" vector is /// first made and then passed to f together with the other vector. The /// copy is then returned as the result ///