"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
