Documentation

Monlib.LinearAlgebra.Ips.RankOne

rank one operators #

This defines the rank one operator $| x \rangle\langle y |$ for continuous linear maps (see rank_one) and linear maps (see rank_one_lm).

@[reducible, inline]
noncomputable abbrev bra (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] :
E โ†’Lโ‹†[๐•œ] E โ†’L[๐•œ] ๐•œ
Equations
Instances For
    @[simp]
    theorem bra_apply_apply (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (w : E) :
    ((bra ๐•œ) x) w = inner x w
    @[simp]
    theorem bra_toFun_toFun (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (w : E) :
    ((bra ๐•œ) x) w = inner x w
    @[simp]
    theorem bra_toFun_apply (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (w : E) :
    ((bra ๐•œ) x) w = inner x w
    @[simp]
    theorem bra_apply_toFun (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (w : E) :
    ((bra ๐•œ) x) w = inner x w
    noncomputable def ket (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] :
    E โ†’L[๐•œ] ๐•œ โ†’L[๐•œ] E
    Equations
    • ket ๐•œ = { toFun := fun (x : E) => { toFun := fun (ฮฑ : ๐•œ) => ฮฑ โ€ข x, map_add' := โ‹ฏ, map_smul' := โ‹ฏ, cont := โ‹ฏ }, map_add' := โ‹ฏ, map_smul' := โ‹ฏ, cont := โ‹ฏ }
    Instances For
      @[simp]
      theorem ket_apply_apply (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (ฮฑ : ๐•œ) :
      ((ket ๐•œ) x) ฮฑ = ฮฑ โ€ข x
      @[simp]
      theorem ket_toFun_apply (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (ฮฑ : ๐•œ) :
      ((ket ๐•œ) x) ฮฑ = ฮฑ โ€ข x
      @[simp]
      theorem ket_apply_toFun (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (ฮฑ : ๐•œ) :
      ((ket ๐•œ) x) ฮฑ = ฮฑ โ€ข x
      @[simp]
      theorem ket_toFun_toFun (๐•œ : Type u_1) {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (ฮฑ : ๐•œ) :
      ((ket ๐•œ) x) ฮฑ = ฮฑ โ€ข x
      @[simp]
      theorem ket_one_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) :
      ((ket ๐•œ) x) 1 = x
      theorem ket_RCLike {๐•œ : Type u_1} [RCLike ๐•œ] (x : ๐•œ) :
      (ket ๐•œ) x = (ContinuousLinearMap.mul ๐•œ ๐•œ) x
      theorem ContinuousLinearMap.mul_one_apply {๐•œ : Type u_1} {๐•œ' : Type u_2} [NontriviallyNormedField ๐•œ] [SeminormedRing ๐•œ'] [NormedSpace ๐•œ ๐•œ'] [IsScalarTower ๐•œ ๐•œ' ๐•œ'] [SMulCommClass ๐•œ ๐•œ' ๐•œ'] :
      (ContinuousLinearMap.mul ๐•œ ๐•œ') 1 = 1
      theorem ket_RCLike_one {๐•œ : Type u_1} [RCLike ๐•œ] :
      (ket ๐•œ) 1 = 1
      theorem bra_RCLike {๐•œ : Type u_1} [RCLike ๐•œ] (x : ๐•œ) :
      (bra ๐•œ) x = (ContinuousLinearMap.mul ๐•œ ๐•œ) ((starRingEnd ๐•œ) x)
      theorem bra_RCLike_one {๐•œ : Type u_1} [RCLike ๐•œ] :
      (bra ๐•œ) 1 = 1
      theorem bra_adjoint_eq_ket {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (x : E) :
      ContinuousLinearMap.adjoint ((bra ๐•œ) x) = (ket ๐•œ) x
      theorem ket_adjoint_eq_bra {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (x : E) :
      ContinuousLinearMap.adjoint ((ket ๐•œ) x) = (bra ๐•œ) x
      theorem bra_ket_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (y : E) :
      ((bra ๐•œ) x).comp ((ket ๐•œ) y) = (ket ๐•œ) (inner x y)
      theorem bra_ket_one_eq_inner {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (x : E) (y : E) :
      (((bra ๐•œ) x).comp ((ket ๐•œ) y)) 1 = inner x y
      theorem continuousLinearMap_comp_ket {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] (f : Eโ‚ โ†’L[๐•œ] Eโ‚‚) (x : Eโ‚) :
      f.comp ((ket ๐•œ) x) = (ket ๐•œ) (f x)
      theorem bra_comp_continuousLinearMap {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] [CompleteSpace Eโ‚] [CompleteSpace Eโ‚‚] (x : Eโ‚‚) (f : Eโ‚ โ†’L[๐•œ] Eโ‚‚) :
      ((bra ๐•œ) x).comp f = (bra ๐•œ) ((ContinuousLinearMap.adjoint f) x)
      def rankOne (๐•œ : Type u_1) {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] :
      Eโ‚ โ†’โ‚—[๐•œ] Eโ‚‚ โ†’โ‚—โ‹†[๐•œ] Eโ‚‚ โ†’L[๐•œ] Eโ‚

      we define the rank one operator $| x \rangle\langle y |$ by $x \mapsto \langle y,z\rangle x$

      Instances For
        @[simp]
        theorem rankOne_apply_apply_apply (๐•œ : Type u_1) {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) (z : Eโ‚‚) :
        (((rankOne ๐•œ) x) y) z = inner y z โ€ข x
        @[simp]
        theorem rankOne_apply_apply_toFun (๐•œ : Type u_1) {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) (z : Eโ‚‚) :
        (((rankOne ๐•œ) x) y) z = inner y z โ€ข x
        @[simp]
        theorem rankOne_apply {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {x : Eโ‚} {y : Eโ‚‚} (z : Eโ‚‚) :
        (((rankOne ๐•œ) x) y) z = inner y z โ€ข x
        theorem ket_bra_eq_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {x : Eโ‚} {y : Eโ‚‚} :
        ((ket ๐•œ) x).comp ((bra ๐•œ) y) = ((rankOne ๐•œ) x) y
        theorem ket_eq_rankOne_one {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] (x : Eโ‚) :
        (ket ๐•œ) x = ((rankOne ๐•œ) x) 1
        theorem bra_eq_one_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] (x : Eโ‚) :
        (bra ๐•œ) x = ((rankOne ๐•œ) 1) x
        @[simp]
        theorem rankOne.smul_real_apply {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {x : Eโ‚} {y : Eโ‚‚} {ฮฑ : โ„} :
        ((rankOne ๐•œ) x) (โ†‘ฮฑ โ€ข y) = โ†‘ฮฑ โ€ข ((rankOne ๐•œ) x) y
        @[simp]
        theorem rankOne.apply_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {Eโ‚ƒ : Type u_4} [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (z : Eโ‚‚) (w : Eโ‚ƒ) :
        (((rankOne ๐•œ) x) y).comp (((rankOne ๐•œ) z) w) = inner y z โ€ข ((rankOne ๐•œ) x) w

        $| x \rangle\langle y | | z \rangle\langle w | = \langle y, z \rangle \cdot | x \rangle\langle w |$

        theorem ContinuousLinearMap.comp_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {Eโ‚ƒ : Type u_4} [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (u : Eโ‚ โ†’L[๐•œ] Eโ‚ƒ) :
        u.comp (((rankOne ๐•œ) x) y) = ((rankOne ๐•œ) (u x)) y

        $u \circ | x \rangle\langle y | = | u(x) \rangle\langle y |$

        theorem ContinuousLinearMap.rankOne_comp {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] {Eโ‚ƒ : Type u_4} [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚ƒ] [CompleteSpace Eโ‚‚] [CompleteSpace Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (u : Eโ‚ƒ โ†’L[๐•œ] Eโ‚‚) :
        (((rankOne ๐•œ) x) y).comp u = ((rankOne ๐•œ) x) ((ContinuousLinearMap.adjoint u) y)

        $| x \rangle\langle y | \circ u = | x \rangle\langle u^*(y) |$

        theorem rankOne_self_isIdempotentElem_of_normOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {x : Eโ‚} (h : โ€–xโ€– = 1) :
        IsIdempotentElem (((rankOne ๐•œ) x) x)

        rank one operators given by norm one vectors are automatically idempotent

        theorem rankOne_self_isSymmetric {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {x : Eโ‚} :
        (โ†‘(((rankOne ๐•œ) x) x)).IsSymmetric
        @[simp]
        theorem rankOne_self_isSelfAdjoint {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [CompleteSpace Eโ‚] {x : Eโ‚} :
        IsSelfAdjoint (((rankOne ๐•œ) x) x)

        rank one operators are automatically self-adjoint

        theorem rankOne_adjoint {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] [CompleteSpace Eโ‚] [CompleteSpace Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) :
        ContinuousLinearMap.adjoint (((rankOne ๐•œ) x) y) = ((rankOne ๐•œ) y) x

        $| x \rangle\langle y |^* = | y \rangle\langle x |$

        theorem rankOne_inner_left {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (w : Eโ‚) (y : Eโ‚‚) (z : Eโ‚‚) :
        inner ((((rankOne ๐•œ) x) y) z) w = inner z y * inner x w
        theorem rankOne_inner_right {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚) (z : Eโ‚‚) (w : Eโ‚‚) :
        inner x ((((rankOne ๐•œ) y) z) w) = inner z w * inner x y
        theorem ContinuousLinearMap.commutes_with_all_iff {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [CompleteSpace Eโ‚] {T : Eโ‚ โ†’L[๐•œ] Eโ‚} :
        (โˆ€ (S : Eโ‚ โ†’L[๐•œ] Eโ‚), Commute S T) โ†” โˆƒ (ฮฑ : ๐•œ), T = ฮฑ โ€ข 1
        theorem ContinuousLinearMap.centralizer {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [CompleteSpace Eโ‚] :
        Set.univ.centralizer = {x : Eโ‚ โ†’L[๐•œ] Eโ‚ | โˆƒ (ฮฑ : ๐•œ), x = ฮฑ โ€ข 1}
        theorem ContinuousLinearMap.scalar_centralizer {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] :
        {x : Eโ‚ โ†’L[๐•œ] Eโ‚ | โˆƒ (ฮฑ : ๐•œ), x = ฮฑ โ€ข 1}.centralizer = Set.univ
        theorem ContinuousLinearMap.centralizer_centralizer {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [CompleteSpace Eโ‚] :
        Set.univ.centralizer.centralizer = Set.univ
        theorem colinear_of_rankOne_self_eq_rankOne_self {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] (x : Eโ‚) (y : Eโ‚) (h : ((rankOne ๐•œ) x) x = ((rankOne ๐•œ) y) y) :
        โˆƒ (ฮฑ : ๐•œหฃ), x = โ†‘ฮฑ โ€ข y
        theorem colinear_of_ne_zero_rankOne_eq_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] [CompleteSpace Eโ‚‚] [CompleteSpace Eโ‚] {a : Eโ‚} {c : Eโ‚} {b : Eโ‚‚} {d : Eโ‚‚} (h : ((rankOne ๐•œ) a) b = ((rankOne ๐•œ) c) d) (ha : a โ‰  0) (hb : b โ‰  0) :
        โˆƒ (ฮฑ : ๐•œหฃ) (ฮฒ : ๐•œหฃ), a = โ†‘ฮฑ โ€ข c โˆง b = (โ†‘ฮฑ * โ†‘ฮฒ) โ€ข d
        theorem ket_eq_ket_iff {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {x : Eโ‚} {y : Eโ‚} :
        (ket ๐•œ) x = (ket ๐•œ) y โ†” x = y
        theorem bra_eq_bra_iff {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {x : Eโ‚} {y : Eโ‚} :
        (bra ๐•œ) x = (bra ๐•œ) y โ†” x = y
        theorem ContinuousLinearMap.ext_inner_map {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {F : Type u_4} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (T : Eโ‚ โ†’L[๐•œ] F) (S : Eโ‚ โ†’L[๐•œ] F) :
        T = S โ†” โˆ€ (x : Eโ‚) (y : F), inner (T x) y = inner (S x) y
        theorem LinearMap.ext_inner_map {๐•œ : Type u_1} {Eโ‚ : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] {F : Type u_4} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (T : Eโ‚ โ†’โ‚—[๐•œ] F) (S : Eโ‚ โ†’โ‚—[๐•œ] F) :
        T = S โ†” โˆ€ (x : Eโ‚) (y : F), inner (T x) y = inner (S x) y
        theorem ContinuousLinearMap.exists_sum_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] [FiniteDimensional ๐•œ Eโ‚] [FiniteDimensional ๐•œ Eโ‚‚] (T : Eโ‚ โ†’L[๐•œ] Eโ‚‚) :
        โˆƒ (x : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚) โ†’ Eโ‚‚) (y : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚) โ†’ Eโ‚), T = โˆ‘ i : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚), ((rankOne ๐•œ) (x i)) (y i)
        theorem LinearMap.exists_sum_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [InnerProductSpace ๐•œ Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚‚] [FiniteDimensional ๐•œ Eโ‚] [FiniteDimensional ๐•œ Eโ‚‚] (T : Eโ‚ โ†’โ‚—[๐•œ] Eโ‚‚) :
        โˆƒ (x : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚) โ†’ Eโ‚‚) (y : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚) โ†’ Eโ‚), T = โˆ‘ i : Fin (Module.finrank ๐•œ Eโ‚) ร— Fin (Module.finrank ๐•œ Eโ‚‚), โ†‘(((rankOne ๐•œ) (x i)) (y i))
        theorem rankOne.sum_orthonormalBasis_eq_id {๐•œ : Type u_4} {E : Type u_5} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {ฮน : Type u_6} [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
        โˆ‘ i : ฮน, ((rankOne ๐•œ) (b i)) (b i) = 1
        theorem ContinuousLinearMap.ext_of_rankOne {๐•œ : Type u_1} {Hโ‚ : Type u_2} {Hโ‚‚ : Type u_3} {H' : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup H'] [Module ๐•œ H'] [NormedAddCommGroup Hโ‚] [InnerProductSpace ๐•œ Hโ‚] [NormedAddCommGroup Hโ‚‚] [InnerProductSpace ๐•œ Hโ‚‚] [FiniteDimensional ๐•œ Hโ‚] [FiniteDimensional ๐•œ Hโ‚‚] {x : (Hโ‚ โ†’L[๐•œ] Hโ‚‚) โ†’L[๐•œ] H'} {y : (Hโ‚ โ†’L[๐•œ] Hโ‚‚) โ†’L[๐•œ] H'} (h : โˆ€ (a : Hโ‚‚) (b : Hโ‚), x (((rankOne ๐•œ) a) b) = y (((rankOne ๐•œ) a) b)) :
        x = y
        theorem LinearMap.ext_of_rankOne {๐•œ : Type u_1} {Hโ‚ : Type u_2} {Hโ‚‚ : Type u_3} {H' : Type u_4} [RCLike ๐•œ] [AddCommMonoid H'] [Module ๐•œ H'] [NormedAddCommGroup Hโ‚] [InnerProductSpace ๐•œ Hโ‚] [NormedAddCommGroup Hโ‚‚] [InnerProductSpace ๐•œ Hโ‚‚] [FiniteDimensional ๐•œ Hโ‚] [FiniteDimensional ๐•œ Hโ‚‚] {x : (Hโ‚ โ†’L[๐•œ] Hโ‚‚) โ†’โ‚—[๐•œ] H'} {y : (Hโ‚ โ†’L[๐•œ] Hโ‚‚) โ†’โ‚—[๐•œ] H'} (h : โˆ€ (a : Hโ‚‚) (b : Hโ‚), x (((rankOne ๐•œ) a) b) = y (((rankOne ๐•œ) a) b)) :
        x = y
        theorem AddMonoidHom.ext_of_rank_one' {๐•œ : Type u_1} {Hโ‚ : Type u_2} {Hโ‚‚ : Type u_3} {H' : Type u_4} [RCLike ๐•œ] [AddCommMonoid H'] [Module ๐•œ H'] [NormedAddCommGroup Hโ‚] [InnerProductSpace ๐•œ Hโ‚] [NormedAddCommGroup Hโ‚‚] [InnerProductSpace ๐•œ Hโ‚‚] [FiniteDimensional ๐•œ Hโ‚] [FiniteDimensional ๐•œ Hโ‚‚] {x : (Hโ‚ โ†’โ‚—[๐•œ] Hโ‚‚) โ†’+ H'} {y : (Hโ‚ โ†’โ‚—[๐•œ] Hโ‚‚) โ†’+ H'} (h : โˆ€ (a : Hโ‚‚) (b : Hโ‚), x โ†‘(((rankOne ๐•œ) a) b) = y โ†‘(((rankOne ๐•œ) a) b)) :
        x = y
        theorem LinearMap.ext_of_rank_one' {๐•œ : Type u_1} {Hโ‚ : Type u_2} {Hโ‚‚ : Type u_3} {H' : Type u_4} [RCLike ๐•œ] [AddCommMonoid H'] [Module ๐•œ H'] [NormedAddCommGroup Hโ‚] [InnerProductSpace ๐•œ Hโ‚] [NormedAddCommGroup Hโ‚‚] [InnerProductSpace ๐•œ Hโ‚‚] [FiniteDimensional ๐•œ Hโ‚] [FiniteDimensional ๐•œ Hโ‚‚] {x : (Hโ‚ โ†’โ‚—[๐•œ] Hโ‚‚) โ†’โ‚—[๐•œ] H'} {y : (Hโ‚ โ†’โ‚—[๐•œ] Hโ‚‚) โ†’โ‚—[๐•œ] H'} (h : โˆ€ (a : Hโ‚‚) (b : Hโ‚), x โ†‘(((rankOne ๐•œ) a) b) = y โ†‘(((rankOne ๐•œ) a) b)) :
        x = y
        theorem rankOne.sum_orthonormalBasis_eq_id_lm {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {ฮน : Type u_3} [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
        โˆ‘ i : ฮน, โ†‘(((rankOne ๐•œ) (b i)) (b i)) = 1
        theorem ContinuousLinearMap.coe_eq_zero {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] (f : Eโ‚ โ†’L[๐•œ] Eโ‚‚) :
        โ†‘f = 0 โ†” f = 0
        theorem rankOne.eq_zero_iff {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) :
        ((rankOne ๐•œ) x) y = 0 โ†” x = 0 โˆจ y = 0
        theorem LinearMap.rankOne_comp {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} {Eโ‚ƒ : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚ƒ] [FiniteDimensional ๐•œ Eโ‚‚] [FiniteDimensional ๐•œ Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (u : Eโ‚ƒ โ†’โ‚—[๐•œ] Eโ‚‚) :
        โ†‘(((rankOne ๐•œ) x) y) โˆ˜โ‚— u = โ†‘(((rankOne ๐•œ) x) ((LinearMap.adjoint u) y))
        theorem LinearMap.rankOne_comp' {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} {Eโ‚ƒ : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚ƒ] [FiniteDimensional ๐•œ Eโ‚‚] [FiniteDimensional ๐•œ Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (u : Eโ‚‚ โ†’โ‚—[๐•œ] Eโ‚ƒ) :
        โ†‘(((rankOne ๐•œ) x) y) โˆ˜โ‚— LinearMap.adjoint u = โ†‘(((rankOne ๐•œ) x) (u y))
        theorem OrthonormalBasis.orthogonalProjection'_eq_sum_rankOne {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] {U : Submodule ๐•œ E} [CompleteSpace โ†ฅU] (b : OrthonormalBasis ฮน ๐•œ โ†ฅU) :
        orthogonalProjection' U = โˆ‘ i : ฮน, ((rankOne ๐•œ) โ†‘(b i)) โ†‘(b i)
        theorem LinearMap.comp_rankOne {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} {Eโ‚ƒ : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [NormedAddCommGroup Eโ‚ƒ] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚ƒ] (x : Eโ‚) (y : Eโ‚‚) (u : Eโ‚ โ†’โ‚—[๐•œ] Eโ‚ƒ) :
        u โˆ˜โ‚— โ†‘(((rankOne ๐•œ) x) y) = โ†‘(((rankOne ๐•œ) (u x)) y)
        theorem rankOne_smul_smul {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) (rโ‚ : ๐•œ) (rโ‚‚ : ๐•œ) :
        ((rankOne ๐•œ) (rโ‚ โ€ข x)) (star rโ‚‚ โ€ข y) = (rโ‚ * rโ‚‚) โ€ข ((rankOne ๐•œ) x) y
        theorem rankOne_lm_smul_smul {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] (x : Eโ‚) (y : Eโ‚‚) (rโ‚ : ๐•œ) (rโ‚‚ : ๐•œ) :
        โ†‘(((rankOne ๐•œ) (rโ‚ โ€ข x)) (star rโ‚‚ โ€ข y)) = (rโ‚ * rโ‚‚) โ€ข โ†‘(((rankOne ๐•œ) x) y)
        theorem rankOne_lm_sum_sum {๐•œ : Type u_1} {Eโ‚ : Type u_2} {Eโ‚‚ : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] {ฮนโ‚ : Type u_4} {ฮนโ‚‚ : Type u_5} {k : Finset ฮนโ‚} {kโ‚‚ : Finset ฮนโ‚‚} (f : ฮนโ‚ โ†’ Eโ‚) (g : ฮนโ‚‚ โ†’ Eโ‚‚) :
        โ†‘(((rankOne ๐•œ) (โˆ‘ i โˆˆ k, f i)) (โˆ‘ i โˆˆ kโ‚‚, g i)) = โˆ‘ i โˆˆ k, โˆ‘ j โˆˆ kโ‚‚, โ†‘(((rankOne ๐•œ) (f i)) (g j))
        theorem ContinuousLinearMap.linearMap_adjoint {๐•œ : Type u_1} {B : Type u_2} {C : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace ๐•œ B] [InnerProductSpace ๐•œ C] [FiniteDimensional ๐•œ B] [FiniteDimensional ๐•œ C] (x : B โ†’L[๐•œ] C) :
        LinearMap.adjoint โ†‘x = โ†‘(ContinuousLinearMap.adjoint x)
        theorem LinearMap.toContinuousLinearMap_adjoint {๐•œ : Type u_1} {B : Type u_2} {C : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace ๐•œ B] [InnerProductSpace ๐•œ C] [FiniteDimensional ๐•œ B] [FiniteDimensional ๐•œ C] {x : B โ†’โ‚—[๐•œ] C} :
        ContinuousLinearMap.adjoint (LinearMap.toContinuousLinearMap x) = LinearMap.toContinuousLinearMap (LinearMap.adjoint x)
        theorem LinearMap.toContinuousLinearMap_adjoint' {๐•œ : Type u_1} {B : Type u_2} {C : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace ๐•œ B] [InnerProductSpace ๐•œ C] [FiniteDimensional ๐•œ B] [FiniteDimensional ๐•œ C] {x : B โ†’โ‚—[๐•œ] C} :
        โ†‘(ContinuousLinearMap.adjoint (LinearMap.toContinuousLinearMap x)) = LinearMap.adjoint x
        theorem OrthonormalBasis.repr_adjoint {ฮน : Type u_1} {๐•œ : Type u_2} {E : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
        ContinuousLinearMap.adjoint โ†‘b.repr.toContinuousLinearEquiv = โ†‘b.repr.symm.toContinuousLinearEquiv
        theorem OrthonormalBasis.repr_adjoint' {ฮน : Type u_1} {๐•œ : Type u_2} {E : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
        LinearMap.adjoint โ†‘b.repr.toLinearEquiv = โ†‘b.repr.symm.toLinearEquiv
        theorem rankOne_toMatrix_of_onb {ฮนโ‚ : Type u_1} {ฮนโ‚‚ : Type u_2} {๐•œ : Type u_3} {Eโ‚ : Type u_4} {Eโ‚‚ : Type u_5} [RCLike ๐•œ] [NormedAddCommGroup Eโ‚] [NormedAddCommGroup Eโ‚‚] [InnerProductSpace ๐•œ Eโ‚] [InnerProductSpace ๐•œ Eโ‚‚] [Fintype ฮนโ‚] [Fintype ฮนโ‚‚] [DecidableEq ฮนโ‚] [DecidableEq ฮนโ‚‚] (bโ‚ : OrthonormalBasis ฮนโ‚ ๐•œ Eโ‚) (bโ‚‚ : OrthonormalBasis ฮนโ‚‚ ๐•œ Eโ‚‚) (x : Eโ‚) (y : Eโ‚‚) :
        (LinearMap.toMatrix bโ‚‚.toBasis bโ‚.toBasis) โ†‘(((rankOne ๐•œ) x) y) = Matrix.col (Fin 1) (bโ‚.repr x) * (Matrix.col (Fin 1) (bโ‚‚.repr y)).conjTranspose