# FindMaximum

FindMaximum[f,x]

searches for a local maximum in f, starting from an automatically selected point.

FindMaximum[f,{x,x0}]

searches for a local maximum in f, starting from the point x=x0.

FindMaximum[f,{{x,x0},{y,y0},}]

searches for a local maximum in a function of several variables.

FindMaximum[{f,cons},{{x,x0},{y,y0},}]

searches for a local maximum subject to the constraints cons.

FindMaximum[{f,cons},{x,y,}]

starts from a point within the region defined by the constraints.

# Details and Options

• FindMaximum returns a list of the form {fmax,{x->xmax}}, where fmax is the maximum value of f found, and xmax is the value of x for which it is found.
• If the starting point for a variable is given as a list, the values of the variable are taken to be lists with the same dimensions.
• The constraints cons can contain equations, inequalities or logical combinations of these.
• The constraints cons can be any logical combination of:
•  lhs==rhs equations lhs>rhs or lhs>=rhs inequalities {x,y,…}∈reg region specification
• FindMaximum first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
• FindMaximum has attribute HoldAll, and effectively uses Block to localize variables.
• FindMaximum[f,{x,x0,x1}] searches for a local maximum in f using x0 and x1 as the first two values of x, avoiding the use of derivatives.
• FindMaximum[f,{x,x0,xmin,xmax}] searches for a local maximum, stopping the search if x ever gets outside the range xmin to xmax.
• Except when f and cons are both linear, the results found by FindMaximum may correspond only to local, but not global, maxima.
• By default, all variables are assumed to be real.
• For linear f and cons, xIntegers can be used to specify that a variable can take on only integer values.
• The following options can be given:
•  AccuracyGoal Automatic the accuracy sought EvaluationMonitor None expression to evaluate whenever f is evaluated Gradient Automatic the list of gradient functions {D[f,x],D[f,y],…} MaxIterations Automatic maximum number of iterations to use Method Automatic method to use PrecisionGoal Automatic the precision sought StepMonitor None expression to evaluate whenever a step is taken WorkingPrecision MachinePrecision the precision used in internal computations
• The default settings for AccuracyGoal and PrecisionGoal are .
• The settings for AccuracyGoal and PrecisionGoal specify the number of digits to seek in both the value of the position of the maximum, and the value of the function at the maximum.
• FindMaximum continues until either of the goals specified by AccuracyGoal or PrecisionGoal is achieved.
• Possible settings for Method include "ConjugateGradient", "PrincipalAxis", "LevenbergMarquardt", "Newton", and "QuasiNewton", with the default being Automatic.

# Examples

open allclose all

## Basic Examples(4)

Find a local maximum, starting the search at :

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=

Extract the value of x at the local maximum:

 In[3]:=
 Out[3]=

Find a local maximum, starting at , subject to constraints :

 In[1]:=
 Out[1]=

Find the maximum of a linear function, subject to linear and integer constraints:

 In[1]:=
 Out[1]=

Find a maximum of a function over a geometric region:

 In[1]:=
 Out[1]=

Plot it:

 In[2]:=
 Out[2]=