Re: svd in two ways not equal..
- From: "ozgun.harmanci" <ozgun.harmanci@xxxxxxxxx>
- Date: Sun, 25 May 2008 20:22:46 -0700 (PDT)
On May 25, 7:56 pm, "Roger Stafford"
<ellieandrogerxy...@xxxxxxxxxxxxxxxxxxxxxx> wrote:
"ozgun.harmanci" <ozgun.harma...@xxxxxxxxx> wrote in message
<8a5a2f41-
f941-4fd4-94b8-3010e0d1a...@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>...> Ok, that makes sense. So it all depends on how matlab computes
eigenvectors and eigenvalues, i.e., implementation specific. is that
right?
Arif.
---------
Well, "implementation specific" in regard to the aspects I mentioned. The
'svd' function is constrained to put out singular values in descending order,
which also forces a corresponding ordering to their eigenvectors. The 'eig'
function does not necessarily have the same order, because both negative
and complex values may be encountered, which is not true of 'svd'. As I said
before, when two eigenvalues or singular values are equal, the resulting
eigenvectors are not unique but only span the corresponding vector space.
How they are chosen depends on the implementation.
You should also remember that only when a matrix is Hermitian symmetric
and semi-positive definite are the results from 'eig' and 'svd' in any sense
equivalent. Your mentor was correct, but only in the sense I have described.
Otherwise they are designed to produce differing entities. They are not
simply equivalent functions doing the same task in different ways. They have
different purposes.
Roger Stafford
Ok I think that all makes sense. Actually I computed the eigenvectors
and eigenvalues of A by hand (which I should have done much earlier..)
Eigenvalues are 0, +3 with multiplicity 2. The eigenvector for 0 is
[sqrt(3)/3, sqrt(3)/3, sqrt(3)/3]. The eigenvectors for +3 is in the
form of [a b c] where a+b+c = 0. I am now wondering how MATLAB chooses
which eigenvectors to assign. It obviously chooses a basis for the
vector space that makes up plane defined by x+y+z = 0.
.
- References:
- svd in two ways not equal..
- From: ozgun.harmanci
- Re: svd in two ways not equal..
- From: ozgun.harmanci
- Re: svd in two ways not equal..
- From: Roger Stafford
- svd in two ways not equal..
- Prev by Date: matlab compiler error
- Next by Date: Re: minor tick question
- Previous by thread: Re: svd in two ways not equal..
- Next by thread: Scope of 'To Workspace' variables
- Index(es):
Relevant Pages
|