Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
eigenvector

Subject: eigenvector

From: dofour

Date: 28 Feb, 2008 01:21:15

Message: 1 of 6

Hi

Is there an easy way to calculate the eigenvectors in which the first column is normalized to 1? eg. A is a 3x3 matrix, I want to get eigenvectors of A with the first eigenvector to be a unit vector.

Thanks.

Subject: eigenvector

From: John D'Errico

Date: 28 Feb, 2008 02:07:11

Message: 2 of 6

dofour <dofour@hotmail.com> wrote in message
<12272363.1204161706078.JavaMail.jakarta@nitrogen.mathforum.org>...
> Hi
>
> Is there an easy way to calculate the eigenvectors in which the first column
is normalized to 1? eg. A is a 3x3 matrix, I want to get eigenvectors of A with
the first eigenvector to be a unit vector.
>
> Thanks.

I'm not sure what you want. The eigenvectors
returned by eig will automatically have norm 1
already.

Are you asking to find a set of eigenvectors in
which the first eigenvector is specifically the
unit vector [1 0 0]'?

If this is what you want, it is not possible in the
general case, since that vector is not necessarily
an eigenvector. Do you know that the vector
above truly is an eigenvector, and you just want
to find the other two eigenvectors?

John

Subject: eigenvector

From: dofour

Date: 28 Feb, 2008 02:47:51

Message: 3 of 6

Matlab gives the eigenvectors with norm 1, I want the first eigenvector to be [1 1 1]. I don't know how to it from Matlab's eigenvectors

Thanks

Subject: eigenvector

From: John D'Errico

Date: 28 Feb, 2008 04:17:02

Message: 4 of 6

dofour <dofour@hotmail.com> wrote in message
<16976388.1204166901909.JavaMail.jakarta@nitrogen.mathforum.org>...
> Matlab gives the eigenvectors with norm 1, I want the first eigenvector to
be [1 1 1]. I don't know how to it from Matlab's eigenvectors
>
> Thanks

Again, you can't ensure that an eigenvector will be
some specific vector, because in general, you can't
ensure that that vector is an eigenvector. You can't
just decide to pick some vector as an eigenvector,
at least not unless your matrix has a specific
property, like all of its eigenvalues are equal. And
in that case, ANY set of orthogonal vectors will
suffice.

Do you know that [1 1 1] is an eigenvector? If so,
then it will be scaled to have norm 1. So just rescale
the vector. WTP?

John

Subject: eigenvector

From: Remus

Date: 15 Jun, 2013 19:50:09

Message: 5 of 6

"John D'Errico" <woodchips@rochester.rr.com> wrote in message <fq5cju$3f0$1@fred.mathworks.com>...
> dofour <dofour@hotmail.com> wrote in message
> <16976388.1204166901909.JavaMail.jakarta@nitrogen.mathforum.org>...
> > Matlab gives the eigenvectors with norm 1, I want the first eigenvector to
> be [1 1 1]. I don't know how to it from Matlab's eigenvectors
> >
> > Thanks
>
> Again, you can't ensure that an eigenvector will be
> some specific vector, because in general, you can't
> ensure that that vector is an eigenvector. You can't
> just decide to pick some vector as an eigenvector,
> at least not unless your matrix has a specific
> property, like all of its eigenvalues are equal. And
> in that case, ANY set of orthogonal vectors will
> suffice.
>
> Do you know that [1 1 1] is an eigenvector? If so,
> then it will be scaled to have norm 1. So just rescale
> the vector. WTP?
>
> John


Hi guys,
I'm also looking at this problem. To answer you question John, yes I know that 1p is an Eigenvector of A. Let A be a matrix which has sum of all rows = 0, then 1p (where p=dim(a)) is an eigenvector of A.
For Example let A = [0 0 0; -1 1 0; -1 0 1]. the comand [V,D]=eig(A) returns the following eigenvectors:
V = [0 0 .5774; 1 0 .5774; 0 1 .5774], which is correct but as posted in the thread it is not normalized to 1. The request is that the eig() returns [0 0 1;1 0 1;0 1 1].

Thanks
Remus

Subject: eigenvector

From: Bruno Luong

Date: 16 Jun, 2013 08:38:10

Message: 6 of 6

"Remus " <remusac@yahoo.com> wrote in message <kpighh$qj3$1@newscl01ah.mathworks.com>...

>
> Hi guys,
> I'm also looking at this problem. To answer you question John, yes I know that 1p is an Eigenvector of A. Let A be a matrix which has sum of all rows = 0, then 1p (where p=dim(a)) is an eigenvector of A.
> For Example let A = [0 0 0; -1 1 0; -1 0 1]. the comand [V,D]=eig(A) returns the following eigenvectors:
> V = [0 0 .5774; 1 0 .5774; 0 1 .5774], which is correct but as posted in the thread it is not normalized to 1.

It *is* normalized to 1

>> A = [0 0 0; -1 1 0; -1 0 1]

A =

     0 0 0
    -1 1 0
    -1 0 1

>> [V,D]=eig(A)

V =

         0 0 0.5774
         0 1.0000 0.5774
    1.0000 0 0.5774


D =

     1 0 0
     0 1 0
     0 0 0

>> sqrt(sum(V.^2,1)) % compute l2-norm of 3 eigen vectors

ans =

     1 1 1

>>

% Bruno

Tags for this Thread

No tags are associated with this thread.

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.

Contact us