dormrq man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

dormrq(3P)		    Sun Performance Library		    dormrq(3P)

NAME
       dormrq  - overwrite the general real M-by-N matrix C with Q*C or Q**T*C
       or C*Q**T or C*Q.

SYNOPSIS
       SUBROUTINE DORMRQ(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK,
	     LWORK, INFO)

       CHARACTER * 1 SIDE, TRANS
       INTEGER M, N, K, LDA, LDC, LWORK, INFO
       DOUBLE PRECISION A(LDA,*), TAU(*), C(LDC,*), WORK(*)

       SUBROUTINE DORMRQ_64(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK,
	     LWORK, INFO)

       CHARACTER * 1 SIDE, TRANS
       INTEGER*8 M, N, K, LDA, LDC, LWORK, INFO
       DOUBLE PRECISION A(LDA,*), TAU(*), C(LDC,*), WORK(*)

   F95 INTERFACE
       SUBROUTINE ORMRQ(SIDE, [TRANS], [M], [N], [K], A, [LDA], TAU, C, [LDC],
	      [WORK], [LWORK], [INFO])

       CHARACTER(LEN=1) :: SIDE, TRANS
       INTEGER :: M, N, K, LDA, LDC, LWORK, INFO
       REAL(8), DIMENSION(:) :: TAU, WORK
       REAL(8), DIMENSION(:,:) :: A, C

       SUBROUTINE ORMRQ_64(SIDE, [TRANS], [M], [N], [K], A, [LDA], TAU, C,
	      [LDC], [WORK], [LWORK], [INFO])

       CHARACTER(LEN=1) :: SIDE, TRANS
       INTEGER(8) :: M, N, K, LDA, LDC, LWORK, INFO
       REAL(8), DIMENSION(:) :: TAU, WORK
       REAL(8), DIMENSION(:,:) :: A, C

   C INTERFACE
       #include <sunperf.h>

       void dormrq(char side, char trans, int m, int n, int k, double *a,  int
		 lda, double *tau, double *c, int ldc, int *info);

       void  dormrq_64(char  side,  char trans, long m, long n, long k, double
		 *a, long lda, double *tau, double *c, long ldc, long *info);

PURPOSE
       dormrq overwrites the general real M-by-N matrix C with

		       SIDE = 'L'     SIDE = 'R'
       TRANS = 'N':	 Q * C		C * Q
       TRANS = 'T':	 Q**T * C	C * Q**T

       where Q is a real orthogonal matrix defined as the product of k elemen‐
       tary reflectors

	     Q = H(1) H(2) . . . H(k)

       as  returned by DGERQF. Q is of order M if SIDE = 'L' and of order N if
       SIDE = 'R'.

ARGUMENTS
       SIDE (input)
		 = 'L': apply Q or Q**T from the Left;
		 = 'R': apply Q or Q**T from the Right.

       TRANS (input)
		 = 'N':	 No transpose, apply Q;
		 = 'T':	 Transpose, apply Q**T.

		 TRANS is defaulted to 'N' for F95 INTERFACE.

       M (input) The number of rows of the matrix C. M >= 0.

       N (input) The number of columns of the matrix C. N >= 0.

       K (input) The number of elementary reflectors whose product defines the
		 matrix	 Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K
		 >= 0.

       A (input) (LDA,M) if SIDE = 'L', (LDA,N) if SIDE =  'R'	The  i-th  row
		 must  contain the vector which defines the elementary reflec‐
		 tor H(i), for i = 1,2,...,k, as returned  by  DGERQF  in  the
		 last  k  rows	of its array argument A.  A is modified by the
		 routine but restored on exit.

       LDA (input)
		 The leading dimension of the array A. LDA >= max(1,K).

       TAU (input)
		 TAU(i) must contain  the  scalar  factor  of  the  elementary
		 reflector H(i), as returned by DGERQF.

       C (input/output)
		 On  entry, the M-by-N matrix C.  On exit, C is overwritten by
		 Q*C or Q**T*C or C*Q**T or C*Q.

       LDC (input)
		 The leading dimension of the array C. LDC >= max(1,M).

       WORK (workspace)
		 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK (input)
		 The dimension of the array WORK.  If SIDE  =  'L',  LWORK  >=
		 max(1,N); if SIDE = 'R', LWORK >= max(1,M).  For optimum per‐
		 formance LWORK >= N*NB if SIDE = 'L', and LWORK  >=  M*NB  if
		 SIDE = 'R', where NB is the optimal blocksize.

		 If LWORK = -1, then a workspace query is assumed; the routine
		 only calculates the optimal size of the WORK  array,  returns
		 this value as the first entry of the WORK array, and no error
		 message related to LWORK is issued by XERBLA.

       INFO (output)
		 = 0:  successful exit
		 < 0:  if INFO = -i, the i-th argument had an illegal value

				  6 Mar 2009			    dormrq(3P)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net