## Developer Reference

• 2020.2
• 07/15/2020
• Public Content
Contents

# p?hengst

Reduces a complex Hermitian-definite generalized eigenproblem to standard form.

## Syntax

Description
p?hengst
reduces a complex Hermitian-definite generalized eigenproblem to standard form.
p?hengst
performs the same function as
p?hegst
, but is based on rank 2K updates, which are faster and more scalable than triangular solves (the basis of
p?hengst
).
p?hengst
calls
p?hegst
when
uplo
='U', hence
p?hengst
provides improved performance only when
uplo
='L' and
ibtype
=1.
p?hengst
also calls
p?hegst
when insufficient workspace is provided, hence
p?hengst
provides improved performance only when
lwork
is sufficient (as described in the parameter descriptions).
In the following sub(
A
) denotes the submatrix
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1 ) and sub(
B
) denotes the submatrix
B
(
ib
:
ib
+
n
-1,
jb
:
jb
+
n
-1 ).
If
ibtype
= 1, the problem is sub(
A
)*x = lambda*sub(
B
)*x, and sub(
A
) is overwritten by inv(
U
H
)*sub(
A
)*inv(
U
) or inv(
L
)*sub(
A
)*inv(
L
H
)
If
ibtype
= 2 or 3, the problem is sub(
A
)*sub(
B
)*x = lambda*x or sub(
B
)*sub(
A
)*x = lambda*x, and sub(
A
) is overwritten by
U
*sub(
A
)*
U
H
or
L
H
*sub(
A
)*
L
.
sub(
B
) must have been previously factorized as
U
H
*
U
or
L
*
L
H
by
p?potrf
.
Input Parameters
ibtype
(global)
INTEGER.
= 1: compute inv(
U
H
)*sub(
A
)*inv(
U
) or inv(
L
)*sub(
A
)*inv(
L
H
);
= 2 or 3: compute
U
*sub(
A
)*
U
H
or
L
H
*sub(
A
)*
L
.
uplo
(global)
CHARACTER.
= 'U': Upper triangle of sub(
A
) is stored and sub(
B
) is factored as
U
H
*
U
;
= 'L': Lower triangle of sub(
A
) is stored and sub(
B
) is factored as
L
*
L
H
.
n
(global)
INTEGER.
The order of the matrices sub(
A
) and sub(
B
).
n
>= 0.
a
(local)
COMPLEX
for
pchengst
DOUBLE COMPLEX
for
pzhengst
Pointer into the local memory to an array of size
(
lld_a
,
LOCc
(
ja
+
n
-1))
.
On entry, this array contains the local pieces of the
n
-by-
n
Hermitian distributed matrix sub(
A
). If
uplo