FunctionConvexity

FunctionConvexity[f,{x1,x2,}]

finds the convexity of the function f with variables x1,x2, over the reals.

FunctionConvexity[{f,cons},{x1,x2,}]

finds the convexity when variables are restricted by the constraints cons representing a convex region.

Details and Options

  • Convexity is also known as convex, concave, strictly convex and strictly concave.
  • By default, the following definitions are used:
  • +1convex, i.e. for all and all and
    0affine , i.e. for all and all and
    -1concave, i.e. for all and all and
    Indeterminateneither convex nor concave
  • The affine function is both convex and concave.
  • With the setting StrictInequalitiesTrue, the following definitions are used:
  • +1strictly convex, i.e. for all and all and with
    -1strictly concave, i.e. for all and all and and
    Indeterminateneither strictly convex nor strictly concave
  • The function should be a real-valued function for all real that satisfy the constraints cons.
  • cons can contain equations, inequalities or logical combinations of these representing a convex region.
  • The following options can be given:
  • Assumptions $Assumptionsassumptions on parameters
    GenerateConditions Automaticwhether to generate conditions on parameters
    PerformanceGoal $PerformanceGoalwhether to prioritize speed or quality
    StrictInequalities Falsewhether to require strict convexity
  • Possible settings for GenerateConditions include:
  • Automaticnongeneric conditions only
    Trueall conditions
    Falseno conditions
    Nonereturn unevaluated if conditions are needed
  • Possible settings for PerformanceGoal are "Speed" and "Quality".

Examples

open allclose all

Basic Examples  (3)

Find the convexity of a univariate function:

Find the convexity of a multivariate function:

Find the convexity of a function with variables restricted by constraints:

Scope  (7)

Univariate functions:

A function that is not real valued has Indeterminate convexity:

The function is real valued and concave for positive :

Univariate functions with constraints on the variable:

The strict convexity of a function:

TemplateBox[{x}, Abs] is convex, but not strictly convex. x^2 TemplateBox[{x}, Abs] is strictly convex:

Multivariate functions:

Multivariate functions with constraints on variables:

In a different region, the same function is convex:

Functions with symbolic parameters:

Options  (5)

Assumptions  (1)

FunctionConvexity gives a conditional answer here:

Check convexity for other values of :

GenerateConditions  (2)

By default, FunctionConvexity may generate conditions on symbolic parameters:

With GenerateConditionsNone, FunctionConvexity fails instead of giving a conditional result:

This returns a conditionally valid result without stating the condition:

By default, all conditions are reported:

With GenerateConditionsAutomatic, conditions that are generically true are not reported:

PerformanceGoal  (1)

Use PerformanceGoal to avoid potentially expensive computations:

The default setting uses all available techniques to try to produce a result:

StrictInequalities  (1)

By default, FunctionConvexity computes the non-strict convexity:

With StrictInequalitiesTrue, FunctionConvexity computes the strict sign:

is convex, but not strictly convex. is strictly convex:

Applications  (17)

Basic Applications  (8)

Check the convexity of :

The segment connecting any two points on the graph lies above the graph:

Check the convexity of :

The segment connecting any two points on the graph lies below the graph:

Check the convexity of :

is neither a convex function nor a concave function:

Show that restricted to is a strictly concave function:

TemplateBox[{x}, Abs] is convex, but not strictly convex:

TemplateBox[{x}, Abs] restricted to positive reals is an affine function:

TemplateBox[{Norm, paclet:ref/Norm}, RefLink, BaseStyle -> {InlineFormula}][v,p] is convex for , but not strictly convex:

The sum of functions with convexity has convexity :

The negation of a convex function is concave:

The maximum of convex functions is convex:

Affine functions are both convex and concave, hence their maximum is convex:

Minimum of affine functions is concave:

A quadratic TemplateBox[{x}, Transpose].A.x is convex iff is positive semidefinite:

Calculus  (2)

If is non-decreasing, then is a convex function of :

The derivative of a convex function is non-decreasing:

The second derivative of a convex function is non-negative:

Geometry  (4)

If is a convex function TemplateBox[{}, Reals]^n->TemplateBox[{}, Reals], then the region {x in TemplateBox[{}, Reals]^n|f(x)<=c} is convex:

Use ConvexRegionQ to verify that is a convex region:

If is a concave function TemplateBox[{}, Reals]^n->TemplateBox[{}, Reals], then the region {x in TemplateBox[{}, Reals]^n|f(x)>=c} is convex:

Use ConvexRegionQ to verify that is a convex region:

If is a convex function, then the epigraph is a convex set:

Use ConvexRegionQ to verify that is a convex region:

If is a concave function, then the hypograph is a convex set:

The region is convex:

Optimization  (3)

A local minimum of a convex function is a global minimum:

The set of local and global minima is the non-positive half-line:

A strictly convex function has at most one local minimum:

A strictly convex function may have no local minima:

Properties & Relations  (2)

Sum and Max of convex functions are convex:

The second derivative of a convex function is non-negative:

Use D to compute the derivative:

Use FunctionSign to verify that the derivative is non-negative:

Plot the function and the derivative:

Wolfram Research (2020), FunctionConvexity, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionConvexity.html.

Text

Wolfram Research (2020), FunctionConvexity, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionConvexity.html.

CMS

Wolfram Language. 2020. "FunctionConvexity." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionConvexity.html.

APA

Wolfram Language. (2020). FunctionConvexity. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionConvexity.html

BibTeX

@misc{reference.wolfram_2024_functionconvexity, author="Wolfram Research", title="{FunctionConvexity}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionConvexity.html}", note=[Accessed: 23-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_functionconvexity, organization={Wolfram Research}, title={FunctionConvexity}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionConvexity.html}, note=[Accessed: 23-April-2024 ]}