The underlying philosophy of Unmix is to let the data speak for itself. Unmix seeks to solve the general mixture problem where the data are assumed to be a linear combination of an unknown number of sources of unknown composition, which contribute an unknown amount to each sample. Unmix also assumes that the compositions and contributions of the sources are all positive. Unmix assumes that for each source there are some samples that contain little or no contribution from that source. Using concentration data for a given selection of species, Unmix estimates the number of sources, source compositions, and source contributions to each sample. It is well known that the general mixture problem and the special case of multivariate receptor modeling are ill posed problems. There are simply more unknowns than equations and thus there may be many wildly different solutions that are all equally good in a least-squares sense. Statisticians say that these problems are not identifiable. One approach to ill-posed problems is to impose conditions that add additional equations, which then define a unique solution. The most likely candidates for these additional conditions, or constraints, are the non-negativity conditions imposed by the physical nature of the problem. Source compositions and contributions must be non-negative. Unfortunately, it has been shown that non-negativity conditions alone are not sufficient to give a unique solution and more constraints are needed. Under certain rather mild conditions, the data themselves can provide the needed constraints. This is how Unmix works.