|
|
| |
| # lines: |
278 | | # code: |
278 | | # comment: | 0 | |
# blank: | 0 |
| # Variables: | 36 |
| # Callers: | 1 |
| # Callings: | 0 |
| # Words: | 67 |
| # Keywords: | 54 |
|
|
|
|
|
..
.. Array Arguments ..
..
Purpose
=======
DLAREF 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) DOUBLE PRECISION 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) DOUBLE PRECISION 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) DOUBLE PRECISION 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) DOUBLE PRECISION
This holds information on a single size 3 Householder
reflector and is read when BLOCK is .FALSE., and
overwritten when BLOCK is .TRUE.
Implemented by: G. Henry, November 17, 1996
=====================================================================
.. Local Scalars ..
|
|
|
|
001 SUBROUTINE DLAREF( TYPE , A , LDA , WANTZ , Z , LDZ , BLOCK , IROW1 ,
002 $ICOL1 , ISTART , ISTOP , ITMP1 , ITMP2 , LILOZ ,
003 $LIHIZ , VECS , V2 , V3 , T1 , T2 , T3 )
004
005 * -- ScaLAPACK routine(version 1.7) --
006 * University of Tennessee , Knoxville , Oak Ridge National Laboratory ,
007 * and University of California , Berkeley.
008 * December 31 , 1998
009
010 * .. Scalar Arguments ..
011 LOGICAL BLOCK , WANTZ
012 CHARACTER TYPE
013 INTEGER ICOL1 , IROW1 , ISTART , ISTOP , ITMP1 , ITMP2 , LDA ,
014 $LDZ , LIHIZ , LILOZ
015 DOUBLE PRECISION T1 , T2 , T3 , V2 , V3
016 INTEGER J , K
017 DOUBLE PRECISION H11 , H22 , SUM , T12 , T13 , T22 , T23 , T32 , T33 ,
018 $V22 , V23 , V32 , V33
019 * ..
020 * .. External Functions ..
021 LOGICAL LSAME
022 EXTERNAL LSAME
023 * ..
024 * .. Intrinsic Functions ..
025 INTRINSIC MOD
026 * ..
027 * .. Executable Statements ..
028
029 IF( LSAME( TYPE , 'R' ) ) THEN
029
030 IF( BLOCK ) THEN
030
031 DO 20 K = ISTART , ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) , 3
031
032 V2 = VECS(( K - 1 )*3 + 1 )
033 V3 = VECS(( K - 1 )*3 + 2 )
034 T1 = VECS(( K - 1 )*3 + 3 )
035 V22 = VECS(( K - 1 )*3 + 4 )
036 V32 = VECS(( K - 1 )*3 + 5 )
037 T12 = VECS(( K - 1 )*3 + 6 )
038 V23 = VECS(( K - 1 )*3 + 7 )
039 V33 = VECS(( K - 1 )*3 + 8 )
040 T13 = VECS(( K - 1 )*3 + 9 )
041 T2 = T1*V2
042 T3 = T1*V3
043 T22 = T12*V22
044 T32 = T12*V32
045 T23 = T13*V23
046 T33 = T13*V33
047 DO 10 J = ITMP1 , ITMP2
047
048 SUM = A( IROW1 , J ) + V2*A( IROW1 + 1 , J ) +
049 $ V3*A( IROW1 + 2 , J )
050 A( IROW1 , J ) = A( IROW1 , J ) - SUM*T1
051 H11 = A( IROW1 + 1 , J ) - SUM*T2
052 H22 = A( IROW1 + 2 , J ) - SUM*T3
053 SUM = H11 + V22*H22 + V32*A( IROW1 + 3 , J )
054 A( IROW1 + 1 , J ) = H11 - SUM*T12
055 H11 = H22 - SUM*T22
056 H22 = A( IROW1 + 3 , J ) - SUM*T32
057 SUM = H11 + V23*H22 + V33*A( IROW1 + 4 , J )
058 A( IROW1 + 2 , J ) = H11 - SUM*T13
059 A( IROW1 + 3 , J ) = H22 - SUM*T23
060 A( IROW1 + 4 , J ) = A( IROW1 + 4 , J ) - SUM*T33
061 10 CONTINUE
061
062 IROW1 = IROW1 + 3
063 20 CONTINUE
063
064 DO 40 K = ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) + 1 , ISTOP
064
065 V2 = VECS(( K - 1 )*3 + 1 )
066 V3 = VECS(( K - 1 )*3 + 2 )
067 T1 = VECS(( K - 1 )*3 + 3 )
068 T2 = T1*V2
069 T3 = T1*V3
070 DO 30 J = ITMP1 , ITMP2
070
071 SUM = A( IROW1 , J ) + V2*A( IROW1 + 1 , J ) +
072 $ V3*A( IROW1 + 2 , J )
073 A( IROW1 , J ) = A( IROW1 , J ) - SUM*T1
074 A( IROW1 + 1 , J ) = A( IROW1 + 1 , J ) - SUM*T2
075 A( IROW1 + 2 , J ) = A( IROW1 + 2 , J ) - SUM*T3
076 30 CONTINUE
076
077 IROW1 = IROW1 + 1
078 40 CONTINUE
078
079 ELSE
079
080 DO 50 J = ITMP1 , ITMP2
080
081 SUM = A( IROW1 , J ) + V2*A( IROW1 + 1 , J ) +
082 $ V3*A( IROW1 + 2 , J )
083 A( IROW1 , J ) = A( IROW1 , J ) - SUM*T1
084 A( IROW1 + 1 , J ) = A( IROW1 + 1 , J ) - SUM*T2
085 A( IROW1 + 2 , J ) = A( IROW1 + 2 , J ) - SUM*T3
086 50 CONTINUE
086
087 END IF
088 ELSE
089
090 * Do column transforms
091
091
092 IF( BLOCK ) THEN
092
093 DO 80 K = ISTART , ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) , 3
093
094 V2 = VECS(( K - 1 )*3 + 1 )
095 V3 = VECS(( K - 1 )*3 + 2 )
096 T1 = VECS(( K - 1 )*3 + 3 )
097 V22 = VECS(( K - 1 )*3 + 4 )
098 V32 = VECS(( K - 1 )*3 + 5 )
099 T12 = VECS(( K - 1 )*3 + 6 )
100 V23 = VECS(( K - 1 )*3 + 7 )
101 V33 = VECS(( K - 1 )*3 + 8 )
102 T13 = VECS(( K - 1 )*3 + 9 )
103 T2 = T1*V2
104 T3 = T1*V3
105 T22 = T12*V22
106 T32 = T12*V32
107 T23 = T13*V23
108 T33 = T13*V33
109 DO 60 J = ITMP1 , ITMP2
109
110 SUM = A( J , ICOL1 ) + V2*A( J , ICOL1 + 1 ) +
111 $ V3*A( J , ICOL1 + 2 )
112 A( J , ICOL1 ) = A( J , ICOL1 ) - SUM*T1
113 H11 = A( J , ICOL1 + 1 ) - SUM*T2
114 H22 = A( J , ICOL1 + 2 ) - SUM*T3
115 SUM = H11 + V22*H22 + V32*A( J , ICOL1 + 3 )
116 A( J , ICOL1 + 1 ) = H11 - SUM*T12
117 H11 = H22 - SUM*T22
118 H22 = A( J , ICOL1 + 3 ) - SUM*T32
119 SUM = H11 + V23*H22 + V33*A( J , ICOL1 + 4 )
120 A( J , ICOL1 + 2 ) = H11 - SUM*T13
121 A( J , ICOL1 + 3 ) = H22 - SUM*T23
122 A( J , ICOL1 + 4 ) = A( J , ICOL1 + 4 ) - SUM*T33
123 60 CONTINUE
123
124 IF( WANTZ ) THEN
124
125 DO 70 J = LILOZ , LIHIZ
125
126 SUM = Z( J , ICOL1 ) + V2*Z( J , ICOL1 + 1 ) +
127 $ V3*Z( J , ICOL1 + 2 )
128 Z( J , ICOL1 ) = Z( J , ICOL1 ) - SUM*T1
129 H11 = Z( J , ICOL1 + 1 ) - SUM*T2
130 H22 = Z( J , ICOL1 + 2 ) - SUM*T3
131 SUM = H11 + V22*H22 + V32*Z( J , ICOL1 + 3 )
132 Z( J , ICOL1 + 1 ) = H11 - SUM*T12
133 H11 = H22 - SUM*T22
134 H22 = Z( J , ICOL1 + 3 ) - SUM*T32
135 SUM = H11 + V23*H22 + V33*Z( J , ICOL1 + 4 )
136 Z( J , ICOL1 + 2 ) = H11 - SUM*T13
137 Z( J , ICOL1 + 3 ) = H22 - SUM*T23
138 Z( J , ICOL1 + 4 ) = Z( J , ICOL1 + 4 ) - SUM*T33
139 70 CONTINUE
139
140 END IF
141 ICOL1 = ICOL1 + 3
142 80 CONTINUE
142
143 DO 110 K = ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) + 1 , ISTOP
143
144 V2 = VECS(( K - 1 )*3 + 1 )
145 V3 = VECS(( K - 1 )*3 + 2 )
146 T1 = VECS(( K - 1 )*3 + 3 )
147 T2 = T1*V2
148 T3 = T1*V3
149 DO 90 J = ITMP1 , ITMP2
149
150 SUM = A( J , ICOL1 ) + V2*A( J , ICOL1 + 1 ) +
151 $ V3*A( J , ICOL1 + 2 )
152 A( J , ICOL1 ) = A( J , ICOL1 ) - SUM*T1
153 A( J , ICOL1 + 1 ) = A( J , ICOL1 + 1 ) - SUM*T2
154 A( J , ICOL1 + 2 ) = A( J , ICOL1 + 2 ) - SUM*T3
155 90 CONTINUE
155
156 IF( WANTZ ) THEN
156
157 DO 100 J = LILOZ , LIHIZ
157
158 SUM = Z( J , ICOL1 ) + V2*Z( J , ICOL1 + 1 ) +
159 $ V3*Z( J , ICOL1 + 2 )
160 Z( J , ICOL1 ) = Z( J , ICOL1 ) - SUM*T1
161 Z( J , ICOL1 + 1 ) = Z( J , ICOL1 + 1 ) - SUM*T2
162 Z( J , ICOL1 + 2 ) = Z( J , ICOL1 + 2 ) - SUM*T3
163 100 CONTINUE
163
164 END IF
165 ICOL1 = ICOL1 + 1
166 110 CONTINUE
166
167 ELSE
167
168 DO 120 J = ITMP1 , ITMP2
168
169 SUM = A( J , ICOL1 ) + V2*A( J , ICOL1 + 1 ) +
170 $ V3*A( J , ICOL1 + 2 )
171 A( J , ICOL1 ) = A( J , ICOL1 ) - SUM*T1
172 A( J , ICOL1 + 1 ) = A( J , ICOL1 + 1 ) - SUM*T2
173 A( J , ICOL1 + 2 ) = A( J , ICOL1 + 2 ) - SUM*T3
174 120 CONTINUE
174
175 END IF
176 END IF
177 RETURN
178
179 * End of DLAREF
180
181 END
182 7
32
|
|
Variables in Routine DLAREF()
| Summary Report |
| Data Type | Quantity | Size(byte) |
| CHARACTER | 1 | 1 |
| DOUBLE PRECISION | 18 | 72 |
| INTEGER | 12 | 48 |
| LOGICAL | 3 | 3 |
| REAL | 2 | 8 |
| TOTAL | 36 | 132 |
List of Variables
CHARACTER
DOUBLE PRECISION
| H11 | H22 | SUM | T1 | T12 |
| T13 | T2 | T22 | T23 | T3 |
| T32 | T33 | V2 | V22 | V23 |
| V3 | V32 | V33 | | |
INTEGER
| ICOL1 | IROW1 | ISTART | ISTOP | ITMP1 |
| ITMP2 | J | K | LDA | LDZ |
| LIHIZ | LILOZ | | | |
LOGICAL
REAL
Variables Dependence Graph Put the mouse over a right hand side variable to display the corresponding line of the dependence | | - | | - | - | | A | <--- | AA( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1{2A( J, ICOL1+4 ) = A( J, ICOL1+4 ) - SUM*T33, 3A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 4A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 5A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 6A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 7A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 8A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 9A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 10A( IROW1+4, J ) = A( IROW1+4, J ) - SUM*T33, 11A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 12A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 13A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3, 14A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 15A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 16A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3}, JA( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1{2A( J, ICOL1+4 ) = A( J, ICOL1+4 ) - SUM*T33, 3A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 4A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 5A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 6A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 7A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 8A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 9A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 10A( IROW1+4, J ) = A( IROW1+4, J ) - SUM*T33, 11A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 12A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 13A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3, 14A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 15A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 16A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3}, SUMA( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1{2A( J, ICOL1+1 ) = H11 - SUM*T12, 3A( J, ICOL1+2 ) = H11 - SUM*T13, 4A( J, ICOL1+3 ) = H22 - SUM*T23, 5A( J, ICOL1+4 ) = A( J, ICOL1+4 ) - SUM*T33, 6A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 7A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 8A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 9A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 10A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 11A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 12A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 13A( IROW1+1, J ) = H11 - SUM*T12, 14A( IROW1+2, J ) = H11 - SUM*T13, 15A( IROW1+3, J ) = H22 - SUM*T23, 16A( IROW1+4, J ) = A( IROW1+4, J ) - SUM*T33, 17A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 18A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 19A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3, 20A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 21A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 22A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3}, T1A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1{2A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 3A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 4A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 5A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 6A( IROW1, J ) = A( IROW1, J ) - SUM*T1}, T12A( J, ICOL1+1 ) = H11 - SUM*T12{2A( IROW1+1, J ) = H11 - SUM*T12}, T13A( J, ICOL1+2 ) = H11 - SUM*T13{2A( IROW1+2, J ) = H11 - SUM*T13}, T2A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2{2A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 3A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 4A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2}, T23A( J, ICOL1+3 ) = H22 - SUM*T23{2A( IROW1+3, J ) = H22 - SUM*T23}, T3A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3{2A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 3A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3, 4A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3}, T33A( J, ICOL1+4 ) = A( J, ICOL1+4 ) - SUM*T33{2A( IROW1+4, J ) = A( IROW1+4, J ) - SUM*T33}, H11A( J, ICOL1+1 ) = H11 - SUM*T12{2A( J, ICOL1+2 ) = H11 - SUM*T13, 3A( IROW1+1, J ) = H11 - SUM*T12, 4A( IROW1+2, J ) = H11 - SUM*T13}, H22A( J, ICOL1+3 ) = H22 - SUM*T23{2A( IROW1+3, J ) = H22 - SUM*T23}, ICOL1A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1{2A( J, ICOL1+4 ) = A( J, ICOL1+4 ) - SUM*T33, 3A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 4A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 5A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3, 6A( J, ICOL1 ) = A( J, ICOL1 ) - SUM*T1, 7A( J, ICOL1+1 ) = A( J, ICOL1+1 ) - SUM*T2, 8A( J, ICOL1+2 ) = A( J, ICOL1+2 ) - SUM*T3}, IROW1A( IROW1, J ) = A( IROW1, J ) - SUM*T1{2A( IROW1+4, J ) = A( IROW1+4, J ) - SUM*T33, 3A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 4A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 5A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3, 6A( IROW1, J ) = A( IROW1, J ) - SUM*T1, 7A( IROW1+1, J ) = A( IROW1+1, J ) - SUM*T2, 8A( IROW1+2, J ) = A( IROW1+2, J ) - SUM*T3} |
| H11 | <--- | AH11 = A( J, ICOL1+1 ) - SUM*T2{2H11 = A( IROW1+1, J ) - SUM*T2}, JH11 = A( J, ICOL1+1 ) - SUM*T2{2H11 = Z( J, ICOL1+1 ) - SUM*T2, 3H11 = A( IROW1+1, J ) - SUM*T2}, SUMH11 = A( J, ICOL1+1 ) - SUM*T2{2H11 = H22 - SUM*T22, 3H11 = Z( J, ICOL1+1 ) - SUM*T2, 4H11 = H22 - SUM*T22, 5H11 = A( IROW1+1, J ) - SUM*T2, 6H11 = H22 - SUM*T22}, T2H11 = A( J, ICOL1+1 ) - SUM*T2{2H11 = Z( J, ICOL1+1 ) - SUM*T2, 3H11 = A( IROW1+1, J ) - SUM*T2}, T22H11 = H22 - SUM*T22{2H11 = H22 - SUM*T22, 3H11 = H22 - SUM*T22}, ZH11 = Z( J, ICOL1+1 ) - SUM*T2, H22H11 = H22 - SUM*T22{2H11 = H22 - SUM*T22, 3H11 = H22 - SUM*T22}, ICOL1H11 = A( J, ICOL1+1 ) - SUM*T2{2H11 = Z( J, ICOL1+1 ) - SUM*T2}, IROW1H11 = A( IROW1+1, J ) - SUM*T2 |
| H22 | <--- | AH22 = A( J, ICOL1+2 ) - SUM*T3{2H22 = A( J, ICOL1+3 ) - SUM*T32, 3H22 = A( IROW1+2, J ) - SUM*T3, 4H22 = A( IROW1+3, J ) - SUM*T32}, JH22 = A( J, ICOL1+2 ) - SUM*T3{2H22 = A( J, ICOL1+3 ) - SUM*T32, 3H22 = Z( J, ICOL1+2 ) - SUM*T3, 4H22 = Z( J, ICOL1+3 ) - SUM*T32, 5H22 = A( IROW1+2, J ) - SUM*T3, 6H22 = A( IROW1+3, J ) - SUM*T32}, SUMH22 = A( J, ICOL1+2 ) - SUM*T3{2H22 = A( J, ICOL1+3 ) - SUM*T32, 3H22 = Z( J, ICOL1+2 ) - SUM*T3, 4H22 = Z( J, ICOL1+3 ) - SUM*T32, 5H22 = A( IROW1+2, J ) - SUM*T3, 6H22 = A( IROW1+3, J ) - SUM*T32}, T3H22 = A( J, ICOL1+2 ) - SUM*T3{2H22 = Z( J, ICOL1+2 ) - SUM*T3, 3H22 = A( IROW1+2, J ) - SUM*T3}, T32H22 = A( J, ICOL1+3 ) - SUM*T32{2H22 = Z( J, ICOL1+3 ) - SUM*T32, 3H22 = A( IROW1+3, J ) - SUM*T32}, ZH22 = Z( J, ICOL1+2 ) - SUM*T3{2H22 = Z( J, ICOL1+3 ) - SUM*T32}, ICOL1H22 = A( J, ICOL1+2 ) - SUM*T3{2H22 = A( J, ICOL1+3 ) - SUM*T32, 3H22 = Z( J, ICOL1+2 ) - SUM*T3, 4H22 = Z( J, ICOL1+3 ) - SUM*T32}, IROW1H22 = A( IROW1+2, J ) - SUM*T3{2H22 = A( IROW1+3, J ) - SUM*T32} |
| ICOL1 | <--- | ICOL1ICOL1 = ICOL1 + 3{2ICOL1 = ICOL1 + 1} |
| IROW1 | <--- | IROW1IROW1 = IROW1 + 3{2IROW1 = IROW1 + 1} |
| J | <--- | ITMP2DO 60 J = ITMP1, ITMP2{2DO 90 J = ITMP1, ITMP2, 3DO 120 J = ITMP1, ITMP2, 4DO 10 J = ITMP1, ITMP2, 5DO 30 J = ITMP1, ITMP2, 6DO 50 J = ITMP1, ITMP2}, LIHIZDO 70 J = LILOZ, LIHIZ{2DO 100 J = LILOZ, LIHIZ}, LILOZDO 70 J = LILOZ, LIHIZ{2DO 100 J = LILOZ, LIHIZ}, ITMP1DO 60 J = ITMP1, ITMP2{2DO 90 J = ITMP1, ITMP2, 3DO 120 J = ITMP1, ITMP2, 4DO 10 J = ITMP1, ITMP2, 5DO 30 J = ITMP1, ITMP2, 6DO 50 J = ITMP1, ITMP2} |
| K | <--- | ISTARTDO 110 K = ISTOP - MOD( ISTOP-ISTART+1, 3 ) + 1, ISTOP{2DO 20 K = ISTART, ISTOP - MOD( ISTOP-ISTART+1, 3 ), 3, 3DO 40 K = ISTOP - MOD( ISTOP-ISTART+1, 3 ) + 1, ISTOP, 4DO 80 K = ISTART, ISTOP - MOD( ISTOP-ISTART+1, 3 ), 3}, ISTOPDO 110 K = ISTOP - MOD( ISTOP-ISTART+1, 3 ) + 1, ISTOP{2DO 20 K = ISTART, ISTOP - MOD( ISTOP-ISTART+1, 3 ), 3, 3DO 40 K = ISTOP - MOD( ISTOP-ISTART+1, 3 ) + 1, ISTOP, 4DO 80 K = ISTART, ISTOP - MOD( ISTOP-ISTART+1, 3 ), 3} |
| SUM | <--- | ASUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +{2SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ), 3SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ), 4SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 5SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 6SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 7SUM = H11 + V22*H22 + V32*A( IROW1+3, J ), 8SUM = H11 + V23*H22 + V33*A( IROW1+4, J ), 9SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 10SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +}, JSUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +{2SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ), 3SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ), 4SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 5SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 6SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 7SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 8SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 9SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 10SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 11SUM = H11 + V22*H22 + V32*A( IROW1+3, J ), 12SUM = H11 + V23*H22 + V33*A( IROW1+4, J ), 13SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 14SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +}, V2SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +{2SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 3SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 4SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 5SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 6SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 7SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 8SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +}, H11SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ){2SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ), 3SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 4SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 5SUM = H11 + V22*H22 + V32*A( IROW1+3, J ), 6SUM = H11 + V23*H22 + V33*A( IROW1+4, J )}, V22SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ){2SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 3SUM = H11 + V22*H22 + V32*A( IROW1+3, J )}, V23SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ){2SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 3SUM = H11 + V23*H22 + V33*A( IROW1+4, J )}, V3SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +{2SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 3SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 4SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 5SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 6SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 7SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 8SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +}, V32SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ){2SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 3SUM = H11 + V22*H22 + V32*A( IROW1+3, J )}, V33SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ){2SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 3SUM = H11 + V23*H22 + V33*A( IROW1+4, J )}, ZSUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +{2SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 3SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 4SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +}, H22SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ){2SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ), 3SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 4SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 5SUM = H11 + V22*H22 + V32*A( IROW1+3, J ), 6SUM = H11 + V23*H22 + V33*A( IROW1+4, J )}, ICOL1SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +{2SUM = H11 + V22*H22 + V32*A( J, ICOL1+3 ), 3SUM = H11 + V23*H22 + V33*A( J, ICOL1+4 ), 4SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 5SUM = H11 + V22*H22 + V32*Z( J, ICOL1+3 ), 6SUM = H11 + V23*H22 + V33*Z( J, ICOL1+4 ), 7SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +, 8SUM = Z( J, ICOL1 ) + V2*Z( J, ICOL1+1 ) +, 9SUM = A( J, ICOL1 ) + V2*A( J, ICOL1+1 ) +}, IROW1SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +{2SUM = H11 + V22*H22 + V32*A( IROW1+3, J ), 3SUM = H11 + V23*H22 + V33*A( IROW1+4, J ), 4SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +, 5SUM = A( IROW1, J ) + V2*A( IROW1+1, J ) +} |
| T1 | <--- | KT1 = VECS( ( K-1 )*3+3 ){2T1 = VECS( ( K-1 )*3+3 ), 3T1 = VECS( ( K-1 )*3+3 ), 4T1 = VECS( ( K-1 )*3+3 )} |
| T12 | <--- | KT12 = VECS( ( K-1 )*3+6 ){2T12 = VECS( ( K-1 )*3+6 )} |
| T13 | <--- | KT13 = VECS( ( K-1 )*3+9 ){2T13 = VECS( ( K-1 )*3+9 )} |
| T2 | <--- | T1T2 = T1*V2{2T2 = T1*V2, 3T2 = T1*V2, 4T2 = T1*V2}, V2T2 = T1*V2{2T2 = T1*V2, 3T2 = T1*V2, 4T2 = T1*V2} |
| T22 | <--- | T12T22 = T12*V22{2T22 = T12*V22}, V22T22 = T12*V22{2T22 = T12*V22} |
| T23 | <--- | T13T23 = T13*V23{2T23 = T13*V23}, V23T23 = T13*V23{2T23 = T13*V23} |
| T3 | <--- | T1T3 = T1*V3{2T3 = T1*V3, 3T3 = T1*V3, 4T3 = T1*V3}, V3T3 = T1*V3{2T3 = T1*V3, 3T3 = T1*V3, 4T3 = T1*V3} |
| T32 | <--- | T12T32 = T12*V32{2T32 = T12*V32}, V32T32 = T12*V32{2T32 = T12*V32} |
| T33 | <--- | T13T33 = T13*V33{2T33 = T13*V33}, V33T33 = T13*V33{2T33 = T13*V33} |
| V2 | <--- | KV2 = VECS( ( K-1 )*3+1 ){2V2 = VECS( ( K-1 )*3+1 ), 3V2 = VECS( ( K-1 )*3+1 ), 4V2 = VECS( ( K-1 )*3+1 )} |
| V22 | <--- | KV22 = VECS( ( K-1 )*3+4 ){2V22 = VECS( ( K-1 )*3+4 )} |
| V23 | <--- | KV23 = VECS( ( K-1 )*3+7 ){2V23 = VECS( ( K-1 )*3+7 )} |
| V3 | <--- | KV3 = VECS( ( K-1 )*3+2 ){2V3 = VECS( ( K-1 )*3+2 ), 3V3 = VECS( ( K-1 )*3+2 ), 4V3 = VECS( ( K-1 )*3+2 )} |
| V32 | <--- | KV32 = VECS( ( K-1 )*3+5 ){2V32 = VECS( ( K-1 )*3+5 )} |
| V33 | <--- | KV33 = VECS( ( K-1 )*3+8 ){2V33 = VECS( ( K-1 )*3+8 )} |
| Z | <--- | JZ( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1{2Z( J, ICOL1+4 ) = Z( J, ICOL1+4 ) - SUM*T33, 3Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1, 4Z( J, ICOL1+1 ) = Z( J, ICOL1+1 ) - SUM*T2, 5Z( J, ICOL1+2 ) = Z( J, ICOL1+2 ) - SUM*T3}, SUMZ( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1{2Z( J, ICOL1+1 ) = H11 - SUM*T12, 3Z( J, ICOL1+2 ) = H11 - SUM*T13, 4Z( J, ICOL1+3 ) = H22 - SUM*T23, 5Z( J, ICOL1+4 ) = Z( J, ICOL1+4 ) - SUM*T33, 6Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1, 7Z( J, ICOL1+1 ) = Z( J, ICOL1+1 ) - SUM*T2, 8Z( J, ICOL1+2 ) = Z( J, ICOL1+2 ) - SUM*T3}, T1Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1{2Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1}, T12Z( J, ICOL1+1 ) = H11 - SUM*T12, T13Z( J, ICOL1+2 ) = H11 - SUM*T13, T2Z( J, ICOL1+1 ) = Z( J, ICOL1+1 ) - SUM*T2, T23Z( J, ICOL1+3 ) = H22 - SUM*T23, T3Z( J, ICOL1+2 ) = Z( J, ICOL1+2 ) - SUM*T3, T33Z( J, ICOL1+4 ) = Z( J, ICOL1+4 ) - SUM*T33, H11Z( J, ICOL1+1 ) = H11 - SUM*T12{2Z( J, ICOL1+2 ) = H11 - SUM*T13}, ZZ( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1{2Z( J, ICOL1+4 ) = Z( J, ICOL1+4 ) - SUM*T33, 3Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1, 4Z( J, ICOL1+1 ) = Z( J, ICOL1+1 ) - SUM*T2, 5Z( J, ICOL1+2 ) = Z( J, ICOL1+2 ) - SUM*T3}, H22Z( J, ICOL1+3 ) = H22 - SUM*T23, ICOL1Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1{2Z( J, ICOL1+4 ) = Z( J, ICOL1+4 ) - SUM*T33, 3Z( J, ICOL1 ) = Z( J, ICOL1 ) - SUM*T1, 4Z( J, ICOL1+1 ) = Z( J, ICOL1+1 ) - SUM*T2, 5Z( J, ICOL1+2 ) = Z( J, ICOL1+2 ) - SUM*T3} |
|
|
Analysis elements of the routine DLAREF() Put the mouse over each element to display detailed matching information
Assigned variables |
| | | H11 , H22 , ICOL1 , IROW1 , J , K , SUM , T1 , T12 , T13 , T2 , T22 , T23 , T3 , T32 , T33 , V2 , V22 , V23 , V3 , V32 , V33 |
|
Active variables |
| | | A , BLOCK , H11 , H22 , ICOL1 , IROW1 , ISTART , ISTOP , ITMP1 , ITMP2 , J , K , LDA , LDZ , LIHIZ , LILOZ , LSAME , SUM , T1 , T12 , T13 , T2 , T22 , T23 , T3 , T32 , T33 , TYPE , V2 , V22 , V23 , V3 , V32 , V33 , VECS , WANTZ , Z |
|
Accessed arrays [ array name : associated index ] |
| | A | : IROW1, J , IROW1, J , IROW1, J , IROW1, J , IROW1, J , IROW1, J , IROW1+1, J , IROW1+1, J , IROW1+1, J , IROW1+1, J , IROW1+1, J , IROW1+1, J , IROW1+1, J , IROW1+2, J , IROW1+2, J , IROW1+2, J , IROW1+2, J , IROW1+2, J , IROW1+2, J , IROW1+2, J , IROW1+3, J , IROW1+3, J , IROW1+3, J , IROW1+4, J , IROW1+4, J , J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+3 , J, ICOL1+3 , J, ICOL1+3 , J, ICOL1+4 , J, ICOL1+4 |
| | LSAME | : TYPE, 'R' |
| | VECS | : ( K-1 )*3+1 , ( K-1 )*3+1 , ( K-1 )*3+1 , ( K-1 )*3+1 , ( K-1 )*3+2 , ( K-1 )*3+2 , ( K-1 )*3+2 , ( K-1 )*3+2 , ( K-1 )*3+3 , ( K-1 )*3+3 , ( K-1 )*3+3 , ( K-1 )*3+3 , ( K-1 )*3+4 , ( K-1 )*3+4 , ( K-1 )*3+5 , ( K-1 )*3+5 , ( K-1 )*3+6 , ( K-1 )*3+6 , ( K-1 )*3+7 , ( K-1 )*3+7 , ( K-1 )*3+8 , ( K-1 )*3+8 , ( K-1 )*3+9 , ( K-1 )*3+9 |
| | Z | : J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+1 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+2 , J, ICOL1+3 , J, ICOL1+3 , J, ICOL1+3 , J, ICOL1+4 , J, ICOL1+4 |
|
Conditional statements [ statement : associated predicate ] |
| | do | : ( 20 K = ISTART , ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) , 3 ) , ( 10 J = ITMP1 , ITMP2 ) , ( 40 K = ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) + 1 , ISTOP ) , ( 30 J = ITMP1 , ITMP2 ) , ( 50 J = ITMP1 , ITMP2 ) , ( column transforms ) , ( 80 K = ISTART , ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) , 3 ) , ( 60 J = ITMP1 , ITMP2 ) , ( 70 J = LILOZ , LIHIZ ) , ( 110 K = ISTOP - MOD( ISTOP - ISTART + 1 , 3 ) + 1 , ISTOP ) , ( 90 J = ITMP1 , ITMP2 ) , ( 100 J = LILOZ , LIHIZ ) , ( 120 J = ITMP1 , ITMP2 ) |
| | if | : ( (LSAME( TYPE , 'R' ) ) ) , ( BLOCK ) , ( BLOCK ) , ( WANTZ ) , ( WANTZ ) |
|
| List of variables | A BLOCK H11 H22 ICOL1 IROW1 ISTART
| ISTOP ITMP1 ITMP2 J K LDA LDZ LIHIZ
| LILOZ LSAME SUM T1 T12 T13 T2 T22
| T23 T3 T32 T33 TYPE V2 V22 V23
| V3 V32 V33 WANTZ Z | | close
| |
A
BLOCK
H11
H22
ICOL1
IROW1
ISTART
ISTOP
ITMP1
ITMP2
J
K
LDA
LDZ
LIHIZ
LILOZ
LSAME
SUM
T1
T12
T13
T2
T22
T23
T3
T32
T33
TYPE
V2
V22
V23
V3
V32
V33
WANTZ
Z
| |