cunmlq man page on OpenIndiana

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

cunmlq(3P)		    Sun Performance Library		    cunmlq(3P)

NAME
       cunmlq  -  overwrite  the  general  complex M-by-N matrix C with Q*C or
       Q**H*C or C*Q**H or C*Q.

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

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

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

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

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

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

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

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

   C INTERFACE
       #include <sunperf.h>

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

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

PURPOSE
       cunmlq overwrites the general complex M-by-N matrix C with

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

       where Q is a complex unitary matrix defined as the product of k elemen‐
       tary reflectors

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

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

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

       TRANS (input)
		 = 'N':	 No transpose, apply Q;
		 = 'C':	 Conjugate transpose, apply Q**H.

		 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 CGELQF in the
		 first 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 CGELQF.

       C (input/output)
		 On entry, the M-by-N matrix C.	 On exit, C is overwritten  by
		 Q*C or Q**H*C or C*Q**H 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			    cunmlq(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