From 0f41886fab824ee503a66ff13f33b50a63cf269b Mon Sep 17 00:00:00 2001 From: Marcus Cuda Date: Fri, 25 Sep 2009 19:57:00 +0800 Subject: [PATCH] corrected the length of the SVD work array documentation --- .../LinearAlgebra/ILinearAlgebraProvider.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs b/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs index 46c32cfd..1c40850a 100644 --- a/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs +++ b/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs @@ -392,10 +392,10 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra /// singular vectors. /// If is true, on exit VT contains the transposed /// right singular vectors. - /// The work array. The array must have a length of at least N, - /// but should be N*blocksize. The blocksize is machine dependent. Use - /// to determine the optimal size of the work array. On exit, work[0] contains the optimal - /// work size value. + /// The work array. For real matrices, the work array should be at least + /// Max(3*Min(M, N) + Max(M, N), 5*Min(M,N)). For complex matrices, 2*Min(M, N) + Max(M, N). + /// On exit, work[0] contains the optimal work size value. + /// /// This is equivalent to the GESVD LAPACK routine. void SingularValueDecomposition(bool computeVectors, double[] a, double[] s, double[] u, double[] vt, double[] work); @@ -419,10 +419,10 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra /// On exit VT contains the transposed right singular vectors. /// The B matrix. /// On exit, the solution matrix. - /// The work array. The array must have a length of at least N, - /// but should be N*blocksize. The blocksize is machine dependent. Use - /// to determine the optimal size of the work array. On exit, work[0] contains the optimal - /// work size value. + /// The work array. For real matrices, the work array should be at least + /// Max(3*Min(M, N) + Max(M, N), 5*Min(M,N)). For complex matrices, 2*Min(M, N) + Max(M, N). + /// On exit, work[0] contains the optimal work size value. + /// void SvdSolve(double[] a, double[] s, double[] u, double[] vt, double[] b, double[] x, double[] work); ///