## Eigenvectors for non-symmetric dense matrix (ScaLAPACK)

Post here if you have a question about LAPACK or ScaLAPACK algorithm or data format

### Eigenvectors for non-symmetric dense matrix (ScaLAPACK)

Hi,
Is there routine in ScaLAPACK for solving eigenvectors and eigenvalues for non-symmetric dense matrix?

Thanks.
zarkobodroski

Posts: 4
Joined: Thu Jan 12, 2012 4:15 am

### Re: Eigenvectors for non-symmetric dense matrix (ScaLAPACK)

Unfortunately no. There is no such things as an PDGEEV (the ScaLAPACK equivalent of LAPACK DGEEV). We have made some progresses recently thanks to contributions from Robert Granat, Bo Kågström, Meiyue Shao (Umeå University and HPC2N), and Daniel Kressner (École Polytechnique Fédérale de Lausanne). But we are yet missing the eigenvectors computation from the Schur form and a driver to link all the subroutines together. Cheers, Julien.
Julien Langou

Posts: 835
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA

### Re: Eigenvectors for non-symmetric dense matrix (ScaLAPACK)

Dear Julien,

has there been any progress regarding the Schur decomposition?

best wishes
VB
volkerblum

Posts: 2
Joined: Wed Sep 12, 2012 5:31 pm

### Re: Eigenvectors for non-symmetric dense matrix (ScaLAPACK)

I believe I have found a solution . The description below omits things like allocating memory, initializing the descriptors etc. To find the left eigenvectors of a square non-symmetric eigenproblem (NEP) I do the following (I am using scalar type 'C'):

Call PCGEHRD(N,1,N,A,1,1,DESCA,TAU,WORK,LWORK,INFO) where A is my distributed complex matrix of order N
Take the result in A and split it up into two matrices, H (upper triangular part plus first subdiagonal) and Q (the rest) as described in the PGEHRD documentation. Initialize a new distributed matrix Z and set it to the identity matrix.
Call PCLAHQR(.TRUE.,.TRUE.,N,1,N,H,DESCH,W,1,N,Z,DESCZ,WORK,LWORK,-1,-1,INFO)
Call PCTREVC( 'R', 'B', SELECT, N, H, DESCH, VL, DESCVL, Z, DESCZ, N, N, WORK, RWORK, INFO )
Call PCUNMHR('L','N',N,N,1,N,Q,1,1,DESCQ,TAU,Z,1,1,DESCZ,WORK,LWORK,INFO)

Now the left eigenvectors are in the matrix Z. So basically, the matrix is transformed twice, and the transformations are captured in different ways. After the eigenvectors are calculated, the transformations are reversed to yield the eigenvectors of A.
wardbg

Posts: 1
Joined: Tue Jun 13, 2017 6:32 pm