To answer your question, I have asked around.

Below is the answer from Mark Fahey (currently at Oak Ridge National Lab., US).

Julien.

When I contributed pzlahqr and pztrevc a few years back, it was known (see

reference below) that pztrevc had scaling issues. If I remember correctly,

I created a subroutine pzlatrs that was used to do numerical scaling

(similar to the serial zlatrs), but this routine does not scale in parallel

sense. If numerical scaling is not needed, then a direct call to the level

2 PB LAS pztrsv rather pztrevc would be much faster.

Since contribution of pzlahqr and pztrevc, I have not revisited pztrevc.

@Article{Fahey:2003:APE,

author = "Mark R. Fahey",

title = "Algorithm 826: A Parallel Eigenvalue Routine for Complex

{Hessenberg} Matrices",

journal = "{ACM} Transactions on Mathematical Software",

volume = "29",

number = "3",

pages = "326--336",

month = sep,

year = "2003",

URL = "http://doi.acm.org/10.1145/838250.838256",

abstract = "A code for computing the eigenvalues of a complex

Hessenberg matrix is presented. This code computes the Schur decomposition

of a complex Hessenberg matrix. Together with existing ScaLAPACK routines,

the eigenvalues of dense complex matrices can be directly computed using a

parallel QR algorithm. This parallel complex Schur decomposition routine

was developed to fill a void in the ScaLAPACK library and was based on the

parallel real Schur decomposition routine already in ScaLAPACK. The

real-arithmetic version was appropriately modified to make it work with

complex arithmetic and implement a complex multiple bulge QR algorithm.

This

also required the development of new auxiliary routines that perform

essential operations for the complex Schur decomposition, and that will

provide additional linear algebra computation capability to the parallel

numerical library community.",

}