Matrix transpose in LAPACKE_dsygvx

Open discussion regarding features, bugs, issues, vendors, etc.

Matrix transpose in LAPACKE_dsygvx

Postby pysmile » Sun Aug 28, 2016 10:29 pm

Hi,

I am working on LAPACKE_dsygvx. In LAPACKE_dsygvx_work.c, input and output matrices (matrix A & B) are transposed before and after calling LAPACK_dsygvx (line 110). The subroutine uses LAPACKE_dsy_trans to transpose symmetric matrix A, which seems reasonable to me. But it uses LAPACKE_dge_trans to transpose symmetric matrix B. From LAPACK document, B is triangular matrix as output. So it seems more straightforward for me to use LAPACKE_dsy_trans.
What is more, I still have a concern about this. If memory is limited, a user may use rest space to store other data. e.g., the upper triangular part of is used to store symmetric matrix and the lower triangular part (diagonal line excluded) can be used to store unit triangular matrix. So the data of the unit triangular matrix may be overwritten after transposing symmetric matrix back if LAPACKE_dge_trans is used.

Are there any other reasons for choosing LAPACKE_dge_trans?
pysmile
 
Posts: 2
Joined: Thu Jun 23, 2016 12:44 am

Re: Matrix transpose in LAPACKE_dsygvx

Postby Julien Langou » Mon Dec 26, 2016 5:34 am

Thanks for the bug report. (Please submit an issue on GitHub next time.)
This is corrected, see: https://github.com/Reference-LAPACK/lapack/commit/94a68a2937b4b3769aca5281dd4d588b36f1e42c
I have checked the `sister` subroutines lapacke_chbpvx_work.c and lapacke_chpgvx_work.c and they were all good.
Cheers,
Julien.
Julien Langou
 
Posts: 821
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to User Discussion

Who is online

Users browsing this forum: Bing [Bot] and 6 guests