so much for the eigenvalues. now for the eigenvectors.

it is usual in mathematica that for an integer or rational result, the eigenvector matrix is not orthogonal; for real results, by contrast, the eigenvector matrix returned is orthogonal. we got that the eigenvector matrix was (but let’s call it something else, now):

by computing , we see that the dot products among all the vectors are:

which, as i expected, says the eigenvectors are mutually orthogonal (they have to be, because the eigenvalues are distinct) but not orthonormal. (In fact, their squared lengths are 6, 2, 3, resp.) so we scale the columns of B, getting…

or…

as usual, i didn’t get his signs. to match him, i need to change the signs of the first two columns, so i post-multiply by a diagonal matrix with entries , getting an orthogonal matrix which we will now call P:

if you need to, you can confirm that P is orthogonal by showing .

recall that one of the eigenvalues was 0. instead of keeping that orthogonal (hence trivially invertible) matrix P, davis (along with almost every other non-mathematician) throws away the 3rd column, because it corresponds to the 0 eigenvalue. i will not do that: there’s nothing simpler than an orthogonal matrix, except the identity.

(i know, i let harman and jolliffe throw them away, but this is different. for harman and jolliffe, presenting the first few eigenvectors was the end of their analysis. for davis, the eigenvector matrix is the beginning.)

i also think it’s a shame to lose the eigendecomposition. i have

and we could rewrite it in the form

,

which we will need in just a moment.

let me confirm the first form: i compute =

x x

and get , of course:

let’s check something else. davis’ cut down eigenvector matrix is…

and i’m hoping that the equation

(which i said we would need) still makes sense when we use the smaller matrices and U instead of and P. i compute

x x

and get

which is precisely c. of course. when i used the full-size matrices, the 0 eigenvalue took out any effect of its eigenvector. we can recover the original matrix from the product of two smaller matrices.

on the one hand, we have lost something: P was invertible and U is not. we have but we do not have . we have not actually lost the eigendecomposition, but we have lost .

on the other hand, we have found something: the matrix c is of rank 2, not of rank 3. no matrix of rank 3 can be factored as the product of a 3×2 and a 2×3 (each of rank at most 2). and that’s just what we did; the 2×2 eigenvector matrix in between is irrelevant, because we could absorb it into either of the outside matrices. what matters is the (3×2) x (2×3).

so if we see a zero eigenvalue, or if choose to set an eigenvalue to zero, we are dealing with a matrix of reduced rank.

let me elaborate on setting an eigenvalue to zero (although this may make more sense down the road). it could also be a singular value that we set to zero. i can do either, and i can do it without changing the eigenvector matrices, because i’m not changing the size of either the w matrix in the SVD or the diagonal matrix in the eigendecomposition. sure, i’ll be carrying around a column of zeroes, but i think they’re a cheap price to pay for looking at alternative models without having to go explicitly throw away columns of matrices. (this example was constructed to have a 0 eigenvalue; in the real world, we would set “small” eigenvalues to zero.)

Advertisements
(function(g){if("undefined"!=typeof g.__ATA){g.__ATA.initAd({sectionId:26942, width:300, height:250});
g.__ATA.initAd({sectionId:114160, width:300, height:250});}})(window);
var o = document.getElementById('crt-1530387967');
if ("undefined"!=typeof Criteo) {
var p = o.parentNode;
p.style.setProperty('display', 'inline-block', 'important');
o.style.setProperty('display', 'block', 'important');
Criteo.DisplayAcceptableAdIfAdblocked({zoneid:388248,containerid:"crt-1530387967",collapseContainerIfNotAdblocked:true,"callifnotadblocked": function () {var o = document.getElementById('crt-1530387967'); o.style.setProperty('display','none','important');o.style.setProperty('visbility','hidden','important'); }
});
} else {
o.style.setProperty('display', 'none', 'important');
o.style.setProperty('visibility', 'hidden', 'important');
}

## Leave a Reply

Fill in your details below or click an icon to log in:

You are commenting using your WordPress.com account. ( Log Out / Change )

You are commenting using your Twitter account. ( Log Out / Change )

You are commenting using your Facebook account. ( Log Out / Change )

You are commenting using your Google+ account. ( Log Out / Change )

Connecting to %s