forum.alglib.net
http://forum.alglib.net/

SVD and eigen decomposition of complex matrices in ALGLIB ?
http://forum.alglib.net/viewtopic.php?f=2&t=285
Page 1 of 1

Author:  Erumai [ Tue Jan 25, 2011 9:12 am ]
Post subject:  SVD and eigen decomposition of complex matrices in ALGLIB ?

Hello,

I can see from the manual that there are routines available for singular value and eigen decomposition of real matrices. For my tasks, I am looking for the same routines that can operate on complex matrices. Are they available in ALGLIB ? If not, is it possible for me to modify the real matrix routines? (i guess that should be a seperate project on to itself)

thanks
Erumai

Author:  Sergey.Bochkanov [ Tue Jan 25, 2011 10:31 am ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

Hello!

Any complex matrix can be reduced to the bidiagonal real one by orthogonal (complex) two-side transformation. After that you can just call alglib::rmatrixbdsvd() function for this real bidiagonal matrix. Same with Hermitian matrices - they can be reduced to real tridiagonal ones. So the only thing you should do yourself is just to implement complex bidiagonal/tridiagonal reduction.

In fact, it is very easy. The only reason ALGLIB still doesn't have complex SVD/EVD is just because there always were features with higher priority :(

BTW, have you ever solved your issue with matrix inversion? I've thought over it during weekend, but the only idea I've come up with is that your compiler miscompiles ALGLIB for some reason (these "'ae_vector_init_copy undeclared identifier" messages).

Author:  Erumai [ Tue Jan 25, 2011 3:06 pm ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

Hi Sergey,

thanks for the quick and prompt reply. I will try bidiagonalizing the complex matrix.

And the matrix inversion issue still remains. Infact the routines for complex matrix determinant and complex matrix Lu decomposition work well. But somehow the cmatrixluinverse does not work. I even tried using cmatrixluinverse() using the pivots obtained from lu decomposition, but in vain.

Please let me know if something pops up in ur main regarding this weird error.

regards
Ramesh

Author:  Sergey.Bochkanov [ Tue Jan 25, 2011 5:15 pm ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

I've replied with my ideas about inversion error to the original topic.

Author:  Erumai [ Wed Feb 02, 2011 1:30 pm ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

Hello Sergey,

For the complex matrix SVD, I guess bidiagonalizing the matrix and then taking the SVD of the bidiagonal real matrix, will give the singular values. But what about the eigen value decomposition of a complex matrix (non symmetric, non hermitian) in ALGLIB? Is it somehow possible using the existing routines?

Author:  Sergey.Bochkanov [ Wed Feb 02, 2011 5:55 pm ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

No, you have to use completely different algorithm for complex unsymmetric case. Well, not quite different - it is complex variant of rmatrixevd() with similar control flow - but you can't reuse existing code. I recommend you to look at LAPACK's computational routines.

Author:  Erumai [ Thu Feb 03, 2011 8:20 am ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

Hi Sergey,

Thanks for the reply. I just found another way...I used the results of complex matrix QR decomposition, from the routine cmatrixqr(), to implement the QR algorithm (which is infact quite simple) and the results look pretty well. And as I am only interested in eigen decomposition of small matrices, I need not worry about the time it takes for iterations. Infactfor 12x12 matrix even 10000 iterations get done in a pretty quick time and the results converge quite well.

thanks
Erumai

Author:  marzieh [ Tue Jul 16, 2013 7:36 am ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

hello sergey,
I need to compute SVD & eigen value decomposition of complex matrices, but i have no idea about bidiagonalizing a complex matrix.
can you please help me with this.
thanks in advance.

Author:  Erumai [ Thu Jul 18, 2013 5:14 am ]
Post subject:  Re: SVD and eigen decomposition of complex matrices in ALGLI

Hello,

Its quite some time since I am completely out of linear algebra. I'm into a totally new profession based on electrical engineering hardware..I'm sorry to say that I dont have time now. Please contact other experts in this regard.

Erumai

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/