[plt-scheme] HELP: eigenvalues/vectors?
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
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>