# [plt-scheme] HELP: eigenvalues/vectors?

 From: Noel Welsh (noelwelsh at gmail.com) Date: Sat Jan 2 15:29:34 EST 2010 Previous message: [plt-scheme] HELP: eigenvalues/vectors? Next message: [plt-scheme] HELP: eigenvalues/vectors? Messages sorted by: [date] [thread] [subject] [author]

```I implemented eigenfaces some years ago (in Matlab).

Adding hooks to GSL's eigenvector routines (probably SVD, actually)
should be trivial. I might be able to do this tonight.

Note that to implement eigenfaces you need to use the "snapshot"
method (see http://www.cs.toronto.edu/~roweis/notes/snap.pdf) or some
similar technique. You won't be able to directly on the  covariance
matrix as it will be too big[*].

Run time shouldn't be a problem. It ran in a reasonable time (a few
hours perhaps?) N years ago on a small data set.

HTH,
N.

[*] There are a bunch of techniques that will work on the full
covariance matrix but they're more work to implement.

On Sat, Jan 2, 2010 at 7:31 PM, Todd O'Bryan <toddobryan at gmail.com> wrote:
> I'm an idiot. One of my tenth grade students is trying to reproduce
> the classic use of eigenfaces for his science fair project. I assumed
> that the math he'd need was already written somewhere, but it looks
> like even mzgsl doesn't have hooks into GSL's eigenvalue/vector code.
>
> I'm going to have to do this for him, because he's not far enough
> along to code something this complicated, much less not understanding
> the math. Am I better off trying to learn enough of FFI to supply the
> hooks to GSL myself, or should I just try to write up a quick and
> dirty algorithm myself? He doesn't need speed, since he can start the
> program running and go to bed.
>
> Todd
> _________________________________________________