Thread Subject: Large eigenvector decompositions

Subject: Large eigenvector decompositions

From: Gareth Edwards

Date: 23 Aug, 2002 05:01:42

Message: 1 of 10

Hi,


Does anybody know if there's an alternative to 'eig' which is more
memory efficient. I need an eigenvector decomposition of a
(2000x10000) matrix.


Thanks,


Gareth

Subject: Large eigenvector decompositions

From: Paige Miller

Date: 23 Aug, 2002 08:27:38

Message: 2 of 10

Gareth Edwards wrote:


> Does anybody know if there's an alternative to 'eig' which is more
> memory efficient. I need an eigenvector decomposition of a
> (2000x10000) matrix.

If you want just the first (or last) few eigenvectors of the matrix, try
svds

--
Paige Miller
paige.miller@kodak.com
http://www.kodak.com

"It's nothing until I call it!" -- Bill Klem, NL Umpire
"When you get the choice to sit it out or dance, I hope you dance" --
Lee Ann Womack

Subject: Large eigenvector decompositions

From: John D'Errico

Date: 23 Aug, 2002 09:05:35

Message: 3 of 10

In article <eeb11e6.-1@WebX.raydaftYaTP>, "Gareth Edwards"
<gareth.edwards@image-metrics.com> wrote:

> Does anybody know if there's an alternative to 'eig' which is more
> memory efficient. I need an eigenvector decomposition of a
> (2000x10000) matrix.

Thats interesting. I thought eigenvectors only
applied to square matrices. Is this a new
feature of matlab?

John

--

Subject: Large eigenvector decompositions

From: Hugo

Date: 23 Aug, 2002 18:10:33

Message: 4 of 10

I found that the routine bigpca.m from the PLS toolbox is excellent for this
type of job. It doesn't need to compute the covariance matrix (or the
inverse) of all your data matrix, just the first n components you want.
http://www.eigenvector.com/PLS_Toolbox.html

HTH

Hugo


"Gareth Edwards" <gareth.edwards@image-metrics.com> wrote in message
news:eeb11e6.-1@WebX.raydaftYaTP...
> Hi,
>
>
> Does anybody know if there's an alternative to 'eig' which is more
> memory efficient. I need an eigenvector decomposition of a
> (2000x10000) matrix.
>
>
> Thanks,
>
>
> Gareth

Subject: Large eigenvector decompositions

From: Gareth Edwards

Date: 27 Aug, 2002 07:29:22

Message: 5 of 10

John is right of course - I should have said I'm doing PCA on
2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
though it can be mades a 2000x2000 problem.


John D'Errico wrote:
>
>
> In article <eeb11e6.-1@WebX.raydaftYaTP>, "Gareth Edwards"
> <gareth.edwards@image-metrics.com> wrote:
>
>> Does anybody know if there's an alternative to 'eig' which is
more
>> memory efficient. I need an eigenvector decomposition of a
>> (2000x10000) matrix.
>
> Thats interesting. I thought eigenvectors only
> applied to square matrices. Is this a new
> feature of matlab?
>
> John
>
> --
>
>

Subject: Large eigenvector decompositions

From: Gareth Edwards

Date: 27 Aug, 2002 07:30:33

Message: 6 of 10

John is right of course - I should have said I'm doing PCA on
2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
though it can be mades a 2000x2000 problem.


John D'Errico wrote:
>
>
> In article <eeb11e6.-1@WebX.raydaftYaTP>, "Gareth Edwards"
> <gareth.edwards@image-metrics.com> wrote:
>
>> Does anybody know if there's an alternative to 'eig' which is
more
>> memory efficient. I need an eigenvector decomposition of a
>> (2000x10000) matrix.
>
> Thats interesting. I thought eigenvectors only
> applied to square matrices. Is this a new
> feature of matlab?
>
> John
>
> --
>
>

Subject: Large eigenvector decompositions

From: John D'Errico

Date: 27 Aug, 2002 08:50:27

Message: 7 of 10

In article <eeb11e6.3@WebX.raydaftYaTP>, "Gareth Edwards"
<gareth.edwards@image-metrics.com> wrote:

> John is right of course - I should have said I'm doing PCA on
> 2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
> though it can be mades a 2000x2000 problem.
>

Yeah, I kind of figured it was pca. Eigs, or svds
if you prefer, will give you only a few eigenvalues.

Even the power method will give you the first few
eigenvalue/eigenvector pairs. Use deflation after
you get the first eigenvector to kill off the
corresponding eigenvalue, then repeat.

John

--

Subject: Large eigenvector decompositions

From: lg@rndee.dk (Lars Gregersen)

Date: 30 Aug, 2002 19:10:50

Message: 8 of 10

On Tue, 27 Aug 2002 07:29:22 -0400, "Gareth Edwards"
<gareth.edwards@image-metrics.com> wrote:

>John is right of course - I should have said I'm doing PCA on
>2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
>though it can be mades a 2000x2000 problem.

Many PCA routines assume that the number of rows is larger than the
number of columns. For small problems it doesn't matter - for large
problems it matters a lot.

Fortunately, you can simply perform the PCA on X' and transform the
result into the PCA you would have obtained from doing it on X.

  Lars

Lars Gregersen
www.rndee.dk
lg@rndee.dk

Subject: Large eigenvector decompositions

From: Andrew Willis

Date: 15 Jul, 2011 08:17:08

Message: 9 of 10

lg@rndee.dk (Lars Gregersen) wrote in message <3d6fc2c6.11637794@news.cybercity.dk>...
> On Tue, 27 Aug 2002 07:29:22 -0400, "Gareth Edwards"
> <gareth.edwards@image-metrics.com> wrote:
>
> >John is right of course - I should have said I'm doing PCA on
> >2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
> >though it can be mades a 2000x2000 problem.
>
> Many PCA routines assume that the number of rows is larger than the
> number of columns. For small problems it doesn't matter - for large
> problems it matters a lot.
>
> Fortunately, you can simply perform the PCA on X' and transform the
> result into the PCA you would have obtained from doing it on X.
>
> Lars
>
> Lars Gregersen
> www.rndee.dk
> lg@rndee.dk


I think it matter whatever the size of the problem. If the matrix isn't full rank you will not fully explore the space and your PCA will be defficient some dimensions.

Subject: Large eigenvector decompositions

From: John D'Errico

Date: 15 Jul, 2011 10:15:14

Message: 10 of 10

"Andrew Willis" wrote in message <ivot24$i26$1@newscl01ah.mathworks.com>...
> lg@rndee.dk (Lars Gregersen) wrote in message <3d6fc2c6.11637794@news.cybercity.dk>...
> > On Tue, 27 Aug 2002 07:29:22 -0400, "Gareth Edwards"
> > <gareth.edwards@image-metrics.com> wrote:
> >
> > >John is right of course - I should have said I'm doing PCA on
> > >2000x10000 data matrix. Anyway, it's too big for 'eig' or 'svd' even
> > >though it can be mades a 2000x2000 problem.
> >
> > Many PCA routines assume that the number of rows is larger than the
> > number of columns. For small problems it doesn't matter - for large
> > problems it matters a lot.
> >
> > Fortunately, you can simply perform the PCA on X' and transform the
> > result into the PCA you would have obtained from doing it on X.
> >
> > Lars
> >
> > Lars Gregersen
> > www.rndee.dk
> > lg@rndee.dk
>
>
> I think it matter whatever the size of the problem. If the matrix isn't full rank you will not fully explore the space and your PCA will be defficient some dimensions.

This is a completely irrelevant statement, that you do
not explore the last few dimensions of noise.

The first few eigenvectors generally have structure to
them, indicating behavior that matters in the problem
under study. Those eigenvectors which you do not
fully expose, because the matrix was rank deficient,
are also random noise.

In the case of a truly rank deficient problem, we can
suppose that all the remaining singular values are
exactly zero. In that case, the corresponding singular
vectors all lie in the null space, and are not even unique.
ANY orthogonal basis of that subspace is equally valid.
As such, we have no information about those vectors
except that they span the null space, no do we really
care what they are. They are noise.

John

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com