Documentation

Mathlib.Analysis.Matrix

Matrices as a normed space #

In this file we provide the following non-instances for norms on matrices:

These are not declared as instances because there are several natural choices for defining the norm of a matrix.

The elementwise supremum norm #

Seminormed group instance (using sup norm of sup norm) for matrices over a seminormed group. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

Instances For
    theorem Matrix.norm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
    A = fun i j => A i j
    theorem Matrix.nnnorm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
    A‖₊ = fun i j => A i j‖₊
    theorem Matrix.norm_le_iff {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] {r : } (hr : 0 r) {A : Matrix m n α} :
    A r ∀ (i : m) (j : n), A i j r
    theorem Matrix.nnnorm_le_iff {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] {r : NNReal} {A : Matrix m n α} :
    A‖₊ r ∀ (i : m) (j : n), A i j‖₊ r
    theorem Matrix.norm_lt_iff {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] {r : } (hr : 0 < r) {A : Matrix m n α} :
    A < r ∀ (i : m) (j : n), A i j < r
    theorem Matrix.nnnorm_lt_iff {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] {r : NNReal} (hr : 0 < r) {A : Matrix m n α} :
    A‖₊ < r ∀ (i : m) (j : n), A i j‖₊ < r
    theorem Matrix.norm_entry_le_entrywise_sup_norm {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) {i : m} {j : n} :
    theorem Matrix.nnnorm_entry_le_entrywise_sup_nnnorm {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) {i : m} {j : n} :
    @[simp]
    theorem Matrix.nnnorm_map_eq {m : Type u_3} {n : Type u_4} {α : Type u_5} {β : Type u_6} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] [SeminormedAddCommGroup β] (A : Matrix m n α) (f : αβ) (hf : ∀ (a : α), f a‖₊ = a‖₊) :
    @[simp]
    theorem Matrix.norm_map_eq {m : Type u_3} {n : Type u_4} {α : Type u_5} {β : Type u_6} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] [SeminormedAddCommGroup β] (A : Matrix m n α) (f : αβ) (hf : ∀ (a : α), f a = a) :
    @[simp]
    theorem Matrix.nnnorm_transpose {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
    @[simp]
    theorem Matrix.norm_transpose {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
    @[simp]
    @[simp]
    theorem Matrix.nnnorm_col {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
    @[simp]
    theorem Matrix.norm_col {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
    @[simp]
    theorem Matrix.nnnorm_row {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
    @[simp]
    theorem Matrix.norm_row {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
    @[simp]
    @[simp]
    theorem Matrix.norm_diagonal {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] [DecidableEq n] (v : nα) :
    def Matrix.normedAddCommGroup {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [NormedAddCommGroup α] :

    Normed group instance (using sup norm of sup norm) for matrices over a normed group. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

    Instances For
      def Matrix.normedSpace {R : Type u_1} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [NormedField R] [SeminormedAddCommGroup α] [NormedSpace R α] :
      NormedSpace R (Matrix m n α)

      Normed space instance (using sup norm of sup norm) for matrices over a normed space. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

      Instances For

        The $L_\infty$ operator norm #

        This section defines the matrix norm $|A|_\infty = \operatorname{sup}i (\sum_j |A{ij}|)$.

        Note that this is equivalent to the operator norm, considering $A$ as a linear map between two $L^\infty$ spaces.

        Seminormed group instance (using sup norm of L1 norm) for matrices over a seminormed group. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

        Instances For

          Normed group instance (using sup norm of L1 norm) for matrices over a normed ring. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

          Instances For
            def Matrix.linftyOpNormedSpace {R : Type u_1} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [NormedField R] [SeminormedAddCommGroup α] [NormedSpace R α] :
            NormedSpace R (Matrix m n α)

            Normed space instance (using sup norm of L1 norm) for matrices over a normed space. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

            Instances For
              theorem Matrix.linfty_op_norm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
              A = ↑(Finset.sup Finset.univ fun i => Finset.sum Finset.univ fun j => A i j‖₊)
              theorem Matrix.linfty_op_nnnorm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
              A‖₊ = Finset.sup Finset.univ fun i => Finset.sum Finset.univ fun j => A i j‖₊
              @[simp]
              theorem Matrix.linfty_op_nnnorm_col {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
              @[simp]
              theorem Matrix.linfty_op_norm_col {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
              @[simp]
              theorem Matrix.linfty_op_nnnorm_row {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
              Matrix.row v‖₊ = Finset.sum Finset.univ fun i => v i‖₊
              @[simp]
              theorem Matrix.linfty_op_norm_row {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
              Matrix.row v = Finset.sum Finset.univ fun i => v i
              @[simp]
              theorem Matrix.linfty_op_nnnorm_mul {l : Type u_2} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype l] [Fintype m] [Fintype n] [NonUnitalSeminormedRing α] (A : Matrix l m α) (B : Matrix m n α) :
              theorem Matrix.linfty_op_norm_mul {l : Type u_2} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype l] [Fintype m] [Fintype n] [NonUnitalSeminormedRing α] (A : Matrix l m α) (B : Matrix m n α) :
              theorem Matrix.linfty_op_nnnorm_mulVec {l : Type u_2} {m : Type u_3} {α : Type u_5} [Fintype l] [Fintype m] [NonUnitalSeminormedRing α] (A : Matrix l m α) (v : mα) :
              theorem Matrix.linfty_op_norm_mulVec {l : Type u_2} {m : Type u_3} {α : Type u_5} [Fintype l] [Fintype m] [NonUnitalSeminormedRing α] (A : Matrix l m α) (v : mα) :

              Seminormed non-unital ring instance (using sup norm of L1 norm) for matrices over a semi normed non-unital ring. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

              Instances For

                The L₁-L∞ norm preserves one on non-empty matrices. Note this is safe as an instance, as it carries no data.

                Seminormed ring instance (using sup norm of L1 norm) for matrices over a semi normed ring. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                Instances For

                  Normed non-unital ring instance (using sup norm of L1 norm) for matrices over a normed non-unital ring. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                  Instances For
                    def Matrix.linftyOpNormedRing {n : Type u_4} {α : Type u_5} [Fintype n] [NormedRing α] [DecidableEq n] :

                    Normed ring instance (using sup norm of L1 norm) for matrices over a normed ring. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                    Instances For
                      def Matrix.linftyOpNormedAlgebra {R : Type u_1} {n : Type u_4} {α : Type u_5} [Fintype n] [NormedField R] [SeminormedRing α] [NormedAlgebra R α] [DecidableEq n] :

                      Normed algebra instance (using sup norm of L1 norm) for matrices over a normed algebra. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                      Instances For

                        The Frobenius norm #

                        This is defined as $|A| = \sqrt{\sum_{i,j} |A_{ij}|^2}$. When the matrix is over the real or complex numbers, this norm is submultiplicative.

                        Seminormed group instance (using frobenius norm) for matrices over a seminormed group. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                        Instances For

                          Normed group instance (using frobenius norm) for matrices over a normed group. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                          Instances For
                            def Matrix.frobeniusNormedSpace {R : Type u_1} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [NormedField R] [SeminormedAddCommGroup α] [NormedSpace R α] :
                            NormedSpace R (Matrix m n α)

                            Normed space instance (using frobenius norm) for matrices over a normed space. Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                            Instances For
                              theorem Matrix.frobenius_nnnorm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
                              A‖₊ = (Finset.sum Finset.univ fun i => Finset.sum Finset.univ fun j => A i j‖₊ ^ 2) ^ (1 / 2)
                              theorem Matrix.frobenius_norm_def {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
                              A = (Finset.sum Finset.univ fun i => Finset.sum Finset.univ fun j => A i j ^ 2) ^ (1 / 2)
                              @[simp]
                              theorem Matrix.frobenius_nnnorm_map_eq {m : Type u_3} {n : Type u_4} {α : Type u_5} {β : Type u_6} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] [SeminormedAddCommGroup β] (A : Matrix m n α) (f : αβ) (hf : ∀ (a : α), f a‖₊ = a‖₊) :
                              @[simp]
                              theorem Matrix.frobenius_norm_map_eq {m : Type u_3} {n : Type u_4} {α : Type u_5} {β : Type u_6} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] [SeminormedAddCommGroup β] (A : Matrix m n α) (f : αβ) (hf : ∀ (a : α), f a = a) :
                              @[simp]
                              @[simp]
                              theorem Matrix.frobenius_norm_transpose {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype m] [Fintype n] [SeminormedAddCommGroup α] (A : Matrix m n α) :
                              @[simp]
                              theorem Matrix.frobenius_norm_row {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
                              Matrix.row v = (WithLp.equiv 2 (mα)).symm v
                              @[simp]
                              theorem Matrix.frobenius_nnnorm_row {m : Type u_3} {α : Type u_5} [Fintype m] [SeminormedAddCommGroup α] (v : mα) :
                              Matrix.row v‖₊ = (WithLp.equiv 2 (mα)).symm v‖₊
                              @[simp]
                              theorem Matrix.frobenius_norm_col {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
                              Matrix.col v = (WithLp.equiv 2 (nα)).symm v
                              @[simp]
                              theorem Matrix.frobenius_nnnorm_col {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] (v : nα) :
                              Matrix.col v‖₊ = (WithLp.equiv 2 (nα)).symm v‖₊
                              @[simp]
                              theorem Matrix.frobenius_nnnorm_diagonal {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] [DecidableEq n] (v : nα) :
                              @[simp]
                              theorem Matrix.frobenius_norm_diagonal {n : Type u_4} {α : Type u_5} [Fintype n] [SeminormedAddCommGroup α] [DecidableEq n] (v : nα) :
                              Matrix.diagonal v = (WithLp.equiv 2 (nα)).symm v
                              theorem Matrix.frobenius_nnnorm_mul {l : Type u_2} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype l] [Fintype m] [Fintype n] [IsROrC α] (A : Matrix l m α) (B : Matrix m n α) :
                              theorem Matrix.frobenius_norm_mul {l : Type u_2} {m : Type u_3} {n : Type u_4} {α : Type u_5} [Fintype l] [Fintype m] [Fintype n] [IsROrC α] (A : Matrix l m α) (B : Matrix m n α) :
                              def Matrix.frobeniusNormedRing {m : Type u_3} {α : Type u_5} [Fintype m] [IsROrC α] [DecidableEq m] :

                              Normed ring instance (using frobenius norm) for matrices over or . Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                              Instances For
                                def Matrix.frobeniusNormedAlgebra {R : Type u_1} {m : Type u_3} {α : Type u_5} [Fintype m] [IsROrC α] [DecidableEq m] [NormedField R] [NormedAlgebra R α] :

                                Normed algebra instance (using frobenius norm) for matrices over or . Not declared as an instance because there are several natural choices for defining the norm of a matrix.

                                Instances For