[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [Help-gsl] complex SVD

**From**: |
Thies Jochimsen |

**Subject**: |
[Help-gsl] complex SVD |

**Date**: |
Wed, 12 Jul 2006 16:30:21 +0200 |

**User-agent**: |
KMail/1.7.2 |

Hello,
I am using a complex singular value decomposition (SVD) for
reconstruction of magnetic resonance imaging data.
Since GSL does not provide a complex SVD, I convert the
complex N x N matrix to a real-valued 2N x 2N matrix (as
described in numerical recipes in C) which I then use as
input to the gsl_linalg_SV_decomp function.
However, the matrix is rather large and heavily overdetermined
(much more rows than columns) so the computation time is
very long and I am looking for ways to speed it up.
A direct complex SVD would certainly help.
Thus, I am willing to add this to GSL. Using C++, I would
just make the data type a template parameter, but since
this is not possible in C, I looked at
the code of some existing complex matrix algorithms in the
linalg sub-directory (e.g. gsl_linalg_LU_decomp/
gsl_linalg_complex_LU_decomp). It seems that the code is
simply doubled, except for the real-/complex-valued arithmetic.
Would this be the recommended way to implement a complex
SVD in GSL?
Thies

**[Help-gsl] complex SVD**,
*Thies Jochimsen* **<=**