How to perform economy size bidiagonalization?

Open discussion regarding features, bugs, issues, vendors, etc.

How to perform economy size bidiagonalization?

Postby sth4nth » Thu Oct 11, 2012 9:30 am

Could some help me for this:
I want to perform economy size bidiagonalization of a m x n matrix A (m<n), such that A=QBP' where B is a bidiagonal matrix of size m x m, and Q, P are orthogonal matrices.
Currently, I use following two functions to do the job, from which I can get the factorization A=USV' where S is bidiagonal matrix of size m x n.
dgebrd(&m,&n,x,&m,d,e,tauq,taup,work,&lwork,&info);
dorgbr(&qp,&m,&m,&n,x,&m,tauq,work,&lwork,&info);

I can truncate the matrix S and V to get correct B and P. However this is not optimal in term of speed. From my test, this method is even slower than performing a economy SVD. How can I speed up my function so that I can directly get the economy size result? Thanks in advance.
sth4nth
 
Posts: 1
Joined: Thu Oct 11, 2012 9:12 am

Re: How to perform economy size bidiagonalization?

Postby Julien Langou » Fri Oct 12, 2012 12:25 pm

Hi,
What about calling DORGBR with arguments DORGBR( 'P', M, N, M, ... )? (I did not try, just read the doc, and your post.)
Julien.
Julien Langou
 
Posts: 735
Joined: Thu Dec 09, 2004 12:32 pm
Location: Denver, CO, USA


Return to User Discussion

Who is online

Users browsing this forum: Majestic-12 [Bot] and 1 guest