Asymptotics #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We introduce these relations:
is_O_with c l f g: "f is big O of g along l with constant c";f =O[l] g: "f is big O of g along l";f =o[l] g: "f is little o of g along l".
Here l is any filter on the domain of f and g, which are assumed to be the same. The codomains
of f and g do not need to be the same; all that is needed that there is a norm associated with
these types, and it is the norm that is compared asymptotically.
The relation is_O_with c is introduced to factor out common algebraic arguments in the proofs of
similar properties of is_O and is_o. Usually proofs outside of this file should use is_O
instead.
Often the ranges of f and g will be the real numbers, in which case the norm is the absolute
value. In general, we have
f =O[l] g ↔ (λ x, ‖f x‖) =O[l] (λ x, ‖g x‖),
and similarly for is_o. But our setup allows us to use the notions e.g. with functions
to the integers, rationals, complex numbers, or any normed vector space without mentioning the
norm explicitly.
If f and g are functions to a normed field like the reals or complex numbers and g is always
nonzero, we have
f =o[l] g ↔ tendsto (λ x, f x / (g x)) l (𝓝 0).
In fact, the right-to-left direction holds without the hypothesis on g, and in the other direction
it suffices to assume that f is zero wherever g is. (This generalization is useful in defining
the Fréchet derivative.)
Definitions #
This version of the Landau notation is_O_with C l f g where f and g are two functions on
a type α and l is a filter on α, means that eventually for l, ‖f‖ is bounded by C * ‖g‖.
In other words, ‖f‖ / ‖g‖ is eventually bounded by C, modulo division by zero issues that are
avoided by this definition. Probably you want to use is_O instead of this relation.
The Landau notation f =O[l] g where f and g are two functions on a type α and l is
a filter on α, means that eventually for l, ‖f‖ is bounded by a constant multiple of ‖g‖.
In other words, ‖f‖ / ‖g‖ is eventually bounded, modulo division by zero issues that are avoided
by this definition.
The Landau notation f =o[l] g where f and g are two functions on a type α and l is
a filter on α, means that eventually for l, ‖f‖ is bounded by an arbitrarily small constant
multiple of ‖g‖. In other words, ‖f‖ / ‖g‖ tends to 0 along l, modulo division by zero
issues that are avoided by this definition.
Conversions #
f = O(g) if and only if is_O_with c f g for all sufficiently large c.
f = O(g) if and only if ∀ᶠ x in l, ‖f x‖ ≤ c * ‖g x‖ for all sufficiently large c.
Subsingleton #
Congruence #
Filter operations and transitivity #
Simplification : norm, abs #
Alias of the reverse direction of asymptotics.is_O_with_norm_right.
Alias of the forward direction of asymptotics.is_O_with_norm_right.
Alias of the forward direction of asymptotics.is_O_with_abs_right.
Alias of the reverse direction of asymptotics.is_O_with_abs_right.
Alias of the forward direction of asymptotics.is_O_with_norm_left.
Alias of the reverse direction of asymptotics.is_O_with_norm_left.
Alias of the forward direction of asymptotics.is_O_with_abs_left.
Alias of the reverse direction of asymptotics.is_O_with_abs_left.
Alias of the forward direction of asymptotics.is_O_with_norm_norm.
Alias of the reverse direction of asymptotics.is_O_with_norm_norm.
Alias of the forward direction of asymptotics.is_O_with_abs_abs.
Alias of the reverse direction of asymptotics.is_O_with_abs_abs.
Alias of the reverse direction of asymptotics.is_O_norm_norm.
Alias of the forward direction of asymptotics.is_O_norm_norm.
Alias of the forward direction of asymptotics.is_o_norm_norm.
Alias of the reverse direction of asymptotics.is_o_norm_norm.
Simplification: negate #
Alias of the reverse direction of asymptotics.is_O_with_neg_right.
Alias of the forward direction of asymptotics.is_O_with_neg_right.
Alias of the forward direction of asymptotics.is_O_with_neg_left.
Alias of the reverse direction of asymptotics.is_O_with_neg_left.
Product of functions (right) #
Addition and subtraction #
Lemmas about is_O (f₁ - f₂) g l / is_o (f₁ - f₂) g l treated as a binary relation #
Zero, one, and other constants #
Alias of the reverse direction of asymptotics.is_O_one_iff.
(λ x, c) =O[l] f if and only if f is bounded away from zero.
Multiplication by a constant #
Multiplication #
Inverse #
Scalar multiplication #
Sum #
Relation between f = o(g) and f / g → 0 #
Alias of the reverse direction of asymptotics.is_o_iff_tendsto.
Eventually (u / v) * v = u #
If u and v are linked by an is_O_with relation, then we
eventually have (u / v) * v = u, even if v vanishes.
Equivalent definitions of the form ∃ φ, u =ᶠ[l] φ * v in a normed_field. #
If ‖φ‖ is eventually bounded by c, and u =ᶠ[l] φ * v, then we have is_O_with c u v l.
This does not require any assumptions on c, which is why we keep this version along with
is_O_with_iff_exists_eq_mul.
Alias of the forward direction of asymptotics.is_O_iff_exists_eq_mul.
Alias of the forward direction of asymptotics.is_o_iff_exists_eq_mul.
Miscellanous lemmas #
If f x = O(g x) along cofinite, then there exists a positive constant C such that
‖f x‖ ≤ C * ‖g x‖ whenever g x ≠ 0.
Transfer is_O_with over a local_homeomorph.
Transfer is_O over a local_homeomorph.
Transfer is_o over a local_homeomorph.
Transfer is_O_with over a homeomorph.
Transfer is_O over a homeomorph.
Transfer is_o over a homeomorph.