*DECK ORTHOL SUBROUTINE ORTHOL (A, M, N, NRDA, IFLAG, IRANK, ISCALE, DIAG, + KPIVOT, SCALES, COLS, CS) C***BEGIN PROLOGUE ORTHOL C***SUBSIDIARY C***PURPOSE Subsidiary to BVSUP C***LIBRARY SLATEC C***TYPE SINGLE PRECISION (ORTHOL-S) C***AUTHOR Watts, H. A., (SNLA) C***DESCRIPTION C C Reduction of the matrix A to upper triangular form by a sequence of C orthogonal HOUSEHOLDER transformations pre-multiplying A C C Modeled after the ALGOL codes in the articles in the REFERENCES C section. C C ********************************************************************** C INPUT C ********************************************************************** C C A -- Contains the matrix to be decomposed, must be dimensioned C NRDA by N C M -- Number of rows in the matrix, M greater or equal to N C N -- Number of columns in the matrix, N greater or equal to 1 C IFLAG -- Indicates the uncertainty in the matrix data C = 0 when the data is to be treated as exact C =-K when the data is assumed to be accurate to about C K digits C ISCALE -- Scaling indicator C =-1 if the matrix A is to be pre-scaled by C columns when appropriate. C Otherwise no scaling will be attempted C NRDA -- Row dimension of A, NRDA greater or equal to M C DIAG,KPIVOT,COLS -- Arrays of length at least n used internally C ,CS,SCALES C C ********************************************************************** C OUTPUT C ********************************************************************** C C IFLAG - Status indicator C =1 for successful decomposition C =2 if improper input is detected C =3 if rank of the matrix is less than N C A -- Contains the reduced matrix in the strictly upper triangular C part and transformation information in the lower part C IRANK -- Contains the numerically determined matrix rank C DIAG -- Contains the diagonal elements of the reduced C triangular matrix C KPIVOT -- Contains the pivotal information, the column C interchanges performed on the original matrix are C recorded here. C SCALES -- Contains the column scaling parameters C C ********************************************************************** C C***SEE ALSO BVSUP C***REFERENCES G. Golub, Numerical methods for solving linear least C squares problems, Numerische Mathematik 7, (1965), C pp. 206-216. C P. Businger and G. Golub, Linear least squares C solutions by Householder transformations, Numerische C Mathematik 7, (1965), pp. 269-276. C***ROUTINES CALLED CSCALE, R1MACH, SDOT, XERMSG C***REVISION HISTORY (YYMMDD) C 750601 DATE WRITTEN C 890531 Changed all specific intrinsics to generic. (WRB) C 890831 Modified array declarations. (WRB) C 891214 Prologue converted to Version 4.0 format. (BAB) C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ) C 900402 Added TYPE section. (WRB) C 910408 Updated the AUTHOR and REFERENCES sections. (WRB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE ORTHOL