The automated identification and mapping of the constituent materials in a hyperspectral image is a problem of considerable interest. A significant issue is that the spectra at many pixels in such an image are actually mixtures of the spectra of the pure constituents. I review methods of "unmixing" spectra into their pure constituents, both when a "spectral library" of the pure constituents is available, and where no such library is available. Our own algorithms in both these areas are exemplified with a mineral and a biological example.