  This paper considers the problem of minimizing a differentiable function with
locally Lipschitz continuous gradient on the algebraic variety of real matrices
of upper-bounded rank. This problem is known to enable the formulation of
several machine learning and signal processing tasks such as collaborative
filtering and signal recovery. Several definitions of stationarity exist for
this nonconvex problem. Among them, Bouligand stationarity is the strongest
first-order necessary condition for local optimality. This paper proposes a
first-order algorithm that combines the well-known projected-projected gradient
descent map with a rank reduction mechanism and generates a sequence in the
variety whose accumulation points are Bouligand stationary. This algorithm
compares favorably with the three other algorithms known in the literature to
enjoy this stationarity property, regarding both the typical computational cost
per iteration and empirically observed numerical performance. A framework to
design hybrid algorithms enjoying the same property is proposed and illustrated
through an example.
