Exponential in a Banach algebra #
In this file, we define NormedSpace.exp : 𝔸 → 𝔸,
the exponential map in a topological algebra 𝔸.
While for most interesting results we need 𝔸 to be normed algebra, we do not require this in the
definition in order to make NormedSpace.exp independent of a particular choice of norm. The
definition also does not require that 𝔸 be complete, but we need to assume it for most results.
We then prove some basic results, but we avoid importing derivatives here to minimize dependencies.
Results involving derivatives and comparisons with Real.exp and Complex.exp can be found in
Analysis.SpecialFunctions.Exponential.
Main results #
We prove most result for an arbitrary field 𝕂, and then specialize to 𝕂 = ℝ or 𝕂 = ℂ.
General case #
NormedSpace.exp_add_of_commute_of_mem_ball: if𝕂has characteristic zero, then given two commuting elementsxandyin the disk of convergence, we haveNormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y)NormedSpace.exp_add_of_mem_ball: if𝕂has characteristic zero and𝔸is commutative, then given two elementsxandyin the disk of convergence, we haveNormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y)NormedSpace.exp_neg_of_mem_ball: if𝕂has characteristic zero and𝔸is a division ring, then given an elementxin the disk of convergence, we haveNormedSpace.exp (-x) = (NormedSpace.exp x)⁻¹.
𝕂 = ℝ or 𝕂 = ℂ #
expSeries_radius_eq_top: theFormalMultilinearSeriesdefiningNormedSpace.exphas infinite radius of convergenceNormedSpace.exp_add_of_commute: given two commuting elementsxandy, we haveNormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y)NormedSpace.exp_add: if𝔸is commutative, then we haveNormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y)for anyxandyNormedSpace.exp_neg: if𝔸is a division ring, then we haveNormedSpace.exp (-x) = (NormedSpace.exp x)⁻¹.NormedSpace.exp_sum_of_commute: the analogous result toNormedSpace.exp_add_of_commuteforFinset.sum.NormedSpace.exp_sum: the analogous result toNormedSpace.exp_addforFinset.sum.NormedSpace.exp_nsmul: repeated addition in the domain corresponds to repeated multiplication in the codomain.NormedSpace.exp_zsmul: repeated addition in the domain corresponds to repeated multiplication in the codomain.
Notes #
We put nearly all the statements in this file in the NormedSpace namespace,
to avoid collisions with the Real or Complex namespaces.
As of 2023-11-16 due to bad instances in Mathlib
import Mathlib
open Real
#time example (x : ℝ) : 0 < exp x := exp_pos _ -- 250ms
#time example (x : ℝ) : 0 < Real.exp x := exp_pos _ -- 2ms
This is because exp x tries the NormedSpace.exp 𝕂 : 𝔸 → 𝔸 function previously defined here,
and generates a slow coercion search from Real to Type, to fit the first argument here.
We will resolve this slow coercion separately,
but we want to move exp out of the root namespace in any case to avoid this ambiguity.
To avoid explicitly passing the base field 𝕂, we currently fix 𝕂 = ℚ in the definition of
NormedSpace.exp : 𝔸 → 𝔸. If 𝔸 can be equipped with a ℚ-algebra structure, we use
Classical.choice to pick the unique Algebra ℚ 𝔸 instead of requiring an instance argument.
This eliminates the need to provide Algebra ℚ 𝔸 every time exp is used. If 𝔸 can't be equipped
with a ℚ-algebra structure, we use the junk value 1.
In the long term it may be possible to replace Real.exp and Complex.exp with NormedSpace.exp
and move it back to the root namespace.
expSeries 𝕂 𝔸 is the FormalMultilinearSeries whose n-th term is the map
(xᵢ) : 𝔸ⁿ ↦ (1/n! : 𝕂) • ∏ xᵢ. Its sum is the exponential map NormedSpace.exp : 𝔸 → 𝔸.
Equations
- NormedSpace.expSeries 𝕂 𝔸 n = (↑n.factorial)⁻¹ • ContinuousMultilinearMap.mkPiAlgebraFin 𝕂 n 𝔸
Instances For
The exponential series as an ofScalars series.
NormedSpace.exp : 𝔸 → 𝔸 is the exponential map. It is defined as the sum of the
FormalMultilinearSeries expSeries ℚ 𝔸.
If 𝔸 can't be equipped with a ℚ-algebra structure, we use the junk value 1. For details on why
this approach is taken, see the module documentation for Analysis.Normed.Algebra.Exponential.
Note that when 𝔸 = Matrix n n 𝕂, this is the Matrix Exponential; see
MatrixExponential for lemmas
specific to that case.
Equations
- NormedSpace.exp x = if h : Nonempty (Algebra ℚ 𝔸) then (NormedSpace.expSeries ℚ 𝔸).sum x else 1
Instances For
The exponential sum as an ofScalarsSum.
In a Banach-algebra 𝔸 over a normed field 𝕂 of characteristic zero, if x and y are
in the disk of convergence and commute, then
NormedSpace.exp (x + y) = (NormedSpace.exp x) * (NormedSpace.exp y).
NormedSpace.exp x has explicit two-sided inverse NormedSpace.exp (-x).
Equations
- NormedSpace.invertibleExpOfMemBall hx = { invOf := NormedSpace.exp (-x), invOf_mul_self := ⋯, mul_invOf_self := ⋯ }
Instances For
Any continuous ring homomorphism commutes with NormedSpace.exp.
In a commutative Banach-algebra 𝔸 over a normed field 𝕂 of characteristic zero,
NormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y)
for all x, y in the disk of convergence.
In a normed algebra 𝔸 over 𝕂 = ℝ or 𝕂 = ℂ, the series defining the exponential map
has an infinite radius of convergence.
In a Banach-algebra 𝔸 over 𝕂 = ℝ or 𝕂 = ℂ, if x and y commute, then
NormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y).
NormedSpace.exp x has explicit two-sided inverse NormedSpace.exp (-x).
Equations
Instances For
In a Banach-algebra 𝔸 over 𝕂 = ℝ or 𝕂 = ℂ, if a family of elements f i mutually
commute then NormedSpace.exp (∑ i, f i) = ∏ i, NormedSpace.exp (f i).
Any continuous ring homomorphism commutes with NormedSpace.exp.
In a commutative Banach-algebra 𝔸 over 𝕂 = ℝ or 𝕂 = ℂ,
NormedSpace.exp (x+y) = (NormedSpace.exp x) * (NormedSpace.exp y).
A version of NormedSpace.exp_sum_of_commute for a commutative Banach-algebra.
If a normed ring 𝔸 is a normed algebra over two fields, then they define the same
expSeries on 𝔸.
A version of Complex.ofReal_exp for NormedSpace.exp instead of Complex.exp
Alias of NormedSpace.ofReal_exp_ℝ_ℝ.
A version of Complex.ofReal_exp for NormedSpace.exp instead of Complex.exp