Browse Source

LA: Internalizing matrix factorization implementations

optimization-1
Christoph Ruegg 13 years ago
parent
commit
addce1e73d
  1. 4
      src/Numerics/LinearAlgebra/Complex/Factorization/Cholesky.cs
  2. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseCholesky.cs
  3. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs
  4. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs
  5. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseLU.cs
  6. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs
  7. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs
  8. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/Evd.cs
  9. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/GramSchmidt.cs
  10. 5
      src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs
  11. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs
  12. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/Svd.cs
  13. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/UserCholesky.cs
  14. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs
  15. 2
      src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs
  16. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/UserLU.cs
  17. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs
  18. 3
      src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs
  19. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/Cholesky.cs
  20. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseCholesky.cs
  21. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs
  22. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs
  23. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseLU.cs
  24. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs
  25. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs
  26. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/Evd.cs
  27. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/GramSchmidt.cs
  28. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs
  29. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs
  30. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/Svd.cs
  31. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserCholesky.cs
  32. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs
  33. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs
  34. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserLU.cs
  35. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs
  36. 2
      src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs
  37. 2
      src/Numerics/LinearAlgebra/Double/Factorization/Cholesky.cs
  38. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseCholesky.cs
  39. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs
  40. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs
  41. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseLU.cs
  42. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs
  43. 2
      src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs
  44. 2
      src/Numerics/LinearAlgebra/Double/Factorization/Evd.cs
  45. 2
      src/Numerics/LinearAlgebra/Double/Factorization/GramSchmidt.cs
  46. 2
      src/Numerics/LinearAlgebra/Double/Factorization/LU.cs
  47. 2
      src/Numerics/LinearAlgebra/Double/Factorization/QR.cs
  48. 2
      src/Numerics/LinearAlgebra/Double/Factorization/Svd.cs
  49. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserCholesky.cs
  50. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs
  51. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs
  52. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserLU.cs
  53. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs
  54. 2
      src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs
  55. 2
      src/Numerics/LinearAlgebra/Single/Factorization/Cholesky.cs
  56. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseCholesky.cs
  57. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs
  58. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs
  59. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseLU.cs
  60. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs
  61. 2
      src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs
  62. 2
      src/Numerics/LinearAlgebra/Single/Factorization/Evd.cs
  63. 2
      src/Numerics/LinearAlgebra/Single/Factorization/GramSchmidt.cs
  64. 2
      src/Numerics/LinearAlgebra/Single/Factorization/LU.cs
  65. 2
      src/Numerics/LinearAlgebra/Single/Factorization/QR.cs
  66. 2
      src/Numerics/LinearAlgebra/Single/Factorization/Svd.cs
  67. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserCholesky.cs
  68. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs
  69. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs
  70. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserLU.cs
  71. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs
  72. 2
      src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs

4
src/Numerics/LinearAlgebra/Complex/Factorization/Cholesky.cs

@ -32,11 +32,11 @@ using MathNet.Numerics.LinearAlgebra.Factorization;
namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
{
#if NOSYSNUMERICS
using Complex = Numerics.Complex;
#else
using Complex = System.Numerics.Complex;
#endif
/// <summary>
@ -48,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public abstract class Cholesky : Cholesky<Complex>
internal abstract class Cholesky : Cholesky<Complex>
{
protected Cholesky(Matrix<Complex> factor)
: base(factor)

3
src/Numerics/LinearAlgebra/Complex/Factorization/DenseCholesky.cs

@ -38,7 +38,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -50,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class DenseCholesky : Cholesky
internal sealed class DenseCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex/Factorization/DenseEvd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class DenseEvd : Evd
internal sealed class DenseEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex/Factorization/DenseGramSchmidt.cs

@ -48,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class DenseGramSchmidt : GramSchmidt
internal sealed class DenseGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseGramSchmidt"/> class. This object creates an unitary matrix

3
src/Numerics/LinearAlgebra/Complex/Factorization/DenseLU.cs

@ -38,7 +38,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -49,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class DenseLU : LU
internal sealed class DenseLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseLU"/> class. This object will compute the

3
src/Numerics/LinearAlgebra/Complex/Factorization/DenseQR.cs

@ -39,7 +39,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -51,7 +50,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class DenseQR : QR
internal sealed class DenseQR : QR
{
/// <summary>
/// Gets or sets Tau vector. Contains additional information on Q - used for native solver.

2
src/Numerics/LinearAlgebra/Complex/Factorization/DenseSvd.cs

@ -54,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class DenseSvd : Svd
internal sealed class DenseSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex/Factorization/Evd.cs

@ -54,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public abstract class Evd : Evd<Complex>
internal abstract class Evd : Evd<Complex>
{
protected Evd(Matrix<Complex> eigenVectors, Vector<Complex> eigenValues, Matrix<Complex> blockDiagonal, bool isSymmetric)
: base(eigenVectors, eigenValues, blockDiagonal, isSymmetric)

2
src/Numerics/LinearAlgebra/Complex/Factorization/GramSchmidt.cs

@ -48,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public abstract class GramSchmidt : GramSchmidt<Complex>
internal abstract class GramSchmidt : GramSchmidt<Complex>
{
protected GramSchmidt(Matrix<Complex> q, Matrix<Complex> rFull)
: base(q, rFull)

5
src/Numerics/LinearAlgebra/Complex/Factorization/LU.cs

@ -32,7 +32,8 @@ using MathNet.Numerics.LinearAlgebra.Factorization;
namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
{
#if NOSYSNUMERICS
#if NOSYSNUMERICS
using Complex = Numerics.Complex;
#else
using Complex = System.Numerics.Complex;
@ -48,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public abstract class LU : LU<Complex>
internal abstract class LU : LU<Complex>
{
protected LU(Matrix<Complex> factors, int[] pivots)
: base(factors, pivots)

3
src/Numerics/LinearAlgebra/Complex/Factorization/QR.cs

@ -39,7 +39,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Complex = Numerics.Complex;
#else
using Complex = System.Numerics.Complex;
#endif
/// <summary>
@ -54,7 +53,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// and the R matrix is an m x n matrix. If a <seealso cref="QRMethod.Thin"/> factorization is performed, the
/// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix.
/// </remarks>
public abstract class QR : QR<Complex>
internal abstract class QR : QR<Complex>
{
protected QR(Matrix<Complex> q, Matrix<Complex> rFull, QRMethod method)
: base(q, rFull, method)

2
src/Numerics/LinearAlgebra/Complex/Factorization/Svd.cs

@ -56,7 +56,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public abstract class Svd : Svd<Complex>
internal abstract class Svd : Svd<Complex>
{
protected Svd(Vector<Complex> s, Matrix<Complex> u, Matrix<Complex> vt, bool vectorsComputed)
: base(s, u, vt, vectorsComputed)

3
src/Numerics/LinearAlgebra/Complex/Factorization/UserCholesky.cs

@ -39,7 +39,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -51,7 +50,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class UserCholesky : Cholesky
internal sealed class UserCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="UserCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex/Factorization/UserEvd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class UserEvd : Evd
internal sealed class UserEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex/Factorization/UserGramSchmidt.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class UserGramSchmidt : GramSchmidt
internal sealed class UserGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="UserGramSchmidt"/> class. This object creates an unitary matrix

3
src/Numerics/LinearAlgebra/Complex/Factorization/UserLU.cs

@ -38,7 +38,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -49,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class UserLU : LU
internal sealed class UserLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="UserLU"/> class. This object will compute the

3
src/Numerics/LinearAlgebra/Complex/Factorization/UserQR.cs

@ -41,7 +41,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -53,7 +52,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class UserQR : QR
internal sealed class UserQR : QR
{
/// <summary>
/// Initializes a new instance of the <see cref="UserQR"/> class. This object will compute the

3
src/Numerics/LinearAlgebra/Complex/Factorization/UserSvd.cs

@ -38,7 +38,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
using Numerics;
#else
using System.Numerics;
#endif
/// <summary>
@ -55,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class UserSvd : Svd
internal sealed class UserSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/Cholesky.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public abstract class Cholesky : Cholesky<Complex32>
internal abstract class Cholesky : Cholesky<Complex32>
{
protected Cholesky(Matrix<Complex32> factor)
: base(factor)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseCholesky.cs

@ -44,7 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class DenseCholesky : Cholesky
internal sealed class DenseCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseEvd.cs

@ -56,7 +56,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class DenseEvd : Evd
internal sealed class DenseEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseGramSchmidt.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class DenseGramSchmidt : GramSchmidt
internal sealed class DenseGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseGramSchmidt"/> class. This object creates an unitary matrix

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseLU.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class DenseLU : LU
internal sealed class DenseLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseQR.cs

@ -45,7 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class DenseQR : QR
internal sealed class DenseQR : QR
{
/// <summary>
/// Gets or sets Tau vector. Contains additional information on Q - used for native solver.

2
src/Numerics/LinearAlgebra/Complex32/Factorization/DenseSvd.cs

@ -49,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class DenseSvd : Svd
internal sealed class DenseSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/Evd.cs

@ -56,7 +56,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public abstract class Evd : Evd<Complex32>
internal abstract class Evd : Evd<Complex32>
{
protected Evd(Matrix<Complex32> eigenVectors, Vector<Complex> eigenValues, Matrix<Complex32> blockDiagonal, bool isSymmetric)
: base(eigenVectors, eigenValues, blockDiagonal, isSymmetric)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/GramSchmidt.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public abstract class GramSchmidt : GramSchmidt<Complex32>
internal abstract class GramSchmidt : GramSchmidt<Complex32>
{
protected GramSchmidt(Matrix<Complex32> q, Matrix<Complex32> rFull)
: base(q, rFull)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/LU.cs

@ -44,7 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public abstract class LU : LU<Complex32>
internal abstract class LU : LU<Complex32>
{
protected LU(Matrix<Complex32> factors, int[] pivots)
: base(factors, pivots)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/QR.cs

@ -48,7 +48,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// and the R matrix is an m x n matrix. If a <seealso cref="QRMethod.Thin"/> factorization is performed, the
/// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix.
/// </remarks>
public abstract class QR : QR<Complex32>
internal abstract class QR : QR<Complex32>
{
protected QR(Matrix<Complex32> q, Matrix<Complex32> rFull, QRMethod method)
: base(q, rFull, method)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/Svd.cs

@ -51,7 +51,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public abstract class Svd : Svd<Complex32>
internal abstract class Svd : Svd<Complex32>
{
protected Svd(Vector<Complex32> s, Matrix<Complex32> u, Matrix<Complex32> vt, bool vectorsComputed)
: base(s, u, vt, vectorsComputed)

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserCholesky.cs

@ -45,7 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class UserCholesky : Cholesky
internal sealed class UserCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="UserCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserEvd.cs

@ -54,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class UserEvd : Evd
internal sealed class UserEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserGramSchmidt.cs

@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class UserGramSchmidt : GramSchmidt
internal sealed class UserGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="UserGramSchmidt"/> class. This object creates an unitary matrix

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserLU.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class UserLU : LU
internal sealed class UserLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="UserLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserQR.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class UserQR : QR
internal sealed class UserQR : QR
{
/// <summary>
/// Initializes a new instance of the <see cref="UserQR"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Complex32/Factorization/UserSvd.cs

@ -49,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class UserSvd : Svd
internal sealed class UserSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/Cholesky.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public abstract class Cholesky : Cholesky<double>
internal abstract class Cholesky : Cholesky<double>
{
protected Cholesky(Matrix<double> factor)
: base(factor)

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseCholesky.cs

@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class DenseCholesky : Cholesky
internal sealed class DenseCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseEvd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class DenseEvd : Evd
internal sealed class DenseEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseGramSchmidt.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class DenseGramSchmidt : GramSchmidt
internal sealed class DenseGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseGramSchmidt"/> class. This object creates an orthogonal matrix

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseLU.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class DenseLU : LU
internal sealed class DenseLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseQR.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class DenseQR : QR
internal sealed class DenseQR : QR
{
/// <summary>
/// Gets or sets Tau vector. Contains additional information on Q - used for native solver.

2
src/Numerics/LinearAlgebra/Double/Factorization/DenseSvd.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class DenseSvd : Svd
internal sealed class DenseSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/Evd.cs

@ -54,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public abstract class Evd : Evd<double>
internal abstract class Evd : Evd<double>
{
protected Evd(Matrix<double> eigenVectors, Vector<Complex> eigenValues, Matrix<double> blockDiagonal, bool isSymmetric)
: base(eigenVectors, eigenValues, blockDiagonal, isSymmetric)

2
src/Numerics/LinearAlgebra/Double/Factorization/GramSchmidt.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public abstract class GramSchmidt : GramSchmidt<double>
internal abstract class GramSchmidt : GramSchmidt<double>
{
protected GramSchmidt(Matrix<double> q, Matrix<double> rFull)
: base(q,rFull)

2
src/Numerics/LinearAlgebra/Double/Factorization/LU.cs

@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public abstract class LU : LU<double>
internal abstract class LU : LU<double>
{
protected LU(Matrix<double> factors, int[] pivots)
: base(factors, pivots)

2
src/Numerics/LinearAlgebra/Double/Factorization/QR.cs

@ -46,7 +46,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// and the R matrix is an m x n matrix. If a <seealso cref="QRMethod.Thin"/> factorization is performed, the
/// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix.
/// </remarks>
public abstract class QR : QR<double>
internal abstract class QR : QR<double>
{
protected QR(Matrix<double> q, Matrix<double> rFull, QRMethod method)
: base(q, rFull, method)

2
src/Numerics/LinearAlgebra/Double/Factorization/Svd.cs

@ -49,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public abstract class Svd : Svd<double>
internal abstract class Svd : Svd<double>
{
protected Svd(Vector<double> s, Matrix<double> u, Matrix<double> vt, bool vectorsComputed)
: base(s, u, vt, vectorsComputed)

2
src/Numerics/LinearAlgebra/Double/Factorization/UserCholesky.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class UserCholesky : Cholesky
internal sealed class UserCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="UserCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/UserEvd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class UserEvd : Evd
internal sealed class UserEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/UserGramSchmidt.cs

@ -40,7 +40,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class UserGramSchmidt : GramSchmidt
internal sealed class UserGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="UserGramSchmidt"/> class. This object creates an orthogonal matrix

2
src/Numerics/LinearAlgebra/Double/Factorization/UserLU.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class UserLU : LU
internal sealed class UserLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="UserLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/UserQR.cs

@ -45,7 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class UserQR : QR
internal sealed class UserQR : QR
{
/// <summary>
/// Initializes a new instance of the <see cref="UserQR"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Double/Factorization/UserSvd.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class UserSvd : Svd
internal sealed class UserSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/Cholesky.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public abstract class Cholesky : Cholesky<float>
internal abstract class Cholesky : Cholesky<float>
{
protected Cholesky(Matrix<float> factor)
: base(factor)

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseCholesky.cs

@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class DenseCholesky : Cholesky
internal sealed class DenseCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseEvd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class DenseEvd : Evd
internal sealed class DenseEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseGramSchmidt.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class DenseGramSchmidt : GramSchmidt
internal sealed class DenseGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseGramSchmidt"/> class. This object creates an orthogonal matrix

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseLU.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class DenseLU : LU
internal sealed class DenseLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseQR.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class DenseQR : QR
internal sealed class DenseQR : QR
{
/// <summary>
/// Gets or sets Tau vector. Contains additional information on Q - used for native solver.

2
src/Numerics/LinearAlgebra/Single/Factorization/DenseSvd.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class DenseSvd : Svd
internal sealed class DenseSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="DenseSvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/Evd.cs

@ -55,7 +55,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public abstract class Evd : Evd<float>
internal abstract class Evd : Evd<float>
{
protected Evd(Matrix<float> eigenVectors, Vector<Complex> eigenValues, Matrix<float> blockDiagonal, bool isSymmetric)
: base(eigenVectors, eigenValues, blockDiagonal, isSymmetric)

2
src/Numerics/LinearAlgebra/Single/Factorization/GramSchmidt.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public abstract class GramSchmidt : GramSchmidt<float>
internal abstract class GramSchmidt : GramSchmidt<float>
{
protected GramSchmidt(Matrix<float> q, Matrix<float> rFull)
: base(q, rFull)

2
src/Numerics/LinearAlgebra/Single/Factorization/LU.cs

@ -42,7 +42,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public abstract class LU : LU<float>
internal abstract class LU : LU<float>
{
protected LU(Matrix<float> factors, int[] pivots)
: base(factors, pivots)

2
src/Numerics/LinearAlgebra/Single/Factorization/QR.cs

@ -46,7 +46,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// and the R matrix is an m x n matrix. If a <seealso cref="QRMethod.Thin"/> factorization is performed, the
/// resulting Q matrix is an m x n matrix and the R matrix is an n x n matrix.
/// </remarks>
public abstract class QR : QR<float>
internal abstract class QR : QR<float>
{
protected QR(Matrix<float> q, Matrix<float> rFull, QRMethod method)
: base(q, rFull, method)

2
src/Numerics/LinearAlgebra/Single/Factorization/Svd.cs

@ -49,7 +49,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public abstract class Svd : Svd<float>
internal abstract class Svd : Svd<float>
{
protected Svd(Vector<float> s, Matrix<float> u, Matrix<float> vt, bool vectorsComputed)
: base(s, u, vt, vectorsComputed)

2
src/Numerics/LinearAlgebra/Single/Factorization/UserCholesky.cs

@ -43,7 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric
/// or positive definite, the constructor will throw an exception.
/// </remarks>
public sealed class UserCholesky : Cholesky
internal sealed class UserCholesky : Cholesky
{
/// <summary>
/// Initializes a new instance of the <see cref="UserCholesky"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/UserEvd.cs

@ -54,7 +54,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// conditioned, or even singular, so the validity of the equation
/// A = V*D*Inverse(V) depends upon V.Condition().
/// </remarks>
public sealed class UserEvd : Evd
internal sealed class UserEvd : Evd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserEvd"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/UserGramSchmidt.cs

@ -40,7 +40,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by modified Gram-Schmidt Orthogonalization.
/// </remarks>
public sealed class UserGramSchmidt : GramSchmidt
internal sealed class UserGramSchmidt : GramSchmidt
{
/// <summary>
/// Initializes a new instance of the <see cref="UserGramSchmidt"/> class. This object creates an orthogonal matrix

2
src/Numerics/LinearAlgebra/Single/Factorization/UserLU.cs

@ -41,7 +41,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the LU factorization is done at construction time.
/// </remarks>
public sealed class UserLU : LU
internal sealed class UserLU : LU
{
/// <summary>
/// Initializes a new instance of the <see cref="UserLU"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/UserQR.cs

@ -45,7 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the QR decomposition is done at construction time by Householder transformation.
/// </remarks>
public sealed class UserQR : QR
internal sealed class UserQR : QR
{
/// <summary>
/// Initializes a new instance of the <see cref="UserQR"/> class. This object will compute the

2
src/Numerics/LinearAlgebra/Single/Factorization/UserSvd.cs

@ -47,7 +47,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Factorization
/// <remarks>
/// The computation of the singular value decomposition is done at construction time.
/// </remarks>
public sealed class UserSvd : Svd
internal sealed class UserSvd : Svd
{
/// <summary>
/// Initializes a new instance of the <see cref="UserSvd"/> class. This object will compute the

Loading…
Cancel
Save