dqrsl


NAME

dqrsl - (obsolete) solve the linear system Ax = b for a general matrix A, which has been QR- factored by SQRDC, and vectors b and x.


SYNOPSIS

  SUBROUTINE DQRSL( A, LDA, N, K, QRAUX, Y, QY, QTY, B, RESID, AB, 
 *      JOB, INFO)
  INTEGER LDA, N, K, JOB, INFO
  DOUBLE PRECISION A(LDA,*), QRAUX(*), Y(*), QY(*), QTY(*), B(*), RESID(*), AB(*)
 
  SUBROUTINE DQRSL_64( A, LDA, N, K, QRAUX, Y, QY, QTY, B, RESID, AB, 
 *      JOB, INFO)
  INTEGER*8 LDA, N, K, JOB, INFO
  DOUBLE PRECISION A(LDA,*), QRAUX(*), Y(*), QY(*), QTY(*), B(*), RESID(*), AB(*)
 

C INTERFACE

#include <sunperf.h>

void dqrsl(double *a, int lda, int n, int k, double *qraux, double *y, double *qy, double *qty, double *b, double *resid, double *ab, int job, int *info);

void dqrsl_64(double *a, long lda, long n, long k, double *qraux, double *y, double *qy, double *qty, double *b, double *resid, double *ab, long job, long *info);


ARGUMENTS

* A (input)
Part of the QR factorization of matrix A as computed by SQRDC.

* LDA (input)
Leading dimension of the array A as specified in a dimension or type statement. LDA >= max(1,N).

* N (input)
Number of rows in the matrix AK where AK is described below. N >= 0.

* K (input)
Number of columns in the matrix AK where AK is described below. K >= 0.

* QRAUX (input)
Auxiliary output from SQRDC.

* Y (input)
Vector to be manipulated by SQRSL.

* QY (output)
On exit, QY contains Q * Y if its computation has been requested in JOB; QY is not referenced if its computation is not requested.

* QTY (output)
On exit, QTY contains QT * Y if its computation has been requested in JOB; QTY is not referenced if its computation is not requested.

* B (input/output)
On entry, the right-hand side vector b. On exit, the solution vector x. B is not referenced if its computation is not requested.

* RESID (output)
On exit, RESID contains the least squares residual y - AK * b if its computation has been requested. RESID also is the orthogonal projection of y onto the orthogonal complement of the column space of AK. RESID is not referenced if its computation is not requested.

* AB (output)
On exit, AB contains the least squares approximation AK * b if its computation has been requested. AB is the orthogonal projection of y onto the column space of x. AB is not referenced if its computation is not requested.

* JOB (input)
Integer in the form abcde; determines which operation or operations the subroutine will perform:

        a <> 0  compute QY
        b, c, d, or e <> 0      compute QTY
        c <> 0  compute B
        d <> 0  compute RESID
        e <> 0  compute AB

* INFO (output)
On exit:

INFO = 0 Subroutine completed normally.

INFO < 0 Returns a value k if the computation of B has been requested and R is singular; the value of k is then the index of the first zero element of R. The matrix AK is constructed from the factored orthogonal matrix Q and upper triangular matrix R from SQRDC.