PDLAQR1 possible bug?

Post here if you want to report a bug to the LAPACK team

PDLAQR1 possible bug?

Postby siegyoung » Tue Jul 30, 2013 3:34 pm

Hello,

I recently ran routine pdlaqr1 and and noticed that when the matrix size is small, like N=200, not all processes get the right eigenvalues.
Code: Select all
       
       call pdlaqr1( .true., .true., N, 1, N, suba, desca, eigenr, eigeni, 1, N, subq, descq, work_query, -1, iwork_query, -1, info )
       scal_lwork =  work_query(1)
       scal_liwork = 200   !iwork_query(1)
       allocate( scal_iwork(1:scal_liwork), scal_work(1:scal_lwork))
       call pdlaqr1( .true., .true., N, 1, N, suba, desca, eigenr, eigeni, 1, N, subq, descq, scal_work, scal_lwork, scal_iwork, scal_liwork, info )
       deallocate( scal_work, scal_iwork)     
       write(*,'(10f15.5)') eigenr(1:10)

Results:
    Hessenberg form done, elapsed time is 0.00784922
    Form Q explicity
    Extract upper Hessenberg part of A
    Compute the Schur form
    0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
    669.52573 669.52573 669.47536 669.60219 669.60219 669.99080 669.89390 669.89390 669.78509 669.78509
    0.00000 0.00000 0.00000 0.00000 -0.00376 -0.00167 -0.00089 0.00355 0.00023 -0.00269
    0.00000 0.00000 0.00000 0.00000 0.00000 -0.03007 0.00000 0.00000 -0.15640 0.00000
Only the root (proc 0) get the eigenvalues (in blue). But if I enlarge the matrix size to 1000, all processors get the same eigenvalues. Also, I compared the results to the output of matlab schur.m. It seems that pdlaqr1 did not read out the eigenvalues correctly while pdlahqr produced the same eigenvalues consistent with matlab.


Best,
Sieg
siegyoung
 
Posts: 4
Joined: Tue Jul 30, 2013 10:25 am

Return to Bug report

Who is online

Users browsing this forum: Yahoo [Bot] and 2 guests