forwarded message from Donald Tournier

Donald Tournier
Thu Jan 22 14:28:00 GMT 2004

Thanks for all the tips. Unfortunately (or rather, fortunately), I have
just realised that I can exploit some of the symmetries in my problem to
reduce it to a real MxN inversion problem. I hope I haven't wasted
people's time too much...

However, I would be nice if the GSL had those functions in it: I was in
the middle of porting my code from matlab to C, and it was a little
frustrating to discover that I couldn't do it. If I have some spare time,
I might go through the LAPACK code, and see if I can port over to the GSL.
Not anytime soon, unfortunately...

Just for completeness, the aim was to obtain the least-squares spherical
harmonic decomposition of a bunch of measurements over the surface of a
sphere. The problem will usually be over-determined (hence M!=N), and the
symmetry I was alluding to is due to the fact that the measurements are
real quantities, implying conjugate symmetry in the components of the
harmonic series. I am using a Linux workstation, and performance using the
real inversion technique is pretty good (1,000,000 fits in around 20 sec).

Thanks for the advice, I'll spend a little more time thinking about the
problem the next time...


C J Kenneth Tan -- Heuchera Technologies said:
> Donald,
> You can find the routines that you need in LAPACK.  The routine to
> perform complex SVD is CGESVD and the routine to perform double
> complex SVD is ZGESVD.  You can also use CGETRF and CGETRI (or ZGETRF
> and ZGETRI in the case of double complex) to perform generalized
> matrix inverse (xGETRF and xGETRI pairs of routines use LU method).
> What is the application of your code?  What is the environment
> (OS/machine) that you will be running the code?  Is speed a
> consideration?
> Let me know if you have any questions.
> Ken
> -----------------------------------------------------------------------
> C. J. Kenneth Tan, Ph.D.
> Heuchera Technologies Ltd.
> E-mail:      Telephone: +44 798 941 7838
> Web:    Facsimile: +44 289 066 3015
> -----------------------------------------------------------------------
> This e-mail (and any attachments) is confidential and privileged.  It
> is intended only for the addressee(s) stated above.  If you are not an
> addressee, please accept my apologies and please do not use,
> disseminate, disclose, copy, publish or distribute information in this
> e-mail nor take any action through knowledge of its contents: to do so
> is strictly prohibited and may be unlawful.  Please inform me that
> this e-mail has gone astray, and delete this e-mail from your system.
> Thank you for your co-operation.
> -----------------------------------------------------------------------
> On Thu, 22 Jan 2004, Brian Gough wrote:
>> Date: Thu, 22 Jan 2004 12:43:27 +0000
>> From: Brian Gough <>
>> To:
>> Subject: forwarded message from Donald Tournier
>> ------- start of forwarded message -------
>> From: "Donald Tournier" <>
>> To:
>> Subject: [Help-gsl] MxN complex SVD
>> Date: Tue, 20 Jan 2004 19:08:59 -0000 (GMT)
>> Hi,
>> I need to find the inverse of a general MxN complex matrix. I was
>> thinking
>> of doing this using SVD, but I can only find SVD functions for real
>> matrices. Are there any (or are there any plans to add) equivalent SVD
>> functions for general complex matrices in the GSL? If not, could anyone
>> help me to write such a function (given that I have no experience of the
>> workings of SVD)?
>> Alternatively, maybe someone could suggest a (potentially better) way of
>> inverting a general MxN complex matrix?
>> Thanks for any help,
>> Donald Tournier
>> -------------------
>> Jacques-Donald Tournier
>> tel: +44 (0)20 7405 9200 ext 0338
>> Physics & Radiology Unit
>> Institute of Child Health
>> 30 Guildford Street
>> London WC1N 1EH
>> _______________________________________________
>> Help-gsl mailing list
>> ------- end of forwarded message -------

More information about the Gsl-discuss mailing list