·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/DQRSL (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
DQRSL(3F)							     DQRSL(3F)

```

### NAME[Toc][Back]

```     DQRSL   - DQRSL applies the output	of DQRDC to compute coordinate
transformations, projections, and least squares solutions.	 For K .LE.
MIN(N,P), let XK be the matrix

XK = (X(JPVT(1)),X(JPVT(2)), ... ,X(JPVT(K)))

formed from columnns JPVT(1), ... ,JPVT(K)	of the original	N X P matrix X
that was input to DQRDC (if no pivoting was done, XK consists of the
first K columns of	X in their original order).  DQRDC produces a factored
orthogonal	matrix Q and an	upper triangular matrix	R such that

XK = Q * (R)
(0)

This information is contained in coded form in the	arrays X and QRAUX.

```

### SYNOPSYS[Toc][Back]

```      SUBROUTINE DQRSL(X,LDX,N,K,QRAUX,Y,QY,QTY,B,RSD,XB,JOB,INFO)
```

### DESCRIPTION[Toc][Back]

```     On	Entry

X DOUBLE PRECISION(LDX,P).
X contains the output of DQRDC.

LDX INTEGER.
LDX is the leading dimension of	the array X.

N INTEGER.
N is the number	of rows	of the matrix XK.  It must
have the same value as N in DQRDC.

K INTEGER.
K is the number	of columns of the matrix XK.  K
must not be greater than MIN(N,P), where P is the
same as	in the calling sequence	to DQRDC.

QRAUX DOUBLE PRECISION(P).
QRAUX contains the auxiliary output from DQRDC.

Y DOUBLE PRECISION(N)
Y contains an N-vector that is to be manipulated
by DQRSL.

JOB INTEGER.
JOB specifies what is to be computed.  JOB has
the decimal expansion ABCDE, with the following
meaning.
If A .NE. 0, compute QY.
If B,C,D, or E .NE. 0, compute QTY.

Page 1

DQRSL(3F)							     DQRSL(3F)

If C .NE. 0, compute B.
If D .NE. 0, compute RSD.
If E .NE. 0, compute XB.
Note that a request to compute B, RSD, or XB
automatically triggers the computation of QTY, for
which an array must be provided	in the calling
sequence.  On Return

QY	DOUBLE PRECISION(N).
QY contains Q*Y, if its	computation has	been
requested.

QTY DOUBLE	PRECISION(N).
QTY contains TRANS(Q)*Y, if its	computation has
been requested.	 Here TRANS(Q) is the
transpose of the matrix	Q.

B DOUBLE PRECISION(K)
B contains the solution	of the least squares problem
minimize norm2(Y - XK*B),
if its computation has been requested.	(Note that
if pivoting was	requested in DQRDC, the	J-th
component of B will be associated with column JPVT(J)
of the original	matrix X that was input	into DQRDC.)

RSD DOUBLE	PRECISION(N).
RSD contains the least squares residual	Y - XK*B,
if its computation has been requested.	RSD is
also the orthogonal projection of Y onto the
orthogonal complement of the column space of XK.

XB	DOUBLE PRECISION(N).
XB contains the	least squares approximation XK*B,
if its computation has been requested.	XB is also
the orthogonal projection of Y onto the	column space
of X.

INFO INTEGER.
INFO is	zero unless the	computation of B has
been requested and R is	exactly	singular.  In
this case, INFO	is the index of	the first zero
diagonal element of R and B is left unaltered.	The parameters QY,
QTY, B, RSD, and XB are not referenced if their computation is not
requested and in this case	can be replaced	by dummy variables in the
calling program.  To save storage,	the user may in	some cases use the
same array	for different parameters in the	calling	sequence.  A
frequently	occuring example is when one wishes to compute any of B, RSD,
or	XB and does not	need Y or QTY.	In this	case one may identify Y, QTY,
and one of	B, RSD,	or XB, while providing separate	arrays for anything
else that is to be	computed.  Thus	the calling sequence CALL
DQRSL(X,LDX,N,K,QRAUX,Y,DUM,Y,B,Y,DUM,110,INFO) will result in the
computation of B and RSD, with RSD	overwriting Y.	More generally,	each

Page 2

DQRSL(3F)							     DQRSL(3F)

item in the following list	contains groups	of permissible identifications
for a single calling sequence.  1.	(Y,QTY,B) (RSD)	(XB) (QY) 2.
(Y,QTY,RSD) (B) (XB) (QY) 3. (Y,QTY,XB) (B) (RSD) (QY) 4. (Y,QY) (QTY,B)
(RSD) (XB)	5. (Y,QY) (QTY,RSD) (B)	(XB) 6.	(Y,QY) (QTY,XB)	(B) (RSD) In
any group the value returned in the array allocated to the	group
corresponds to the	last member of the group.  LINPACK.  This version
dated 08/14/78 .  G. W. Stewart, University of Maryland, Argonne National
Lab.

DQRSL uses	the following functions	and subprograms. BLAS DAXPY,DCOPY,DDOT
Fortran DABS,MIN0,MOD

PPPPaaaaggggeeee 3333```
[ Back ]
Similar pages