Zulip Chat Archive
Stream: Is there code for X?
Topic: homeomorphism between a normed space and a ball
Yury G. Kudryashov (Nov 03 2021 at 04:00):
Do we have the following homeomorphism somewhere?
def normed_space.homeomorph_ball (E : Type*) [normed_group E] [normed_space real E] :
homeomorph E (metric.ball (0 : E) 1)
Yury G. Kudryashov (Nov 03 2021 at 04:01):
I need any homeomorphism of this type, not some specific one.
Yury G. Kudryashov (Nov 03 2021 at 04:48):
I came up with
def normed_space.homeomorph_unit_ball : E ≃ₜ ball (0 : E) 1 :=
{ to_fun := λ x,
begin
refine ⟨(1 + ∥x∥)⁻¹ • x, mem_ball_zero_iff.2 _⟩,
have : ∥x∥ < |1 + ∥x∥| := (lt_one_add _).trans_le (le_abs_self _),
rwa [norm_smul, real.norm_eq_abs, abs_inv, ← div_eq_inv_mul,
div_lt_one ((norm_nonneg x).trans_lt this)],
end,
inv_fun := λ x, (1 - ∥(x : E)∥)⁻¹ • (x : E),
left_inv := λ x,
begin
have : 0 < 1 + ∥x∥ := (norm_nonneg x).trans_lt (lt_one_add _),
field_simp [this.ne', abs_of_pos this, norm_smul, smul_smul, real.norm_eq_abs, abs_div]
end,
right_inv := λ x, subtype.ext
begin
have : 0 < 1 - ∥(x : E)∥ := sub_pos.2 (mem_ball_zero_iff.1 x.2),
field_simp [norm_smul, smul_smul, real.norm_eq_abs, abs_div, abs_of_pos this, this.ne']
end,
continuous_to_fun := continuous_subtype_mk _ $
((continuous_const.add continuous_norm).inv₀
(λ x, ((norm_nonneg x).trans_lt (lt_one_add _)).ne')).smul continuous_id,
continuous_inv_fun := continuous.smul
((continuous_const.sub continuous_subtype_coe.norm).inv₀ $
λ x, (sub_pos.2 $ mem_ball_zero_iff.1 x.2).ne') continuous_subtype_coe }
Last updated: Dec 20 2023 at 11:08 UTC