hmm34 / reducto

Project II for 3460:635 Advanced Algorithms, which is composed of two parts. Part I uses singular value decomposition (SVD) to compress PGM images. Part II uses principal component analysis (PCA) to reduce the dimensionality of high-dimensional datasets.
1 stars 0 forks source link

Choose a library that implements SVD and/or PCA #2

Closed hmm34 closed 10 years ago

hmm34 commented 10 years ago

We're not required to implement these methods ourselves, but can choose from an awesome and convenient, hopefully heavily document, third party library that does it all for us! Some options include:

I'm sure there are others, but these were the first and most promising search results. From my understanding, most if not all of these build off of BLAS. Though why go lower level when high level already exists?

hmm34 commented 10 years ago

Eigen has been chosen due to its convenient, easy-to-read documentation regarding SVD, where as the other libraries such as LAPACK and BLAS lacked in the higher-level abstractions we were looking for.

Eigen can be installed on Mac OSX with brew install eigen, which uses a formulae for the 3.2.0 release. Presently, reducto will only find the library header files that homebrew has placed. An option for the future is to include the header files in the source code of the project for easier grading purposes.