Article · Wikipedia archive · Last revised May 29, 2026

Rosenbrock function

In mathematical optimization, the Rosenbrock function is a non-convex function, introduced by Howard H. Rosenbrock in 1960, which is used as a performance test problem for optimization algorithms. It is also known as Rosenbrock's valley or Rosenbrock's banana function.

Last revised
May 29, 2026
Read time
≈ 4 min
Length
897 w
Citations
7
Source
Plot of the Rosenbrock function of two variables. Here a = 1 , b = 100 {\displaystyle a=1,b=100} , and the minimum value of zero is at ( 1 , 1 ) {\displaystyle (1,1)} . source ↗

In mathematical optimization, the Rosenbrock function is a non-convex function, introduced by Howard H. Rosenbrock in 1960, which is used as a performance test problem for optimization algorithms.1 It is also known as Rosenbrock's valley or Rosenbrock's banana function.

The global minimum is inside a long, narrow, parabolic-shaped flat valley. To find the valley is trivial. To converge to the global minimum, however, is difficult.

The function is defined by

f ( x , y ) = ( a x ) 2 + b ( y x 2 ) 2 {\displaystyle f(x,y)=(a-x)^{2}+b(y-x^{2})^{2}}

It has a global minimum at ( x , y ) = ( a , a 2 ) {\displaystyle (x,y)=(a,a^{2})} , where f ( x , y ) = 0 {\displaystyle f(x,y)=0} . Usually, these parameters are set such that a = 1 {\displaystyle a=1} and b = 100 {\displaystyle b=100} . Only in the trivial case where a = 0 {\displaystyle a=0} the function is symmetric and the minimum is at the origin.

Multidimensional generalizations

Two variants are commonly encountered.

Animation of Rosenbrock's function of three variables.2 source ↗

One is the sum of N / 2 {\displaystyle N/2} uncoupled 2D Rosenbrock problems, and is defined only for even N {\displaystyle N} s:

f ( x ) = f ( x 1 , x 2 , , x N ) = i = 1 N / 2 [ 100 ( x 2 i 1 2 x 2 i ) 2 + ( x 2 i 1 1 ) 2 ] . {\displaystyle f(\mathbf {x} )=f(x_{1},x_{2},\dots ,x_{N})=\sum _{i=1}^{N/2}\left[100(x_{2i-1}^{2}-x_{2i})^{2}+(x_{2i-1}-1)^{2}\right].} 3

This variant has predictably simple solutions.

A second, more involved variant is

f ( x ) = i = 1 N 1 [ 100 ( x i + 1 x i 2 ) 2 + ( 1 x i ) 2 ] where x = ( x 1 , , x N ) R N . {\displaystyle f(\mathbf {x} )=\sum _{i=1}^{N-1}[100(x_{i+1}-x_{i}^{2})^{2}+(1-x_{i})^{2}]\quad {\mbox{where}}\quad \mathbf {x} =(x_{1},\ldots ,x_{N})\in \mathbb {R} ^{N}.} 4

has exactly one minimum for N = 3 {\displaystyle N=3} (at ( 1 , 1 , 1 ) {\displaystyle (1,1,1)} ) and exactly two minima for 4 N 7 {\displaystyle 4\leq N\leq 7} — the global minimum at ( 1 , 1 , . . . , 1 ) {\displaystyle (1,1,...,1)} and a local minimum near x ^ = ( 1 , 1 , , 1 ) {\displaystyle {\hat {\mathbf {x} }}=(-1,1,\dots ,1)} . This result is obtained by setting the gradient of the function equal to zero, noticing that the resulting equation is a rational function of x {\displaystyle x} . For small N {\displaystyle N} the polynomials can be determined exactly and Sturm's theorem can be used to determine the number of real roots, while the roots can be bounded in the region of | x i | < 2.4 {\displaystyle |x_{i}|<2.4} .5 For larger N {\displaystyle N} this method breaks down due to the size of the coefficients involved.

Stationary points

Many of the stationary points of the function exhibit a regular pattern when plotted.5 This structure can be exploited to locate them.

Rosenbrock roots exhibiting hump structures source ↗

Optimization examples

source ↗
Rosenbrock function Nelder-Mead
Nelder-Mead method applied to the Rosenbrock function source ↗

The Rosenbrock function can be efficiently optimized by adapting appropriate coordinate system without using any gradient information and without building local approximation models (in contrast to many derivate-free optimizers). The following figure illustrates an example of 2-dimensional Rosenbrock function optimization by adaptive coordinate descent from starting point x 0 = ( 3 , 4 ) {\displaystyle x_{0}=(-3,-4)} . The solution with the function value 10 10 {\displaystyle 10^{-10}} can be found after 325 function evaluations.

Using the Nelder–Mead method from starting point x 0 = ( 1 , 1 ) {\displaystyle x_{0}=(-1,1)} with a regular initial simplex a minimum is found with function value 1.36 10 10 {\displaystyle 1.36\cdot 10^{-10}} after 185 function evaluations. The figure below visualizes the evolution of the algorithm.

Use in other fields

The Rosenbrock function can be used to create "banana"-shaped distributions, which are a popular benchmark model in statistics and machine learning.6

See also

See also

References

References

  1. Rosenbrock, H.H. (1960). "An automatic method for finding the greatest or least value of a function". The Computer Journal. 3 (3): 175–184. doi:10.1093/comjnl/3.3.175. ISSN 0010-4620.
  2. Simionescu, P.A. (2014). Computer Aided Graphing and Simulation Tools for AutoCAD users (1st ed.). Boca Raton, FL: CRC Press. ISBN 978-1-4822-5290-3.
  3. Dixon, L. C. W.; Mills, D. J. (1994). "Effect of Rounding Errors on the Variable Metric Method". Journal of Optimization Theory and Applications. 80: 175–179. doi:10.1007/BF02196600.
  4. "Generalized Rosenbrock's function". Retrieved 2008-09-16.
  5. Kok, Schalk; Sandrock, Carl (2009). "Locating and Characterizing the Stationary Points of the Extended Rosenbrock Function". Evolutionary Computation. 17 (3): 437–53. doi:10.1162/evco.2009.17.3.437. hdl:2263/13845. PMID 19708775.
  6. Pagani, Filippo; Wiegand, Martin; Nadarajah, Saralees (2022). "An n-dimensional Rosenbrock distribution for Markov chain Monte Carlo testing". Scandinavian Journal of Statistics. 49 (2): 657–680. doi:10.1111/sjos.12532. ISSN 1467-9469.
External links