Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dorgtr (3p)

Name

dorgtr - generate a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors of order N, as returned by DSYTRD

Synopsis

SUBROUTINE DORGTR(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

CHARACTER*1 UPLO
INTEGER N, LDA, LWORK, INFO
DOUBLE PRECISION A(LDA,*), TAU(*), WORK(*)

SUBROUTINE DORGTR_64(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

CHARACTER*1 UPLO
INTEGER*8 N, LDA, LWORK, INFO
DOUBLE PRECISION A(LDA,*), TAU(*), WORK(*)




F95 INTERFACE
SUBROUTINE ORGTR(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

CHARACTER(LEN=1) :: UPLO
INTEGER :: N, LDA, LWORK, INFO
REAL(8), DIMENSION(:) :: TAU, WORK
REAL(8), DIMENSION(:,:) :: A

SUBROUTINE ORGTR_64(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

CHARACTER(LEN=1) :: UPLO
INTEGER(8) :: N, LDA, LWORK, INFO
REAL(8), DIMENSION(:) :: TAU, WORK
REAL(8), DIMENSION(:,:) :: A




C INTERFACE
#include <sunperf.h>

void dorgtr(char uplo, int n, double *a,  int  lda,  double  *tau,  int
*info);

void  dorgtr_64(char  uplo,  long  n, double *a, long lda, double *tau,
long *info);

Description

Oracle Solaris Studio Performance Library                           dorgtr(3P)



NAME
       dorgtr  -  generate  a real orthogonal matrix Q which is defined as the
       product of n-1 elementary reflectors of order N, as returned by DSYTRD


SYNOPSIS
       SUBROUTINE DORGTR(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

       CHARACTER*1 UPLO
       INTEGER N, LDA, LWORK, INFO
       DOUBLE PRECISION A(LDA,*), TAU(*), WORK(*)

       SUBROUTINE DORGTR_64(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

       CHARACTER*1 UPLO
       INTEGER*8 N, LDA, LWORK, INFO
       DOUBLE PRECISION A(LDA,*), TAU(*), WORK(*)




   F95 INTERFACE
       SUBROUTINE ORGTR(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

       CHARACTER(LEN=1) :: UPLO
       INTEGER :: N, LDA, LWORK, INFO
       REAL(8), DIMENSION(:) :: TAU, WORK
       REAL(8), DIMENSION(:,:) :: A

       SUBROUTINE ORGTR_64(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)

       CHARACTER(LEN=1) :: UPLO
       INTEGER(8) :: N, LDA, LWORK, INFO
       REAL(8), DIMENSION(:) :: TAU, WORK
       REAL(8), DIMENSION(:,:) :: A




   C INTERFACE
       #include <sunperf.h>

       void dorgtr(char uplo, int n, double *a,  int  lda,  double  *tau,  int
                 *info);

       void  dorgtr_64(char  uplo,  long  n, double *a, long lda, double *tau,
                 long *info);



PURPOSE
       dorgtr generates a real orthogonal matrix Q which  is  defined  as  the
       product of n-1 elementary reflectors of order N, as returned by DSYTRD:

       if UPLO = 'U', Q = H(n-1) . . . H(2) H(1),

       if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).


ARGUMENTS
       UPLO (input)
                 = 'U': Upper triangle of  A  contains  elementary  reflectors
                 from  DSYTRD;  = 'L': Lower triangle of A contains elementary
                 reflectors from DSYTRD.


       N (input) The order of the matrix Q. N >= 0.


       A (input/output)
                 On entry, the vectors which define the elementary reflectors,
                 as returned by DSYTRD.  On exit, the N-by-N orthogonal matrix
                 Q.


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


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


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


       LWORK (input)
                 The  dimension  of  the array WORK. LWORK >= max(1,N-1).  For
                 optimum performance LWORK >= (N-1)*NB, where NB is the  opti-
                 mal 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




                                  7 Nov 2015                        dorgtr(3P)