Dykstra's projection algorithm
Dykstra's algorithm is a method that computes a point in the intersection of convex sets, and is a variant of the alternating projection method (also called the projections onto convex sets method). In its simplest form, the method finds a point in the intersection of two convex sets by iteratively projecting onto each of the convex set; it differs from the alternating projection method in that there are intermediate steps. A parallel version of the algorithm was developed by Gaffke and Mathar. The method is named after Richard L. Dykstra who proposed it in the 1980s. A key difference between Dykstra's algorithm and the standard alternating projection method occurs when there is more than one point in the intersection of the two sets. In this case, the alternating projection method gives some arbitrary point in this intersection, whereas Dykstra's algorithm gives a specific point: the projection of r onto the intersection, where r is the initial point used in the algorithm,

Algorithm 

Dykstra's algorithm finds for each  the only  such that:
 

where  are convex sets. This problem is equivalent to finding the projection of  onto the set , which we denote by . To use Dykstra's algorithm, one must know how to project onto the sets  and  separately. First, consider the basic alternating projection (aka POCS) method (first studied, in the case when the sets  were linear subspaces, by John von Neumann), which initializes  and then generates the sequence

 . Dykstra's algorithm is of a similar form, but uses additional auxiliary variables. Start with  and update by

 

 

 

 

Then the sequence  converges to the solution of the original problem. For convergence results and a modern perspective on the literature, see

References

Citations 

Convex geometry
Optimization algorithms and methods