Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
f2cl
f2cl
Commits
08436636
Commit
08436636
authored
Nov 28, 2011
by
Raymond Toy
Browse files
Forgot to add 4 files.
parent
1b7c8dc1
Changes
4
Hide whitespace changes
Inline
Side-by-side
packages/lapack/dlaisnan.f
0 → 100644
View file @
08436636
*>
\
brief
\
b
DLAISNAN
*
*
===========
DOCUMENTATION
===========
*
*
Online
html
documentation
available
at
*
http
://
www
.netlib.
org
/
lapack
/
explore
-
html
/
*
*>
\
htmlonly
*>
Download
DLAISNAN
+
dependencies
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlaisnan.f"
>
*>
[
TGZ
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlaisnan.f"
>
*>
[
ZIP
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaisnan.f"
>
*>
[
TXT
]
<
/
a
>
*>
\
endhtmlonly
*
*
Definition
:
*
===========
*
*
LOGICAL
FUNCTION
DLAISNAN
(
DIN1
,
DIN2
)
*
*
..
Scalar
Arguments
..
*
DOUBLE PRECISION
DIN1
,
DIN2
*
..
*
*
*>
\
par
Purpose
:
*
=============
*>
*>
\
verbatim
*>
*>
This
routine
is
not
for
general
use
.
It
exists
solely
to
avoid
*>
over
-
optimization
in
DISNAN
.
*>
*>
DLAISNAN
checks
for
NaNs
by
comparing
its
two
arguments
for
*>
inequality
.
NaN
is
the
only
floating
-
point
value
where
NaN
!= NaN
*>
returns
.TRUE.
To
check
for
NaNs
,
pass
the
same
variable
as
both
*>
arguments
.
*>
*>
A
compiler
must
assume
that
the
two
arguments
are
*>
not
the
same
variable
,
and
the
test
will
not
be
optimized
away
.
*>
Interprocedural
or
whole
-
program
optimization
may
delete
this
*>
test
.
The
ISNAN
functions
will
be
replaced
by
the
correct
*>
Fortran
03
intrinsic
once
the
intrinsic
is
widely
available
.
*>
\
endverbatim
*
*
Arguments
:
*
==========
*
*>
\
param
[
in
]
DIN1
*>
\
verbatim
*>
DIN1
is
DOUBLE PRECISION
*>
\
endverbatim
*>
*>
\
param
[
in
]
DIN2
*>
\
verbatim
*>
DIN2
is
DOUBLE PRECISION
*>
Two
numbers
to
compare
for
inequality
.
*>
\
endverbatim
*
*
Authors
:
*
========
*
*>
\
author
Univ
.
of
Tennessee
*>
\
author
Univ
.
of
California
Berkeley
*>
\
author
Univ
.
of
Colorado
Denver
*>
\
author
NAG
Ltd
.
*
*>
\
date
November
2011
*
*>
\
ingroup
auxOTHERauxiliary
*
*
=====================================================================
LOGICAL
FUNCTION
DLAISNAN
(
DIN1
,
DIN2
)
*
*
--
LAPACK
auxiliary
routine
(
version
3.4.0
)
--
*
--
LAPACK
is
a
software
package
provided
by
Univ
.
of
Tennessee
,
--
*
--
Univ
.
of
California
Berkeley
,
Univ
.
of
Colorado
Denver
and
NAG
Ltd
..
--
*
November
2011
*
*
..
Scalar
Arguments
..
DOUBLE PRECISION
DIN1
,
DIN2
*
..
*
*
=====================================================================
*
*
..
Executable
Statements
..
DLAISNAN
=
(
DIN1
.NE.
DIN2
)
RETURN
END
packages/lapack/zgehd2.f
0 → 100644
View file @
08436636
*>
\
brief
\
b
ZGEHD2
*
*
===========
DOCUMENTATION
===========
*
*
Online
html
documentation
available
at
*
http
://
www
.netlib.
org
/
lapack
/
explore
-
html
/
*
*>
\
htmlonly
*>
Download
ZGEHD2
+
dependencies
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zgehd2.f"
>
*>
[
TGZ
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zgehd2.f"
>
*>
[
ZIP
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgehd2.f"
>
*>
[
TXT
]
<
/
a
>
*>
\
endhtmlonly
*
*
Definition
:
*
===========
*
*
SUBROUTINE
ZGEHD2
(
N
,
ILO
,
IHI
,
A
,
LDA
,
TAU
,
WORK
,
INFO
)
*
*
..
Scalar
Arguments
..
*
INTEGER
IHI
,
ILO
,
INFO
,
LDA
,
N
*
..
*
..
Array
Arguments
..
*
COMPLEX
*
16
A
(
LDA
,
*
),
TAU
(
*
),
WORK
(
*
)
*
..
*
*
*>
\
par
Purpose
:
*
=============
*>
*>
\
verbatim
*>
*>
ZGEHD2
reduces
a
complex
general
matrix
A
to
upper
Hessenberg
form
H
*>
by
a
unitary
similarity
transformation
:
Q
**
H
*
A
*
Q
=
H
.
*>
\
endverbatim
*
*
Arguments
:
*
==========
*
*>
\
param
[
in
]
N
*>
\
verbatim
*>
N
is
INTEGER
*>
The
order
of
the
matrix
A
.
N
>=
0.
*>
\
endverbatim
*>
*>
\
param
[
in
]
ILO
*>
\
verbatim
*>
ILO
is
INTEGER
*>
\
endverbatim
*>
*>
\
param
[
in
]
IHI
*>
\
verbatim
*>
IHI
is
INTEGER
*>
*>
It
is
assumed
that
A
is
already
upper
triangular
in
rows
*>
and
columns
1
:
ILO
-1
and
IHI
+1
:
N
.
ILO
and
IHI
are
normally
*>
set
by
a
previous
call
to
ZGEBAL
;
otherwise
they
should
be
*>
set
to
1
and
N
respectively
.
See
Further
Details
.
*>
1
<=
ILO
<=
IHI
<=
max
(
1
,
N
)
.
*>
\
endverbatim
*>
*>
\
param
[
in
,
out
]
A
*>
\
verbatim
*>
A
is
COMPLEX
*
16
array
,
dimension
(
LDA
,
N
)
*>
On
entry
,
the
n
by
n
general
matrix
to
be
reduced
.
*>
On
exit
,
the
upper
triangle
and
the
first
subdiagonal
of
A
*>
are
overwritten
with
the
upper
Hessenberg
matrix
H
,
and
the
*>
elements
below
the
first
subdiagonal
,
with
the
array
TAU
,
*>
represent
the
unitary
matrix
Q
as
a
product
of
elementary
*>
reflectors
.
See
Further
Details
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
LDA
*>
\
verbatim
*>
LDA
is
INTEGER
*>
The
leading
dimension
of
the
array
A
.
LDA
>=
max
(
1
,
N
)
.
*>
\
endverbatim
*>
*>
\
param
[
out
]
TAU
*>
\
verbatim
*>
TAU
is
COMPLEX
*
16
array
,
dimension
(
N
-1
)
*>
The
scalar
factors
of
the
elementary
reflectors
(
see
Further
*>
Details
)
.
*>
\
endverbatim
*>
*>
\
param
[
out
]
WORK
*>
\
verbatim
*>
WORK
is
COMPLEX
*
16
array
,
dimension
(
N
)
*>
\
endverbatim
*>
*>
\
param
[
out
]
INFO
*>
\
verbatim
*>
INFO
is
INTEGER
*>
=
0
:
successful
exit
*>
<
0
:
if
INFO
=
-
i
,
the
i
-
th
argument
had
an
illegal
value
.
*>
\
endverbatim
*
*
Authors
:
*
========
*
*>
\
author
Univ
.
of
Tennessee
*>
\
author
Univ
.
of
California
Berkeley
*>
\
author
Univ
.
of
Colorado
Denver
*>
\
author
NAG
Ltd
.
*
*>
\
date
November
2011
*
*>
\
ingroup
complex16GEcomputational
*
*>
\
par
Further
Details
:
*
=====================
*>
*>
\
verbatim
*>
*>
The
matrix
Q
is
represented
as
a
product
of
(
ihi
-
ilo
)
elementary
*>
reflectors
*>
*>
Q
=
H
(
ilo
)
H
(
ilo
+1
)
.
.
.
H
(
ihi
-1
)
.
*>
*>
Each
H
(
i
)
has
the
form
*>
*>
H
(
i
)
=
I
-
tau
*
v
*
v
**
H
*>
*>
where
tau
is
a
complex
scalar
,
and
v
is
a
complex
vector
with
*>
v
(
1
:
i
)
=
0
,
v
(
i
+1
)
=
1
and
v
(
ihi
+1
:
n
)
=
0
;
v
(
i
+2
:
ihi
)
is
stored
on
*>
exit
in
A
(
i
+2
:
ihi
,
i
),
and
tau
in
TAU
(
i
)
.
*>
*>
The
contents
of
A
are
illustrated
by
the
following
example
,
with
*>
n
=
7
,
ilo
=
2
and
ihi
=
6
:
*>
*>
on
entry
,
on
exit
,
*>
*>
(
a
a
a
a
a
a
a
)
(
a
a
h
h
h
h
a
)
*>
(
a
a
a
a
a
a
)
(
a
h
h
h
h
a
)
*>
(
a
a
a
a
a
a
)
(
h
h
h
h
h
h
)
*>
(
a
a
a
a
a
a
)
(
v2
h
h
h
h
h
)
*>
(
a
a
a
a
a
a
)
(
v2
v3
h
h
h
h
)
*>
(
a
a
a
a
a
a
)
(
v2
v3
v4
h
h
h
)
*>
(
a
)
(
a
)
*>
*>
where
a
denotes
an
element
of
the
original
matrix
A
,
h
denotes
a
*>
modified
element
of
the
upper
Hessenberg
matrix
H
,
and
vi
denotes
an
*>
element
of
the
vector
defining
H
(
i
)
.
*>
\
endverbatim
*>
*
=====================================================================
SUBROUTINE
ZGEHD2
(
N
,
ILO
,
IHI
,
A
,
LDA
,
TAU
,
WORK
,
INFO
)
*
*
--
LAPACK
computational
routine
(
version
3.4.0
)
--
*
--
LAPACK
is
a
software
package
provided
by
Univ
.
of
Tennessee
,
--
*
--
Univ
.
of
California
Berkeley
,
Univ
.
of
Colorado
Denver
and
NAG
Ltd
..
--
*
November
2011
*
*
..
Scalar
Arguments
..
INTEGER
IHI
,
ILO
,
INFO
,
LDA
,
N
*
..
*
..
Array
Arguments
..
COMPLEX
*
16
A
(
LDA
,
*
),
TAU
(
*
),
WORK
(
*
)
*
..
*
*
=====================================================================
*
*
..
Parameters
..
COMPLEX
*
16
ONE
PARAMETER
(
ONE
=
(
1.0D+0
,
0.0D+0
)
)
*
..
*
..
Local
Scalars
..
INTEGER
I
COMPLEX
*
16
ALPHA
*
..
*
..
External
Subroutines
..
EXTERNAL
XERBLA
,
ZLARF
,
ZLARFG
*
..
*
..
Intrinsic
Functions
..
INTRINSIC
DCONJG
,
MAX
,
MIN
*
..
*
..
Executable
Statements
..
*
*
Test
the
input
parameters
*
INFO
=
0
IF
(
N
.LT.
0
)
THEN
INFO
=
-1
ELSE
IF
(
ILO
.LT.
1
.OR.
ILO
.GT.
MAX
(
1
,
N
)
)
THEN
INFO
=
-2
ELSE
IF
(
IHI
.LT.
MIN
(
ILO
,
N
)
.OR.
IHI
.GT.
N
)
THEN
INFO
=
-3
ELSE
IF
(
LDA
.LT.
MAX
(
1
,
N
)
)
THEN
INFO
=
-5
END
IF
IF
(
INFO
.NE.
0
)
THEN
CALL
XERBLA
(
'ZGEHD2'
,
-
INFO
)
RETURN
END
IF
*
DO
10
I
=
ILO
,
IHI
-
1
*
*
Compute
elementary
reflector
H
(
i
)
to
annihilate
A
(
i
+2
:
ihi
,
i
)
*
ALPHA
=
A
(
I
+1
,
I
)
CALL
ZLARFG
(
IHI
-
I
,
ALPHA
,
A
(
MIN
(
I
+2
,
N
),
I
),
1
,
TAU
(
I
)
)
A
(
I
+1
,
I
)
=
ONE
*
*
Apply
H
(
i
)
to
A
(
1
:
ihi
,
i
+1
:
ihi
)
from
the
right
*
CALL
ZLARF
(
'Right'
,
IHI
,
IHI
-
I
,
A
(
I
+1
,
I
),
1
,
TAU
(
I
),
$
A
(
1
,
I
+1
),
LDA
,
WORK
)
*
*
Apply
H
(
i
)
**
H
to
A
(
i
+1
:
ihi
,
i
+1
:
n
)
from
the
left
*
CALL
ZLARF
(
'Left'
,
IHI
-
I
,
N
-
I
,
A
(
I
+1
,
I
),
1
,
$
DCONJG
(
TAU
(
I
)
),
A
(
I
+1
,
I
+1
),
LDA
,
WORK
)
*
A
(
I
+1
,
I
)
=
ALPHA
10
CONTINUE
*
RETURN
*
*
End
of
ZGEHD2
*
END
packages/lapack/zlahr2.f
0 → 100644
View file @
08436636
*>
\
brief
\
b
ZLAHR2
*
*
===========
DOCUMENTATION
===========
*
*
Online
html
documentation
available
at
*
http
://
www
.netlib.
org
/
lapack
/
explore
-
html
/
*
*>
\
htmlonly
*>
Download
ZLAHR2
+
dependencies
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlahr2.f"
>
*>
[
TGZ
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlahr2.f"
>
*>
[
ZIP
]
<
/
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlahr2.f"
>
*>
[
TXT
]
<
/
a
>
*>
\
endhtmlonly
*
*
Definition
:
*
===========
*
*
SUBROUTINE
ZLAHR2
(
N
,
K
,
NB
,
A
,
LDA
,
TAU
,
T
,
LDT
,
Y
,
LDY
)
*
*
..
Scalar
Arguments
..
*
INTEGER
K
,
LDA
,
LDT
,
LDY
,
N
,
NB
*
..
*
..
Array
Arguments
..
*
COMPLEX
*
16
A
(
LDA
,
*
),
T
(
LDT
,
NB
),
TAU
(
NB
),
*
$
Y
(
LDY
,
NB
)
*
..
*
*
*>
\
par
Purpose
:
*
=============
*>
*>
\
verbatim
*>
*>
ZLAHR2
reduces
the
first
NB
columns
of
A
complex
general
n
-
BY
-
(
n
-
k
+1
)
*>
matrix
A
so
that
elements
below
the
k
-
th
subdiagonal
are
zero
.
The
*>
reduction
is
performed
by
an
unitary
similarity
transformation
*>
Q
**
H
*
A
*
Q
.
The
routine
returns
the
matrices
V
and
T
which
determine
*>
Q
as
a
block
reflector
I
-
V
*
T
*
V
**
H
,
and
also
the
matrix
Y
=
A
*
V
*
T
.
*>
*>
This
is
an
auxiliary
routine
called
by
ZGEHRD
.
*>
\
endverbatim
*
*
Arguments
:
*
==========
*
*>
\
param
[
in
]
N
*>
\
verbatim
*>
N
is
INTEGER
*>
The
order
of
the
matrix
A
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
K
*>
\
verbatim
*>
K
is
INTEGER
*>
The
offset
for
the
reduction
.
Elements
below
the
k
-
th
*>
subdiagonal
in
the
first
NB
columns
are
reduced
to
zero
.
*>
K
<
N
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
NB
*>
\
verbatim
*>
NB
is
INTEGER
*>
The
number
of
columns
to
be
reduced
.
*>
\
endverbatim
*>
*>
\
param
[
in
,
out
]
A
*>
\
verbatim
*>
A
is
COMPLEX
*
16
array
,
dimension
(
LDA
,
N
-
K
+1
)
*>
On
entry
,
the
n
-
by
-
(
n
-
k
+1
)
general
matrix
A
.
*>
On
exit
,
the
elements
on
and
above
the
k
-
th
subdiagonal
in
*>
the
first
NB
columns
are
overwritten
with
the
corresponding
*>
elements
of
the
reduced
matrix
;
the
elements
below
the
k
-
th
*>
subdiagonal
,
with
the
array
TAU
,
represent
the
matrix
Q
as
a
*>
product
of
elementary
reflectors
.
The
other
columns
of
A
are
*>
unchanged
.
See
Further
Details
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
LDA
*>
\
verbatim
*>
LDA
is
INTEGER
*>
The
leading
dimension
of
the
array
A
.
LDA
>=
max
(
1
,
N
)
.
*>
\
endverbatim
*>
*>
\
param
[
out
]
TAU
*>
\
verbatim
*>
TAU
is
COMPLEX
*
16
array
,
dimension
(
NB
)
*>
The
scalar
factors
of
the
elementary
reflectors
.
See
Further
*>
Details
.
*>
\
endverbatim
*>
*>
\
param
[
out
]
T
*>
\
verbatim
*>
T
is
COMPLEX
*
16
array
,
dimension
(
LDT
,
NB
)
*>
The
upper
triangular
matrix
T
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
LDT
*>
\
verbatim
*>
LDT
is
INTEGER
*>
The
leading
dimension
of
the
array
T
.
LDT
>=
NB
.
*>
\
endverbatim
*>
*>
\
param
[
out
]
Y
*>
\
verbatim
*>
Y
is
COMPLEX
*
16
array
,
dimension
(
LDY
,
NB
)
*>
The
n
-
by
-
nb
matrix
Y
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
LDY
*>
\
verbatim
*>
LDY
is
INTEGER
*>
The
leading
dimension
of
the
array
Y
.
LDY
>=
N
.
*>
\
endverbatim
*
*
Authors
:
*
========
*
*>
\
author
Univ
.
of
Tennessee
*>
\
author
Univ
.
of
California
Berkeley
*>
\
author
Univ
.
of
Colorado
Denver
*>
\
author
NAG
Ltd
.
*
*>
\
date
November
2011
*
*>
\
ingroup
complex16OTHERauxiliary
*
*>
\
par
Further
Details
:
*
=====================
*>
*>
\
verbatim
*>
*>
The
matrix
Q
is
represented
as
a
product
of
nb
elementary
reflectors
*>
*>
Q
=
H
(
1
)
H
(
2
)
.
.
.
H
(
nb
)
.
*>
*>
Each
H
(
i
)
has
the
form
*>
*>
H
(
i
)
=
I
-
tau
*
v
*
v
**
H
*>
*>
where
tau
is
a
complex
scalar
,
and
v
is
a
complex
vector
with
*>
v
(
1
:
i
+
k
-1
)
=
0
,
v
(
i
+
k
)
=
1
;
v
(
i
+
k
+1
:
n
)
is
stored
on
exit
in
*>
A
(
i
+
k
+1
:
n
,
i
),
and
tau
in
TAU
(
i
)
.
*>
*>
The
elements
of
the
vectors
v
together
form
the
(
n
-
k
+1
)
-
by
-
nb
matrix
*>
V
which
is
needed
,
with
T
and
Y
,
to
apply
the
transformation
to
the
*>
unreduced
part
of
the
matrix
,
using
an
update
of
the
form
:
*>
A
:
=
(
I
-
V
*
T
*
V
**
H
)
*
(
A
-
Y
*
V
**
H
)
.
*>
*>
The
contents
of
A
on
exit
are
illustrated
by
the
following
example
*>
with
n
=
7
,
k
=
3
and
nb
=
2
:
*>
*>
(
a
a
a
a
a
)
*>
(
a
a
a
a
a
)
*>
(
a
a
a
a
a
)
*>
(
h
h
a
a
a
)
*>
(
v1
h
a
a
a
)
*>
(
v1
v2
a
a
a
)
*>
(
v1
v2
a
a
a
)
*>
*>
where
a
denotes
an
element
of
the
original
matrix
A
,
h
denotes
a
*>
modified
element
of
the
upper
Hessenberg
matrix
H
,
and
vi
denotes
an
*>
element
of
the
vector
defining
H
(
i
)
.
*>
*>
This
subroutine
is
a
slight
modification
of
LAPACK
-3.0
's DLAHRD
*> incorporating improvements proposed by Quintana-Orti and Van de
*> Gejin. Note that the entries of A(1:K,2:NB) differ from those
*> returned by the original LAPACK-3.0'
s
DLAHRD
routine
.
(
This
*>
subroutine
is
not
backward
compatible
with
LAPACK
-3.0
's DLAHRD.)
*> \endverbatim
*
*> \par References:
* ================
*>
*> Gregorio Quintana-Orti and Robert van de Geijn, "Improving the
*> performance of reduction to Hessenberg form," ACM Transactions on
*> Mathematical Software, 32(2):180-194, June 2006.
*>
* =====================================================================
SUBROUTINE ZLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
*
* -- LAPACK auxiliary routine (version 3.4.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2011
*
* .. Scalar Arguments ..
INTEGER K, LDA, LDT, LDY, N, NB
* ..
* .. Array Arguments ..
COMPLEX*16 A( LDA, * ), T( LDT, NB ), TAU( NB ),
$ Y( LDY, NB )
* ..
*
* =====================================================================
*
* .. Parameters ..
COMPLEX*16 ZERO, ONE
PARAMETER ( ZERO = ( 0.0D+0, 0.0D+0 ),
$ ONE = ( 1.0D+0, 0.0D+0 ) )
* ..
* .. Local Scalars ..
INTEGER I
COMPLEX*16 EI
* ..
* .. External Subroutines ..
EXTERNAL ZAXPY, ZCOPY, ZGEMM, ZGEMV, ZLACPY,
$ ZLARFG, ZSCAL, ZTRMM, ZTRMV, ZLACGV
* ..
* .. Intrinsic Functions ..
INTRINSIC MIN
* ..
* .. Executable Statements ..
*
* Quick return if possible
*
IF( N.LE.1 )
$ RETURN
*
DO 10 I = 1, NB
IF( I.GT.1 ) THEN
*
* Update A(K+1:N,I)
*
* Update I-th column of A - Y * V**H
*
CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA )
CALL ZGEMV( '
NO
TRANSPOSE
', N-K, I-1, -ONE, Y(K+1,1), LDY,
$ A( K+I-1, 1 ), LDA, ONE, A( K+1, I ), 1 )
CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA )
*
* Apply I - V * T**H * V**H to this column (call it b) from the
* left, using the last column of T as workspace
*
* Let V = ( V1 ) and b = ( b1 ) (first I-1 rows)
* ( V2 ) ( b2 )
*
* where V1 is unit lower triangular
*
* w := V1**H * b1
*
CALL ZCOPY( I-1, A( K+1, I ), 1, T( 1, NB ), 1 )
CALL ZTRMV( '
Lower
', '
Conjugate
transpose
', '
UNIT
',
$ I-1, A( K+1, 1 ),
$ LDA, T( 1, NB ), 1 )
*
* w := w + V2**H * b2
*
CALL ZGEMV( '
Conjugate
transpose
', N-K-I+1, I-1,
$ ONE, A( K+I, 1 ),
$ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 )
*
* w := T**H * w
*
CALL ZTRMV( '
Upper
', '
Conjugate
transpose
', '
NON
-
UNIT
',
$ I-1, T, LDT,
$ T( 1, NB ), 1 )
*
* b2 := b2 - V2*w