From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001
From: Joe Hunkeler <jhunkeler@gmail.com>
Date: Tue, 11 Aug 2015 16:51:37 -0400
Subject: Repatch (from linux) of OSX IRAF

---
 math/slalib/doc/svd.hlp | 73 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 math/slalib/doc/svd.hlp

(limited to 'math/slalib/doc/svd.hlp')

diff --git a/math/slalib/doc/svd.hlp b/math/slalib/doc/svd.hlp
new file mode 100644
index 00000000..14b87c43
--- /dev/null
+++ b/math/slalib/doc/svd.hlp
@@ -0,0 +1,73 @@
+.help svd Jun99 "Slalib Package"
+.nf
+
+      SUBROUTINE slSVD (M, N, MP, NP, A, W, V, WORK, JSTAT)
+
+     - - - -
+      S V D
+     - - - -
+
+  Singular value decomposition  (double precision)
+
+  This routine expresses a given matrix A as the product of
+  three matrices U, W, V:
+
+     A = U x W x VT
+
+  Where:
+
+     A   is any M (rows) x N (columns) matrix, where M.GE.N
+     U   is an M x N column-orthogonal matrix
+     W   is an N x N diagonal matrix with W(I,I).GE.0
+     VT  is the transpose of an N x N orthogonal matrix
+
+     Note that M and N, above, are the LOGICAL dimensions of the
+     matrices and vectors concerned, which can be located in
+     arrays of larger PHYSICAL dimensions, given by MP and NP.
+
+  Given:
+     M,N    i         numbers of rows and columns in matrix A
+     MP,NP  i         physical dimensions of array containing matrix A
+     A      d(MP,NP)  array containing MxN matrix A
+
+  Returned:
+     A      d(MP,NP)  array containing MxN column-orthogonal matrix U
+     W      d(N)      NxN diagonal matrix W (diagonal elements only)
+     V      d(NP,NP)  array containing NxN orthogonal matrix V
+     WORK   d(N)      workspace
+     JSTAT  i         0 = OK, -1 = A wrong shape, >0 = index of W
+                      for which convergence failed.  See note 2, below.
+
+   Notes:
+
+   1)  V contains matrix V, not the transpose of matrix V.
+
+   2)  If the status JSTAT is greater than zero, this need not
+       necessarily be treated as a failure.  It means that, due to
+       chance properties of the matrix A, the QR transformation
+       phase of the routine did not fully converge in a predefined
+       number of iterations, something that very seldom occurs.
+       When this condition does arise, it is possible that the
+       elements of the diagonal matrix W have not been correctly
+       found.  However, in practice the results are likely to
+       be trustworthy.  Applications should report the condition
+       as a warning, but then proceed normally.
+
+  References:
+     The algorithm is an adaptation of the routine SVD in the EISPACK
+     library (Garbow et al 1977, EISPACK Guide Extension, Springer
+     Verlag), which is a FORTRAN 66 implementation of the Algol
+     routine SVD of Wilkinson & Reinsch 1971 (Handbook for Automatic
+     Computation, vol 2, ed Bauer et al, Springer Verlag).  These
+     references give full details of the algorithm used here.  A good
+     account of the use of SVD in least squares problems is given in
+     Numerical Recipes (Press et al 1986, Cambridge University Press),
+     which includes another variant of the EISPACK code.
+
+  P.T.Wallace   Starlink   22 December 1993
+
+  Copyright (C) 1995 Rutherford Appleton Laboratory
+  Copyright (C) 1995 Association of Universities for Research in Astronomy Inc.
+
+.fi
+.endhelp
-- 
cgit 

