Projection onto simplex

This program computes the projection onto the canonical simplex

You are now following this Submission

This program computes the projection of any n-dimensional vector y onto the canonical simplex Dn defined by Dn:={x: x n-dimensional vector, 0<=x<=1, sum(x(:))=1 }. Namely, it solves x=arg min_x |x-y| subject to the constraint that x is in Dn.

Syntax:
x = projsplx(y);

Explanation of the algorithm can be found at
http://arxiv.org/abs/1101.6081
or
http://ufdc.ufl.edu/IR00000353/

C code and pre-compiled mex files can be found at the author's website.

Cite As

Xiaojing Ye (2026). Projection onto simplex (https://www.mathworks.com/matlabcentral/fileexchange/30332-projection-onto-simplex), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

update description. improve the code efficiency

1.0.0.0