Hi, I was looking for the QR decomposition for complex-valued matrices. As GSL does not provide this yet, I have copied the code for the real-valued QR and modified it to handle complex-valued matrices.
As I've seen in the archive that this feature has been requested a few times already, I am happy to share it with everyone who wants to use it. My github repository can be found at: https://github.com/mangroveck/gsl-qr-complex-devel.git The file linalg/qrc.c is essentially a copy of the file linalg/qr.c and provides a bunch of gsl_linalg_complex_QR_* functions. I've had to add "_complex" to the function calls and sometimes take the conjugate of tau when calling the householder-functions but the whole process was fairly straight-forward and the decomposition works. * My repository also includes my patch for the gsl_linalg_complex_householder_hv() function to handle the N=1 case. (I've just reported the bug on the bug-list). * I've added various tests to the file linalg/test.c to test the new gsl_linalg_complex_QR_* functions (in the same style as the tests for the real-valued QR decomp). * I've also adjusted the header file linalg/gsl_linalg.h and the file Makefile.am The only exception is the function gsl_linalg_complex_QR_update() which I haven't adjusted yet as it requires Givens rotations and they don't take complex values yet (within GSL). All other functionality from qr.c is now available for complex values, too. If it helps, I'm happy for this code to be included in GSL. Christian