This project involved experimenting with a face recognition technique, the by-products of which are called eigenfaces. This technique involves thinking of a set of images as matrices of pixels and then developing a basis for the vectorspace covered by those matrices. Each eigenvector in this basis is called an eigenface (for a proof of the linear algebra involved in this, read here). This is a very quick and powerful algorithm that can recognize similarity not only for faces, but for any set of images. Unfortunately, it is also very limited: it will only work for recognition if the images are of the same dimension, lighting, posture, etc. Below, I've curated selections from running an eigenface generating algorithm on various datasets. Eigenfaces are a visual representation of similarity and difference encoded specifically for algorithms and expressly not for human consumption. These images are also algorithmic meta-states; they are neither the input training images nor the output recognition test. They are a by-product, temporary, cruft, a part of systems usually kept invisible. Clicking on any image will open it up in its original size.