Matrices as a normed space #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file we provide the following non-instances for norms on matrices:
-
The elementwise norm:
-
The Frobenius norm:
-
The $L^\infty$ operator norm:
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.
Note this is safe as an instance as it carries no data.
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.
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.
Equations
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.
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.
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.
Equations
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.
Equations
- matrix.linfty_op_non_unital_semi_normed_ring = {to_has_norm := seminormed_add_comm_group.to_has_norm matrix.linfty_op_seminormed_add_comm_group, to_non_unital_ring := {add := add_comm_group.add seminormed_add_comm_group.to_add_comm_group, add_assoc := _, zero := add_comm_group.zero seminormed_add_comm_group.to_add_comm_group, zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul seminormed_add_comm_group.to_add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg seminormed_add_comm_group.to_add_comm_group, sub := add_comm_group.sub seminormed_add_comm_group.to_add_comm_group, sub_eq_add_neg := _, zsmul := add_comm_group.zsmul seminormed_add_comm_group.to_add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := non_unital_ring.mul matrix.non_unital_ring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _}, to_pseudo_metric_space := seminormed_add_comm_group.to_pseudo_metric_space matrix.linfty_op_seminormed_add_comm_group, dist_eq := _, norm_mul := _}
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.
Equations
- matrix.linfty_op_semi_normed_ring = {to_has_norm := non_unital_semi_normed_ring.to_has_norm matrix.linfty_op_non_unital_semi_normed_ring, to_ring := {add := non_unital_ring.add non_unital_semi_normed_ring.to_non_unital_ring, add_assoc := _, zero := non_unital_ring.zero non_unital_semi_normed_ring.to_non_unital_ring, zero_add := _, add_zero := _, nsmul := non_unital_ring.nsmul non_unital_semi_normed_ring.to_non_unital_ring, nsmul_zero' := _, nsmul_succ' := _, neg := non_unital_ring.neg non_unital_semi_normed_ring.to_non_unital_ring, sub := non_unital_ring.sub non_unital_semi_normed_ring.to_non_unital_ring, sub_eq_add_neg := _, zsmul := non_unital_ring.zsmul non_unital_semi_normed_ring.to_non_unital_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := ring.int_cast matrix.ring, nat_cast := ring.nat_cast matrix.ring, one := ring.one matrix.ring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := non_unital_ring.mul non_unital_semi_normed_ring.to_non_unital_ring, mul_assoc := _, one_mul := _, mul_one := _, npow := ring.npow matrix.ring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _}, to_pseudo_metric_space := non_unital_semi_normed_ring.to_pseudo_metric_space matrix.linfty_op_non_unital_semi_normed_ring, dist_eq := _, norm_mul := _}
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.
Equations
- matrix.linfty_op_non_unital_normed_ring = {to_has_norm := non_unital_semi_normed_ring.to_has_norm matrix.linfty_op_non_unital_semi_normed_ring, to_non_unital_ring := non_unital_semi_normed_ring.to_non_unital_ring matrix.linfty_op_non_unital_semi_normed_ring, to_metric_space := normed_add_comm_group.to_metric_space matrix.linfty_op_normed_add_comm_group, dist_eq := _, norm_mul := _}
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.
Equations
- matrix.linfty_op_normed_ring = {to_has_norm := semi_normed_ring.to_has_norm matrix.linfty_op_semi_normed_ring, to_ring := semi_normed_ring.to_ring matrix.linfty_op_semi_normed_ring, to_metric_space := non_unital_normed_ring.to_metric_space matrix.linfty_op_non_unital_normed_ring, dist_eq := _, norm_mul := _}
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.
Equations
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.
Equations
- matrix.frobenius_seminormed_add_comm_group = pi_Lp.seminormed_add_comm_group 2 (λ (i : m), pi_Lp 2 (λ (j : n), α))
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.
Equations
- matrix.frobenius_normed_add_comm_group = pi_Lp.normed_add_comm_group 2 (λ (i : m), pi_Lp 2 (λ (j : 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.
Equations
- matrix.frobenius_normed_space = pi_Lp.normed_space 2 R (λ (i : m), pi_Lp 2 (λ (j : n), α))
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.
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.