[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Complex QR decomposition

From: Christian Krueger
Subject: Re: [Help-gsl] Complex QR decomposition
Date: Wed, 3 Jun 2020 12:52:44 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:60.0) Gecko/20100101 Thunderbird/60.9.1

Hi Patrick,

I don't want to insist on getting my patches introduced. But as I have,
meanwhile, learned a bit more about git and such, I thought I would make
my patch more easily accessible. I've merged my changes onto the current
git commit (as of today -- bb7f532c) and attach two clean patches (one
for the Householder fix and one for the complex QR) that could be applied.


On 11/27/17 10:34 PM, Patrick Alken wrote:
> Hi Christian,
>   This should be very useful. I will take a look at your code as soon
> as I can, though it may be a while as I am very busy with other things
> at the moment. I will add this to the bug tracker so it isn't lost.
> Thanks,
> Patrick
> On 11/27/2017 08:34 AM, Christian Krueger wrote:
>> 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:
>> 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
>> 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

Attachment: 0001-fix-pathological-case-in-householdercomplex.c.patch
Description: Text document

Attachment: 0002-add-complex-QR-decomposition.patch
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]