f77_unmrq Interface

public interface f77_unmrq

Generic old style interface for UNMRQ. Supports c, z. See also: mfi_unmrq, cunmrq, zunmrq.


Subroutines

public pure subroutine cunmrq(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info)

Original interface for CUNMRQ See also: mfi_unmrq, f77_unmrq. This routine overwrites the general complex matrix 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 elementary reflectors

as returned by cgerqf. is of order if SIDE = 'L' and of order if SIDE = 'R'.

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: trans
integer, intent(in) :: m
integer, intent(in) :: n
integer, intent(in) :: k
complex(kind=REAL32), intent(inout) :: a(lda,*)
integer, intent(in) :: lda
complex(kind=REAL32), intent(in) :: tau(*)
complex(kind=REAL32), intent(inout) :: c(ldc,*)
integer, intent(in) :: ldc
complex(kind=REAL32), intent(out) :: work(*)
integer, intent(in) :: lwork
integer, intent(out) :: info

public pure subroutine zunmrq(side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info)

Original interface for ZUNMRQ See also: mfi_unmrq, f77_unmrq. This routine overwrites the general complex matrix 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 elementary reflectors

as returned by zgerqf. is of order if SIDE = 'L' and of order if SIDE = 'R'.

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: trans
integer, intent(in) :: m
integer, intent(in) :: n
integer, intent(in) :: k
complex(kind=REAL64), intent(inout) :: a(lda,*)
integer, intent(in) :: lda
complex(kind=REAL64), intent(in) :: tau(*)
complex(kind=REAL64), intent(inout) :: c(ldc,*)
integer, intent(in) :: ldc
complex(kind=REAL64), intent(out) :: work(*)
integer, intent(in) :: lwork
integer, intent(out) :: info