MA02AZ

Complex matrix (conjugate) transposition

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

  To (conjugate) transpose all or part of a two-dimensional complex
  matrix A into another matrix B.

Specification
      SUBROUTINE MA02AZ( TRANS, JOB, M, N, A, LDA, B, LDB )
C     .. Scalar Arguments ..
      CHARACTER          JOB, TRANS
      INTEGER            LDA, LDB, M, N
C     .. Array Arguments ..
      COMPLEX*16         A(LDA,*), B(LDB,*)

Arguments

Mode Parameters

  TRANS   CHARACTER*1
          Specifies if a transpose or conjugate transpose operation
          should be performed as follows:
          = 'T':  transpose operation;
          = 'C':  conjugate transpose operation.

  JOB     CHARACTER*1
          Specifies the part of the matrix A to be transposed into B
          as follows:
          = 'U': Upper triangular part;
          = 'L': Lower triangular part;
          Otherwise:  All of the matrix A.

Input/Output Parameters
  M      (input) INTEGER
         The number of rows of the matrix A.  M >= 0.

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

  A      (input) COMPLEX*16 array, dimension (LDA,N)
         The m-by-n matrix A.  If JOB = 'U', only the upper
         triangle or trapezoid is accessed; if JOB = 'L', only the
         lower triangle or trapezoid is accessed.

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

  B      (output) COMPLEX*16 array, dimension (LDB,M)
         B = A' in the locations specified by JOB, where ' denotes
         the transpose or conjugate transpose operation, as
         as specified by TRANS.

  LDB    INTEGER
         The leading dimension of the array B.  LDB >= max(1,N).

Further Comments
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index