  This paper presents a fast spectral unmixing algorithm based on Dykstra's
alternating projection. The proposed algorithm formulates the fully constrained
least squares optimization problem associated with the spectral unmixing task
as an unconstrained regression problem followed by a projection onto the
intersection of several closed convex sets. This projection is achieved by
iteratively projecting onto each of the convex sets individually, following
Dyktra's scheme. The sequence thus obtained is guaranteed to converge to the
sought projection. Thanks to the preliminary matrix decomposition and variable
substitution, the projection is implemented intrinsically in a subspace, whose
dimension is very often much lower than the number of bands. A benefit of this
strategy is that the order of the computational complexity for each projection
is decreased from quadratic to linear time. Numerical experiments considering
diverse spectral unmixing scenarios provide evidence that the proposed
algorithm competes with the state-of-the-art, namely when the number of
endmembers is relatively small, a circumstance often observed in real
hyperspectral applications.
