Trimming of multiseries #
A multiseries is trimmed when its leading coefficient (the head of its expansion) is itself trimmed and non-zero. For a trimmed multiseries, the leading monomial captures the main asymptotic behavior of the approximated function.
Main definitions #
IsZero: a multiseries represents the zero function — it is either the real number0(for the empty basis) or has an empty underlying sequence (.nil).TrimmedandMultiseries.Trimmed: a multiseries is trimmed in the sense above. The former is defined inductively forMultiseriesExpansion, and the latter forMultiseriesis derived from it.
We also prove structural lemmas relating these predicates to seq and to the cons/nil
constructors.
A multiseries is zero if it is the real constant 0 or has an empty sequence.
- const {c : MultiseriesExpansion []} (hc : c.toReal = 0) : c.IsZero
- nil {basis_hd : ℝ → ℝ} {basis_tl : List (ℝ → ℝ)} (f : ℝ → ℝ) : (mk Multiseries.nil f).IsZero
Instances For
We call a multiseries Trimmed if it is either a constant, .nil, or cons (exp, coef) tl
where coef is trimmed and is not zero. Intuitively, when a multiseries is trimmed, its leading
monomial gives the main asymptotic behavior of the approximated function.
- const {c : ℝ} : Trimmed c
- nil {basis_hd : ℝ → ℝ} {basis_tl : List (ℝ → ℝ)} {f : ℝ → ℝ} : (mk Multiseries.nil f).Trimmed
- cons {basis_hd : ℝ → ℝ} {basis_tl : Basis} {exp : ℝ} {coef : MultiseriesExpansion basis_tl} {tl : Multiseries basis_hd basis_tl} {f : ℝ → ℝ} (h_trimmed : coef.Trimmed) (h_ne_zero : ¬coef.IsZero) : (mk (Multiseries.cons exp coef tl) f).Trimmed
Instances For
We call a Multiseries Trimmed if it is either .nil or cons (exp, coef) tl where coef
is trimmed and is not zero.
Equations
Instances For
If cons (exp, coef) tl is trimmed, then coef is trimmed and is not zero.
If cons (exp, coef) tl is trimmed, then coef is trimmed and is not zero.