DragonFly On-Line Manual Pages
CLAREF(l) ) CLAREF(l)
NAME
CLAREF - applie one or several Householder reflectors of size 3 to one
or two matrices (if column is specified) on either their rows or
columns
SYNOPSIS
SUBROUTINE CLAREF( TYPE, A, LDA, WANTZ, Z, LDZ, BLOCK, IROW1, ICOL1,
ISTART, ISTOP, ITMP1, ITMP2, LILOZ, LIHIZ, VECS, V2,
V3, T1, T2, T3 )
LOGICAL BLOCK, WANTZ
CHARACTER TYPE
INTEGER ICOL1, IROW1, ISTART, ISTOP, ITMP1, ITMP2, LDA, LDZ, LIHIZ,
LILOZ
COMPLEX T1, T2, T3, V2, V3
COMPLEX A( LDA, * ), VECS( * ), Z( LDZ, * )
PURPOSE
CLAREF applies one or several Householder reflectors of size 3 to one
or two matrices (if column is specified) on either their rows or
columns.
ARGUMENTS
TYPE (global input) CHARACTER*1
If 'R': Apply reflectors to the rows of the matrix (apply from
left) Otherwise: Apply reflectors to the columns of the matrix
Unchanged on exit.
A (global input/output) COMPLEX array, (LDA,*)
On entry, the matrix to receive the reflections. The updated
matrix on exit.
LDA (local input) INTEGER
On entry, the leading dimension of A. Unchanged on exit.
WANTZ (global input) LOGICAL
If .TRUE., then apply any column reflections to Z as well. If
.FALSE., then do no additional work on Z.
Z (global input/output) COMPLEX array, (LDZ,*)
On entry, the second matrix to receive column reflections.
This is changed only if WANTZ is set.
LDZ (local input) INTEGER
On entry, the leading dimension of Z. Unchanged on exit.
BLOCK (global input) LOGICAL
If .TRUE., then apply several reflectors at once and read their
data from the VECS array. If .FALSE., apply the single
reflector given by V2, V3, T1, T2, and T3.
IROW1 (local input/output) INTEGER
On entry, the local row element of A. Undefined on output.
ICOL1 (local input/output) INTEGER
On entry, the local column element of A. Undefined on output.
ISTART (global input) INTEGER
Specifies the "number" of the first reflector. This is used as
an index into VECS if BLOCK is set. ISTART is ignored if BLOCK
is .FALSE..
ISTOP (global input) INTEGER
Specifies the "number" of the last reflector. This is used as
an index into VECS if BLOCK is set. ISTOP is ignored if BLOCK
is .FALSE..
ITMP1 (local input) INTEGER
Starting range into A. For rows, this is the local first
column. For columns, this is the local first row.
ITMP2 (local input) INTEGER
Ending range into A. For rows, this is the local last column.
For columns, this is the local last row.
LILOZ LIHIZ (local input) INTEGER These serve the same
purpose as ITMP1,ITMP2 but for Z when WANTZ is set.
VECS (global input) COMPLEX array of size 3*N (matrix size)
This holds the size 3 reflectors one after another and this is
only accessed when BLOCK is .TRUE.
V2 V3 T1 T2 T3 (global input/output) COMPLEX This holds
information on a single size 3 Householder reflector and is
read when BLOCK is .FALSE., and overwritten when BLOCK is
.TRUE.
FURTHER DETAILS
Implemented by: M. Fahey, May 28, 1999
ScaLAPACK version 1.7 13 August 2001 CLAREF(l)