Re: generating a sparse matrix with a specific singular value distribution
- From: charger144@xxxxxxxxxxxxxx
- Date: Sun, 26 Apr 2009 13:17:17 -0700 (PDT)
On Apr 26, 3:22 pm, Robert Israel
<isr...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Robert Israel <isr...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes:
Hello,
I want to test an iterative algorithm on sparse matrices with
different singular value distributions. I can generate a full matrix
with a given singular value distribution by using a reverse SVD
decomposition. That is I know:
A = U*D*V' for any A, where U and V are orthogonal. I can get U and V
from a QR decomposition and supply a D with the singular values that I
want to generate A.
However, is it possible to generate a sparse matrix A in this way
(apart from generating A as above and removing elements at random)?
I would appreciate any ideas on this, thanks for your help.
Use whatever D you want, and very sparse orthogonal matrices U and V.
For example, start with a permutation matrix and multiply a few times by
matrices for 2 x 2 rotations (i.e. randomly choose indices i and j and
an angle theta, and take the matrix M with M_{ii} = M_{jj} = cos(theta),
M_{ij} = -M_{ji} = sin(theta), otherwise as in the identity matrix).
--
Robert Israel isr...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia Vancouver, BC, Canada
Thanks for your suggestions. What I am currently doing to generate an
mxn full matrix A (m<n) is taking:
U mxm orthogonal (from a qr decomposition of a random matrix)
D mxm diagonal with the desired singular values
V nxm orthogonal (from a qr decomposition from another random matrix)
then A = U*D*V'
From your suggestion I would do the same process as above except takeU and V to be very sparse (makes sense - the hard part is generationg
sparse U and V :). I am sligthly confused about your explanation to
generate U and V. Do you mean:
Take some permutation matrix P and multiply this by a rotation matrix?
Suppose I take
an mxm permutation matrix. Then I take an mxm identity matrix M, take
two randomly chosen
indices i and j and set M_{ii} = M_{jj} = cos(theta) and M_{ij} = -M_
{ji} = sin(theta)?
then I compute U = P*M1*M2*M3.. where M's are chosen as above? and the
same for V?
Thanks again for your help.
.
- References:
- Prev by Date: Re: 0=1 ?
- Next by Date: Re: Probability question
- Previous by thread: generating a sparse matrix with a specific singular value distribution
- Next by thread: johnreed take 26 Part-4, Modified April 24, 2009
- Index(es):
Relevant Pages
|
Loading