Computing limits of monomials #
In this file we define the Monomial structure, representing monomials in a basis, i.e.
coef * b₁ ^ e₁ * ... * bₙ ^ eₙ where [b₁, ..., bₙ] is a well-formed basis.
In the tactic implementation, we use Monomial to connect multiseries with real functions.
In this file we show how to find a limit of Monomial and how to asymptotically compare two
Monomials.
Main definitions #
Monomial: type to represent monomials.UnitMonomial.toFun/Monomial.toFun: converts structures to real functions.UnitMonomial.toLogFun_isEquivalent_of_nonzero_head:log m.toFunis asymptotically equivalent to its first summand -m[0] • log basis[0]ifm[0] ≠ 0. Using this theorem we can prove that the asymptotic behaviour of the monomials is determined by its first non-zero exponent.toFun_tendsto_top_of_FirstNonzeroIsPosand its variants are used to infer the limit oft.toFunfromFirstNonzeroIsPos/FirstNonzeroIsNeg/AllZero.IsLittleO_of_lt_expsand its variants are used to asymptotically compare two monomials.
Structure for representing monomials with coefficients.
- coef : ℝ
Real coefficient of the monomial.
- unit : UnitMonomial
Unit part of the monomial.
Instances For
Function corresponding to a monomial.
Instances For
Logarithm of function represented by a monomial, i.e.
m[0] * log basis[0] + ... + m[n] * log basis[n].
Equations
Instances For
Multiplication of unit monomials.
Equations
- m1.mul m2 = List.zipWith (fun (x1 x2 : ℝ) => x1 + x2) m1 m2
Instances For
Inversion of a unit monomial.
Instances For
Flipping the sign of coef flips the sign of toFun. The theorem is stated in this form,
because it allows one to rewrite the t.toFun basis expression. It is used below in cases where we
want to reduce the case of t.coef < 0 to t.coef > 0.