Source: https://econweb.ucsd.edu/~gramey/280/Nonlin_Local_Opt_