MinLimit

MinLimit[f,xx*]

gives the min limit xx*f(x).

MinLimit[f,{x1,,xn}]

gives the nested min limit f (x1,,xn).

MinLimit[f,{x1,,xn}{,,}]

gives the multivariate min limit f (x1,,xn).

Details and Options

  • MinLimit is also known as limit inferior, infimum limit, liminf, lower limit and inner limit.
  • MinLimit computes the largest lower bound for the limit and is always defined for real-valued functions. It is often used to give conditions of convergence and other asymptotic properties where no actual limit is needed.
  • By using the character , entered as mlim or \[MinLimit], with underscripts or subscripts, min limits can be entered as follows:
  • fmin limit in the default direction
    fmin limit from above
    fmin limit from below
    fmin limit in the complex plane
    fMinLimit[f,{x1,,xn}]
  • For a finite limit point x* and {,,}:
  • MinLimit[f,xx*]f* TemplateBox[{{min, (, epsilon, )}, epsilon, 0, +, {Direction, ->, {-, 1}}}, LimitWithSuperscript, DisplayFunction -> ({Sequence[{Sequence["lim"], _, DocumentationBuild`Utils`Private`Parenth[{#2, ->, {#3, ^, DocumentationBuild`Utils`Private`Parenth[#4]}}, LimitsPositioning -> True]}], #1} & ), InterpretationFunction -> ({Limit, [, {#1, ,, {#2, ->, #3}, ,, #5}, ]} & )]=f^*
    MinLimit[f,{x1,,xn}{,,}]f* TemplateBox[{{min, (, epsilon, )}, epsilon, 0, +, {Direction, ->, {-, 1}}}, LimitWithSuperscript, DisplayFunction -> ({Sequence[{Sequence["lim"], _, DocumentationBuild`Utils`Private`Parenth[{#2, ->, {#3, ^, DocumentationBuild`Utils`Private`Parenth[#4]}}, LimitsPositioning -> True]}], #1} & ), InterpretationFunction -> ({Limit, [, {#1, ,, {#2, ->, #3}, ,, #5}, ]} & )]=f^*
  • The definition uses the min envelope min[ϵ]MinValue[{f[x],0<TemplateBox[{{x, -, {x, ^, *}}}, Abs]<ϵ},x] for univariate f[x] and min[ϵ]MinValue[{f[x1,,xn],0<TemplateBox[{{{, {{{x, _, {(, 1, )}}, -, {x, _, {(, 1, )}, ^, *}}, ,, ..., ,, {{x, _, n}, -, {x, _, {(, n, )}, ^, *}}}, }}}, Norm]<ϵ},{x1,,xn}] for multivariate f[x1,,xn]. The function min[ϵ] is monotone increasing as ϵ0, so it always has a limit, which may be ±.
  • The illustration shows min[TemplateBox[{{x, -, {x, ^, *}}}, Abs]] and min[] in blue.
  • For an infinite limit point x*, the min envelope min[ω]MinValue[{f[x],x>ω},x] is used for univariate f[x] and min[ω]MinValue[{f[x1,,xn],x1>ωxn>ω},{x1,,xn}] for multivariate f[x1,,xn]. The function min[ω] is monotone increasing as ω, so it always has a limit.
  • The illustration shows min[x] and min[Min[x1,x2]] in blue.
  • MinLimit returns unevaluated when the min limit cannot be found.
  • The following options can be given:
  • Assumptions$Assumptionsassumptions on parameters
    DirectionRealsdirections to approach the limit point
    GenerateConditionsAutomaticwhether to generate conditions on parameters
    MethodAutomaticmethod to use
    PerformanceGoal"Quality"aspects of performance to optimize
  • Possible settings for Direction include:
  • Reals or "TwoSided"from both real directions
    "FromAbove" or -1from above or larger values
    "FromBelow" or +1from below or smaller values
    Complexesfrom all complex directions
    Exp[ θ]in the direction
    {dir1,,dirn}use direction diri for variable xi independently
  • DirectionExp[ θ] at x* indicates the direction tangent of a curve approaching the limit point x*.
  • Possible settings for GenerateConditions include:
  • Automaticnon-generic conditions only
    Trueall conditions
    Falseno conditions
    Nonereturn unevaluated if conditions are needed
  • Possible settings for PerformanceGoal include $PerformanceGoal, "Quality" and "Speed". With the "Quality" setting, MinLimit typically solves more problems or produces simpler results, but it potentially uses more time and memory.

Examples

open allclose all

Basic Examples  (3)

A min limit at infinity:

The function gets closer and closer to -1 without ever touching it:

An infinite min limit:

Close to the discontinuity, there are arbitrarily small values:

Min limit from above:

Min limit from below:

The two-sided min limit is the smaller of the two:

Scope  (35)

Basic Uses  (5)

Find the min limit at a point:

Find the min limit at a symbolic point:

Find the min limit at -Infinity:

The nested min limit as first and then :

The nested min limit as and then :

Compute the multivariate min limit as :

Typeset Limits  (4)

Use mlim to enter the character, and to create an underscript:

Take a limit from above or below by using a superscript or on the limit point:

After typing zero, use to create a superscript:

To specify a direction of Reals or Complexes, enter the domain as an underscript on the character:

Enter the rule as ->, use to create an underscript, and type reals to enter :

TraditionalForm formatting:

Elementary Functions  (10)

Polynomials:

Rational functions at singular points:

Rational functions at ±Infinity:

Algebraic functions:

Trigonometric functions at singular points:

Trigonometric functions at ±Infinity:

Inverse trigonometric functions:

Exponential functions:

The function decays faster than any power of as :

Conversely, blows up faster than any power of , but the sign of the product depends on the parity of :

Visualize representative functions:

Logarithmic functions:

Piecewise Functions  (5)

A discontinuous piecewise function:

A left-continuous piecewise function:

The two-sided min limit is the smaller of the two:

UnitStep is effectively a right-continuous piecewise function:

RealSign is effectively a discontinuous piecewise function:

Note that TemplateBox[{0}, RealSign] is related to neither value:

Find the min limit of Floor as x approaches integer values:

Special Functions  (4)

Min limits involving Gamma:

Min limits involving Bessel-type functions:

Min limits involving exponential integrals:

At every non-positive even integer, Gamma diverges to from one side:

Nested Min Limits  (3)

Compute the nested min limit as first and then :

The same result is obtained by computing two MinLimit expressions:

Computing the min limit as first and then yields a different answer:

This is again equivalent to two nested min limits:

The nested min limit as first and then is :

The nested min limit as first and then is :

Consider the function for two variables at the origin:

The iterated min limit as and then is :

The iterated min limit as and then is :

The true bivariate min limit is , as points where almost cancels give arbitrarily small values:

For example, this value can be approached along the curve :

Visualize the function and the values along the two axes computed previously:

Multivariate Min Limits  (4)

Find the min limit of a multivariate function:

The two nested min limits give different answers:

Approaching the origin along the curves yields a third result:

The true two-dimensional lower limit of the function is , achieved along the axis:

Visualize the minimum and maximum values near the origin:

Find the min limit of a bivariate function:

The true two-dimensional min limit of the function is :

Note that neither iterated limit gives this result:

Indeed, along any rate , the function is constant:

The minimum is approached along curves with close to , such as :

Visualize the function and the three min limits computed:

Find the min limit of a bivariate function at the origin:

The true two-dimensional min limit at the origin is :

Re-express the function in terms of polar coordinates:

The polar expression is bounded and disappears as , leaving the min limit of Sin:

Compute the min limit of a trivariate function:

The min limit at the origin is :

Note that the various iterated min limits are 0:

This is because the minimum is achieved along the line , :

The min limit can also be understood by transforming to spherical coordinates:

Visualize the function:

Options  (10)

Assumptions  (1)

Specify conditions on parameters using Assumptions:

Different assumptions can produce different results:

Direction  (5)

Min limit from below:

Equivalently:

Min limit from above:

Equivalently:

The default direction is Reals:

"TwoSided" is equivalent to Reals:

Min limit in the complex plane:

Compare with the limit over the reals:

Min limits at a branch cut:

Compute the bivariate min limit approach from different quadrants:

Approaching the origin from the first quadrant:

Equivalently:

Approaching the origin from the second quadrant:

Approaching the origin from the left half-plane:

Approaching the origin from the bottom half-plane:

Visualize the function:

GenerateConditions  (3)

Return a result without stating conditions:

This result is only valid if n>0:

Return unevaluated if the results depend on the value of parameters:

By default, conditions are generated that return a unique result:

By default, conditions are not generated if only special values invalidate the result:

With GenerateConditions->True, even these non-generic conditions are reported:

PerformanceGoal  (1)

Use PerformanceGoal to avoid potentially expensive computations:

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

Applications  (12)

Geometry of Min Limits  (3)

The function has a min limit of at :

This means there must be a sequence for which as ; for example, :

Numerically, and quite quickly:

Compute the two sequence limits exactly:

Note that this sequence exists even though itself does not have a limit as :

The function has the limit zero as approaches :

Thus, its min limit is zero:

In increasingly small regions around , gets increasingly flat, and more of the graph is above :

The function does not have a limit as approaches :

However, its min limit is :

In increasingly small regions around , bounces wildly, but becomes a better and better floor for it:

Asymptotic Analysis  (2)

A function is said to be "big-omega of " at a, written , if _(x->_(TemplateBox[{}, Reals])a)TemplateBox[{{{(, {f, (, x, )}, )}, /, {(, {g, (, x, )}, )}}}, Abs]>0:

For example, is :

But it is not :

The statement is always true:

If and , then :

It is possible for functions to share neither relationship:

Thus, is a reflexive partial order on functions:

if goes to zero no faster than :

Find the motion of a critically driven mass-spring system:

The motion is oscillatory but becomes arbitrarily negative, indicating an instability:

Add overdamping the system:

The oscillatory motion is bounded and eventually restricted to +/-(TemplateBox[{alpha}, RealAbs])/betasqrt(k/m), indicating stability:

Continuity  (4)

A function is lower semicontinuous at t if TemplateBox[{{f, (, x, )}, x, a}, MinLimit2Arg]>=f(a). SawtoothWave is upper semicontinuous at :

Visualize the function:

On the other hand, RealSign is not lower semicontinuous at the origin:

Visualize the function:

Consider the following function:

This function is lower semicontinuous at the origin:

This is despite f having neither a left nor a right limit at the origin:

Note that the MinLimit of f does not depend on the value of f at zero, so any value less than would also make f lower semicontinuous:

Visualize f:

A function is upper semicontinuous at if TemplateBox[{{f, (, x, )}, x, a}, MaxLimit2Arg]<=f(a). A real-valued function is continuous iff it is both upper and lower semicontinuous. UnitStep is upper semicontinuous at :

However, it is not upper semicontinuous, so it is discontinuous at the origin:

On the other hand, the following shows that TriangleWave is continuous at the origin:

Visualize the two functions:

Ceiling is discontinuous but lower semicontinuous at every integer:

On the other hand, Floor is neither continuous nor lower semicontinuous at the integers:

Both are continuous at noninteger values, but only Ceiling is lower semicontinuous on all of :

Differentiation  (3)

The left-lower Dini derivative is defined as:

The right-lower Dini derivative is defined similarly:

Ramp has finite lower Dini derivatives on the whole real line:

Note that these two derivatives are equal everywhere except the origin:

This is a reflection of the fact that Ramp is differentiable everywhere except the origin:

Consider the following function:

It is continuous at the origin:

But it has neither a left nor a right derivative:

It does, however, have finite Dini derivatives:

This indicates that the decrease of the function around zero is bounded:

There are two left Dini derivatives. The first is the left-lower Dini derivative , defined as follows:

The right-lower Dini derivative is defined similarly using a max limit:

is left differentiable at if and only if the two are equal and finite, as in the case of Ramp at :

However, the function does not have a left derivative at the origin:

Properties & Relations  (13)

A real-valued function always has a (possibly infinite) min limit:

The corresponding limit may not exist:

Positive multiplicative constants can be moved outside a min limit:

If and have finite min limits as , then TemplateBox[{{(, {f, +, g}, )}, x, a}, MinLimit2Arg]>=TemplateBox[{f, x, a}, MinLimit2Arg]+TemplateBox[{g, x, a}, MinLimit2Arg]:

In this case, there is strict inequality:

Assumptions applies to parameters in the min limit expression:

Direction places conditions on the limit variable:

When computing nested min limits, appropriate assumptions are generated on later limit variables:

Compare with the following:

For a real-valued function, if Limit exists, then MinLimit has the same value:

If has a finite limit as , then TemplateBox[{{(, {f, +, g}, )}, x, a}, MinLimit2Arg]=TemplateBox[{f, x, a}, MinLimit2Arg]+TemplateBox[{g, x, a}, MinLimit2Arg]:

MinLimit is always less than or equal to MaxLimit:

If MinLimit and MaxLimit are equal, then the limit exists and equals their common value:

If the min limit is , then the max limit and thus the limit are also :

MinLimit can be computed as -MaxLimit[-f,]:

If for , then TemplateBox[{{g, (, x, )}, x, a}, MinLimit2Arg]>=TemplateBox[{{f, (, x, )}, x, a}, MaxLimit2Arg]>=TemplateBox[{{f, (, x, )}, x, a}, MinLimit2Arg]:

If the two min limits are equalas in this examplethen f has a limit as :

This is a generalization of the "squeezing" or "sandwich" theorem:

MinLimit is always less than or equal to DiscreteMinLimit:

Possible Issues  (1)

MinLimit is only defined for real-valued functions:

Neat Examples  (1)

Visualize a set of min limits:

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

Text

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

CMS

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

APA

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

BibTeX

@misc{reference.wolfram_2023_minlimit, author="Wolfram Research", title="{MinLimit}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/MinLimit.html}", note=[Accessed: 18-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_minlimit, organization={Wolfram Research}, title={MinLimit}, year={2017}, url={https://reference.wolfram.com/language/ref/MinLimit.html}, note=[Accessed: 18-March-2024 ]}