Subgradient generalizes the notion of gradient/derivative and quantifies the rate of change of non-differentiable/non-smooth function (, section 8.1 in ). For a real-valued function, the subgradients of the function at a point x0 are all values of c such that:
Unlike derivative of smooth function, which is a singleton value, the subgradients form a set (e.g. an interval of points). The set of all subgradients is called the subdifferential.
Subdifferential always exists if f(x) is a convex function with a convex domain X, and vice versa (proposition 1.1 in ):
The generalized subgradient descent scheme is given as:
 Wikipedia, Subgradient
 J. F. Bonnan, J. C. Gilbert, C. Lemaréchal, C. A. Sagastizábal. Numerical Optimization: Theoretical and Practical Aspects. Second Edition, Springer, 2006
 S. Bubeck. Theory of Convex Optimization for Machine Learning. Lecture Notes, 2014