Source: http://math.bu.edu/people/josborne/MA225and230/MA230/notes/ConstrainedOptimizationNotes.pdf