Invertibility of continuous linear maps #
In this file, we define the predicate ContinuousLinearMap.IsInvertible, expressing that a given
continuous (semi)linear map is the forward direction of a ContinuousLinearEquiv (in other words,
it has a continuous inverse).
def
ContinuousLinearMap.IsInvertible
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
(f : M →L[R] M₂)
:
A continuous linear map is invertible if it is the forward direction of a continuous linear equivalence.
Equations
- f.IsInvertible = ∃ (A : M ≃L[R] M₂), ↑A = f
Instances For
noncomputable def
ContinuousLinearMap.inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
:
Introduce a function inverse from M →L[R] M₂ to M₂ →L[R] M, which sends f to f.symm if
f is a continuous linear equivalence and to 0 otherwise. This definition is somewhat ad hoc,
but one needs a fully (rather than partially) defined inverse function for some purposes, including
for calculus.
Equations
- f.inverse = if h : f.IsInvertible then ↑(Classical.choose h).symm else 0
Instances For
@[simp]
theorem
ContinuousLinearMap.isInvertible_equiv
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M ≃L[R] M₂}
:
(↑f).IsInvertible
@[simp]
theorem
ContinuousLinearMap.inverse_equiv
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
(e : M ≃L[R] M₂)
:
@[simp]
theorem
ContinuousLinearMap.inverse_of_not_isInvertible
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : ¬f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.isInvertible_zero_iff
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
:
@[simp]
theorem
ContinuousLinearMap.inverse_zero
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
:
theorem
ContinuousLinearMap.IsInvertible.comp
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{g : M₂ →L[R] M₃}
{f : M →L[R] M₂}
(hg : g.IsInvertible)
(hf : f.IsInvertible)
:
(g ∘SL f).IsInvertible
theorem
ContinuousLinearMap.IsInvertible.of_inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
{g : M₂ →L[R] M}
(hf : f ∘SL g = ContinuousLinearMap.id R M₂)
(hg : g ∘SL f = ContinuousLinearMap.id R M)
:
theorem
ContinuousLinearMap.inverse_eq
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
{g : M₂ →L[R] M}
(hf : f ∘SL g = ContinuousLinearMap.id R M₂)
(hg : g ∘SL f = ContinuousLinearMap.id R M)
:
theorem
ContinuousLinearMap.IsInvertible.inverse_apply_eq
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
{x : M}
{y : M₂}
(hf : f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.isInvertible_equiv_comp
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{e : M₂ ≃L[R] M₃}
{f : M →L[R] M₂}
:
@[simp]
theorem
ContinuousLinearMap.isInvertible_comp_equiv
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{e : M₃ ≃L[R] M}
{f : M →L[R] M₂}
:
@[simp]
theorem
ContinuousLinearMap.inverse_equiv_comp
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{e : M₂ ≃L[R] M₃}
{f : M →L[R] M₂}
:
@[simp]
theorem
ContinuousLinearMap.inverse_comp_equiv
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{e : M₃ ≃L[R] M}
{f : M →L[R] M₂}
:
theorem
ContinuousLinearMap.IsInvertible.inverse_comp_of_left
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{g : M₂ →L[R] M₃}
{f : M →L[R] M₂}
(hg : g.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.inverse_comp_apply_of_left
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{g : M₂ →L[R] M₃}
{f : M →L[R] M₂}
{v : M₃}
(hg : g.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.inverse_comp_of_right
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{g : M₂ →L[R] M₃}
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.inverse_comp_apply_of_right
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
{M₃ : Type u_4}
[TopologicalSpace M]
[TopologicalSpace M₂]
[TopologicalSpace M₃]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
[AddCommMonoid M₃]
[Module R M₃]
{g : M₂ →L[R] M₃}
{f : M →L[R] M₂}
{v : M₃}
(hf : f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.ringInverse_equiv
{R : Type u_1}
{M : Type u_2}
[TopologicalSpace M]
[Semiring R]
[AddCommMonoid M]
[Module R M]
(e : M ≃L[R] M)
:
theorem
ContinuousLinearMap.inverse_eq_ringInverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
(e : M ≃L[R] M₂)
(f : M →L[R] M₂)
:
The function ContinuousLinearEquiv.inverse can be written in terms of Ring.inverse for the
ring of self-maps of the domain.
theorem
ContinuousLinearMap.ringInverse_eq_inverse
{R : Type u_1}
{M : Type u_2}
[TopologicalSpace M]
[Semiring R]
[AddCommMonoid M]
[Module R M]
:
@[simp]
theorem
ContinuousLinearMap.inverse_id
{R : Type u_1}
{M : Type u_2}
[TopologicalSpace M]
[Semiring R]
[AddCommMonoid M]
[Module R M]
:
@[simp]
theorem
ContinuousLinearMap.IsInvertible.self_comp_inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.IsInvertible.self_apply_inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
(y : M₂)
:
@[simp]
theorem
ContinuousLinearMap.IsInvertible.inverse_comp_self
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.IsInvertible.inverse_apply_self
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
(y : M)
:
theorem
ContinuousLinearMap.IsInvertible.bijective
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.injective
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.surjective
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.IsInvertible.inverse_inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.IsInvertible)
:
theorem
ContinuousLinearMap.IsInvertible.of_isInvertible_inverse
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
(hf : f.inverse.IsInvertible)
:
@[simp]
theorem
ContinuousLinearMap.isInvertible_inverse_iff
{R : Type u_1}
{M : Type u_2}
{M₂ : Type u_3}
[TopologicalSpace M]
[TopologicalSpace M₂]
[Semiring R]
[AddCommMonoid M]
[Module R M]
[AddCommMonoid M₂]
[Module R M₂]
{f : M →L[R] M₂}
: