Documentation

Mathlib.Analysis.NormedSpace.Extend

Extending a continuous -linear map to a continuous 𝕜-linear map #

In this file we provide a way to extend a continuous -linear map to a continuous 𝕜-linear map in a way that bounds the norm by the norm of the original map, when 𝕜 is either (the extension is trivial) or . We formulate the extension uniformly, by assuming IsROrC 𝕜.

We motivate the form of the extension as follows. Note that fc : F →ₗ[𝕜] 𝕜 is determined fully by re fc: for all x : F, fc (I • x) = I * fc x, so im (fc x) = -re (fc (I • x)). Therefore, given an fr : F →ₗ[ℝ] ℝ, we define fc x = fr x - fr (I • x) * I.

Main definitions #

Implementation details #

For convenience, the main definitions above operate in terms of RestrictScalars ℝ 𝕜 F. Alternate forms which operate on [IsScalarTower ℝ 𝕜 F] instead are provided with a primed name.

noncomputable def LinearMap.extendTo𝕜' {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [Module F] [IsScalarTower 𝕜 F] (fr : F →ₗ[] ) :
F →ₗ[𝕜] 𝕜

Extend fr : F →ₗ[ℝ] ℝ to F →ₗ[𝕜] 𝕜 in a way that will also be continuous and have its norm bounded by ‖fr‖ if fr is continuous.

Instances For
    theorem LinearMap.extendTo𝕜'_apply {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [Module F] [IsScalarTower 𝕜 F] (fr : F →ₗ[] ) (x : F) :
    ↑(LinearMap.extendTo𝕜' fr) x = ↑(fr x) - IsROrC.I * ↑(fr (IsROrC.I x))
    @[simp]
    theorem LinearMap.extendTo𝕜'_apply_re {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [Module F] [IsScalarTower 𝕜 F] (fr : F →ₗ[] ) (x : F) :
    IsROrC.re (↑(LinearMap.extendTo𝕜' fr) x) = fr x
    theorem LinearMap.norm_extendTo𝕜'_apply_sq {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [Module F] [IsScalarTower 𝕜 F] (fr : F →ₗ[] ) (x : F) :
    ↑(LinearMap.extendTo𝕜' fr) x ^ 2 = fr (↑(starRingEnd ((fun x => 𝕜) x)) (↑(LinearMap.extendTo𝕜' fr) x) x)

    The norm of the extension is bounded by ‖fr‖.

    noncomputable def ContinuousLinearMap.extendTo𝕜' {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [NormedSpace F] [IsScalarTower 𝕜 F] (fr : F →L[] ) :
    F →L[𝕜] 𝕜

    Extend fr : F →L[ℝ] ℝ to F →L[𝕜] 𝕜.

    Instances For
      theorem ContinuousLinearMap.extendTo𝕜'_apply {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] [NormedSpace F] [IsScalarTower 𝕜 F] (fr : F →L[] ) (x : F) :
      ↑(ContinuousLinearMap.extendTo𝕜' fr) x = ↑(fr x) - IsROrC.I * ↑(fr (IsROrC.I x))
      noncomputable def LinearMap.extendTo𝕜 {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] (fr : RestrictScalars 𝕜 F →ₗ[] ) :
      F →ₗ[𝕜] 𝕜

      Extend fr : RestrictScalars ℝ 𝕜 F →ₗ[ℝ] ℝ to F →ₗ[𝕜] 𝕜.

      Instances For
        theorem LinearMap.extendTo𝕜_apply {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] (fr : RestrictScalars 𝕜 F →ₗ[] ) (x : F) :
        ↑(LinearMap.extendTo𝕜 fr) x = ↑(fr x) - IsROrC.I * ↑(fr (IsROrC.I x))
        noncomputable def ContinuousLinearMap.extendTo𝕜 {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] (fr : RestrictScalars 𝕜 F →L[] ) :
        F →L[𝕜] 𝕜

        Extend fr : RestrictScalars ℝ 𝕜 F →L[ℝ] ℝ to F →L[𝕜] 𝕜.

        Instances For
          theorem ContinuousLinearMap.extendTo𝕜_apply {𝕜 : Type u_1} [IsROrC 𝕜] {F : Type u_2} [SeminormedAddCommGroup F] [NormedSpace 𝕜 F] (fr : RestrictScalars 𝕜 F →L[] ) (x : F) :
          ↑(ContinuousLinearMap.extendTo𝕜 fr) x = ↑(fr x) - IsROrC.I * ↑(fr (IsROrC.I x))