On this page
Measurable structure on matrices
Imports 0 library modules and 23 external
External: HB.structures, mathcomp.classical.all_ssreflect_compat, mathcomp.finite_group.fingroup, mathcomp.finite_group.perm, mathcomp.algebra.algebraic_hierarchy.ssralg, mathcomp.algebra.numeric_hierarchy.ssrnum, mathcomp.algebra.matrix, mathcomp.algebra.rat, mathcomp.algebra.arithmetic_tactic, mathcomp.classical.boolp, mathcomp.classical.classical_sets, mathcomp.classical.functions, mathcomp.classical.cardinality, mathcomp.reals.reals, mathcomp.analysis.ereal, mathcomp.algebra.interval, mathcomp.algebra.interval_inference, mathcomp.analysis.topology_theory.topology, mathcomp.analysis.normedtype_theory.normedtype, mathcomp.analysis.measure_theory.measure, mathcomp.analysis.lebesgue_stieltjes_measure, mathcomp.analysis.measurable_realfun, mathcomp.analysis.lebesgue_integral_theory.measurable_fun_approximation
Imported by 56
- GaussianAnalysis.gaussian.gauss
- GaussianAnalysis.gaussian.gauss_ibp
- GaussianAnalysis.gaussian.gauss_moments
- GaussianAnalysis.gaussian.partial_derivative
- GaussianAnalysis.gaussian.gauss_interpolation
- GaussianAnalysis.gaussian.lebesgue_rV
- GaussianAnalysis.matrix.covering
- GaussianAnalysis.matrix.nuclear
- GaussianAnalysis.matrix.condition_cone
- GaussianAnalysis.matrix.trace_projection
- GaussianAnalysis.matrix.tensor_packing
- GaussianAnalysis.probability.subgaussian_matrix
- GaussianAnalysis.probability.hanson_wright
- GaussianAnalysis.probability.measurable_minimizer
- GaussianAnalysis.probability.rademacher_lindeberg
- GaussianAnalysis.random_matrix.goe
- GaussianAnalysis.random_matrix.goe_edge
- GaussianAnalysis.random_matrix.goe_rotation
- GaussianAnalysis.random_matrix.wigner
- GaussianAnalysis.random_matrix.restricted_isometry
- GaussianAnalysis.random_matrix.matrix_series
- GaussianAnalysis.random_matrix.goe_entries
- GaussianAnalysis.comparison.chi_square
- GaussianAnalysis.comparison.gauss_linear
- GaussianAnalysis.comparison.gauss_rotation
- GaussianAnalysis.comparison.gauss_shift
- GaussianAnalysis.comparison.gauss_smoothing
- GaussianAnalysis.comparison.gauss_concentration
- GaussianAnalysis.comparison.slepian
- GaussianAnalysis.comparison.gordon
- GaussianAnalysis.comparison.escape
- GaussianAnalysis.comparison.cgmt
- GaussianAnalysis.comparison.cone_escape
- GaussianAnalysis.comparison.sudakov
- GaussianAnalysis.comparison.gauss_law
- GaussianAnalysis.comparison.gauss_matrix_law
- GaussianAnalysis.comparison.brascamp_lieb
- GaussianAnalysis.comparison.brascamp_lieb_lebesgue
- GaussianAnalysis.convex.least_squares
- GaussianAnalysis.convex.minimizers
- GaussianAnalysis.convex.feature_moments
- GaussianAnalysis.convex.gauss_feature
- GaussianAnalysis.convex.barrier_lindeberg
- GaussianAnalysis.convex.ridge_comparison
- GaussianAnalysis.convex.feature_mixture
- GaussianAnalysis.fourier.charfun_rV
- GaussianAnalysis.fourier.small_ball
- GaussianAnalysis.fourier.inversion
- GaussianApplications.GoeEdgeStatement
- GaussianApplications.SKGapStatement
- GaussianApplications.SKGapTheorem
- GaussianApplications.PerceptronSignDefinitions
- GaussianApplications.PerceptronSignStatement
- GaussianApplications.PerceptronSignTheorem
- GaussianApplications.SKGap.Disorder
- GaussianApplications.Perceptron.Pressure
Required by 48 files of the paper proofs
- extension/Condition/GaussianCone.v
- extension/Condition/GaussianGap.v
- extension/Condition/GaussianWitness.v
- extension/Condition/Sat.v
- extension/Condition/Slices.v
- extension/Condition/Unsat.v
- extension/ConditionKappa/Cone.v
- extension/ConditionKappa/GaussianGap.v
- extension/ConditionKappa/GaussianLimit.v
- extension/ConditionKappa/GaussianWitness.v
- extension/ConditionKappa/Geometry.v
- extension/ConditionKappa/Sat.v
- extension/ConditionKappa/Unsat.v
- extension/Features/Definitions.v
- extension/Features/Mixture.v
- extension/Features/Regular.v
- extension/Gaussian/FittingError.v
- extension/Gaussian/GaussianModel.v
- extension/Gaussian/InProbability.v
- extension/Gaussian/Limit.v
- extension/Gaussian/Representation.v
- extension/Gaussian/Subcritical.v
- extension/Mixture/Flat.v
- extension/Mixture/Points.v
- extension/Model/Rows.v
- extension/Sat/ApproximateFit.v
- extension/Sat/Apriori.v
- extension/Sat/AprioriSparse.v
- extension/Sat/LightTail.v
- extension/Sat/LightTailBound.v
- extension/Sat/OneStage.v
- extension/Sat/SmallResidual.v
- extension/Sat/Universality.v
- extension/Unsat/FourthMomentThree.v
- extension/Unsat/GoeBridge.v
- extension/Unsat/Regularized.v
- extension/Unsat/Ridge.v
- extension/Unsat/Universality.v
- theories/Gaussian/Law/LibraryBridge.v
- theories/Gaussian/Lipschitz/Concentration.v
- theories/Gaussian/Lipschitz/Variance.v
- theories/Gaussian/Orthogonal/EqualCovariance.v
- theories/Gaussian/Orthogonal/WeightedSquareTail.v
- theories/Gaussian/Symmetric/Reflection.v
- theories/Gaussian/Tail/UnitLinear.v
- theories/Gordon/EscapeExpectation.v
- theories/Gordon/Processes.v
- theories/Projected/BulkLaw.v
A matrix with entries in a measurable space is measurable for the sigma-algebra generated by its entries, as tuples are in MathComp-Analysis (measurable_structure.v). Row vectors 'rV[T]_n and column vectors 'cV[T]_n are matrices, so they get this structure too. The boxes generate it and are closed under intersection, so two finite measures that agree on the boxes agree (measure_mxbox_unique). For real matrices it contains the open sets, so continuous functions are measurable (continuous_measurable_mx).
The last sections concern the norm `|A| of a real matrix, which in MathComp is the largest absolute value of an entry: bounds for entries, permuted columns, blocks and products (mx_norm_entry_le, ...), and the continuity of maps into matrices (continuous_mxP) and of matrix products (continuous_mulmxr, continuous_mulmxl).
measure_ | display of the sigma-algebra of the matrices with entries in a space of display d 'M[T]_(m, n) is equipped with a measurableType structure generated by the entries |
mxbox A | the box of the matrices M such that M i j is in A i j for all i and j; for a row vector x, the box [set x | forall j, A j (x 0 j)] is used directly (rowboxE) |
mxboxes T | the boxes mxbox A with measurable sides A i j |
Main results
| Results | Statement | Used by theories/ |
|---|---|---|
A map into 'M[T]_(m, n) is measurable if and only if each of its entries is. Matrices carry the sigma-algebra generated by their entries. | Gaussian/ | |
| Two measures on matrices (or row vectors) that agree on the boxes with measurable sides, the first of them finite, agree on every measurable set. | through gauss_unique | |
A continuous real function of a real matrix is measurable: the open sets of 'M[R]_(m, n) are measurable. | Gaussian/ | |
For the norm of a real matrix: every entry is bounded by the norm, |A B| <= n |A| |B| when A has n columns, |col_mx P Q| <= |P| + |Q|, and permuting the columns does not increase the norm. | Gaussian/ | |
| A map into real matrices is continuous if each of its entries is, and the matrix product is continuous in each factor. |
Declarations40 exported, 6 local
measure_display -> measure_display
Definition measure_matrix_display : measure_display -> measure_display.
Used by 1 declaration in 1 file
- this file: instance at line 73
Context {d} {T : sigmaRingType d} (m n : nat).
Let entry (k : 'I_(m * n)) (A : 'M[T]_(m, n)) : T := mxvec A 0 k.
Used by 4 declarations in 1 file
- this file: matrix_set0, matrix_setC, matrix_bigcup, instance at line 73
Let matrix_set0 : g_sigma_preimage entry set0.
Used by 1 declaration in 1 file
- this file: instance at line 73
Used by 1 declaration in 1 file
- this file: instance at line 73
Let matrix_bigcup (F : nat -> set 'M[T]_(m, n)) : (forall i, g_sigma_preimage entry (F i)) -> g_sigma_preimage entry (\bigcup_i (F i)).
Used by 1 declaration in 1 file
- this file: instance at line 73
HB declares canonical projections that the structure of T already provides, as for tuples; the warning says so. The setting lasts until the end of this file and is not exported.
Set Warnings "-redundant-canonical-projection".
HB.instance Definition _ := @isMeasurable.Build (measure_matrix_display d) 'M[T]_(m, n) (g_sigma_preimage entry) matrix_set0 matrix_setC matrix_bigcup.
Context {d d'} {T : measurableType d} {U : measurableType d'} {m n : nat}. Implicit Types f : U -> 'M[T]_(m, n).
forall {d : measure_display} {T : measurableType d} {m n : nat} (i : 'I_m) (j : 'I_n), measurable_fun [set: 'M_(m, n)] (fun A : 'M_(m, n) => A i j)
Statement as written in the source
Lemma measurable_mxentry (i : 'I_m) (j : 'I_n) : measurable_fun [set: 'M[T]_(m, n)] (fun A => A i j).
Used by 62 declarations in 22 files
- this file: measurable_fun_mxP, measurable_lsubmx, measurable_rsubmx, measurable_usubmx, measurable_dsubmx, measurable_col_perm, measurable_row_perm, measurable_trmx, measurable_mxbox
- GaussianAnalysis.gaussian.gauss: ge0_integral_gauss_prod, measurable_coord, integrable_gauss_coord
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp0, gauss_ibp_line, measurable_derive_rV, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_moments: gauss_mulmx_cov
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_gauss_entry
- GaussianAnalysis.gaussian.lebesgue_rV: measurable_uncons, ge0_integral_lebesgue_rV_prod, measurable_mxdotB
- GaussianAnalysis.probability.hanson_wright: gauss_chaos_mgf, hw_decoupled_mgf
- GaussianAnalysis.probability.measurable_minimizer: measurable_minimizer, measurable_mxdot_fun
- GaussianAnalysis.random_matrix.restricted_isometry: measurable_tuple_mx_comb, measurable_mxdot_comb, cross_tail
- GaussianAnalysis.random_matrix.goe_entries: goe_mx_row_tail, measurable_goe_entry
- GaussianAnalysis.comparison.chi_square: measurable_centered_chi2
- GaussianAnalysis.comparison.gauss_linear: measurable_mxdot
- GaussianAnalysis.comparison.gauss_smoothing: iGa_coord, gauss_smooth_derive, continuous_gauss_smooth_partial
- GaussianAnalysis.comparison.gauss_concentration: gauss2_ibp_snd, herbst_mdf, herbst_df_lower
- GaussianAnalysis.comparison.escape: gauss_sqr_mulmx
- GaussianAnalysis.comparison.gauss_law: mGc
- GaussianAnalysis.comparison.gauss_matrix_law: measurable_tuple_mx, measurable_vec_mx, measurable_mxvec, gauss_trmx
- GaussianAnalysis.convex.gauss_feature: gauss_diag_moments, gauss_quad_moments, gauss_mxdot_moments
- GaussianAnalysis.fourier.charfun_rV: cf_rV_regularization, cf_rV_regularization_le, prod_gauss_le_cf_rV, measurable_mxdot_self, integral_gauss_mxdot_self
- GaussianAnalysis.fourier.inversion: measurable_mxdot_self, measurable_rV_subl, measurable_mxdot2, integral_cf_rV_density, measurable_mxdot_self, measurable_rV_subl, msub2, measurable_rV_subl
- GaussianApplications.SKGap.Disorder: sk_good_disorder_measurable
- GaussianApplications.Perceptron.Pressure: measurable_perceptron_pressure
forall {d d' : measure_display} {T : measurableType d} {U : measurableType d'} {m n : nat} (f : U -> 'M_(m, n)), measurable_fun [set: U] f <-> (forall (i : 'I_m) (j : 'I_n), measurable_fun [set: U] (fun x : U => f x i j))
A map into 'M[T]_(m, n) is measurable if and only if each of its entries is. Matrices carry the sigma-algebra generated by their entries.
theories/ by: Gaussian/Law/LibraryBridge Statement as written in the source
Lemma measurable_fun_mxP f : measurable_fun [set: U] f <-> forall i j, measurable_fun [set: U] (fun x => f x i j).
Used by 37 declarations in 13 files
- this file: measurable_matrix, measurable_row_mx, measurable_col_mx, measurable_lsubmx, measurable_rsubmx, measurable_usubmx, measurable_dsubmx, measurable_col_perm, measurable_row_perm, measurable_trmx, measurable_const_mx, measurable_addmx, measurable_oppmx, measurable_scalemx, measurable_mulmx
- GaussianAnalysis.gaussian.gauss_ibp: measurable_derive_rV
- GaussianAnalysis.matrix.covering: measurable_colsum_mx
- GaussianAnalysis.probability.subgaussian_matrix: measurable_opnorm
- GaussianAnalysis.probability.measurable_minimizer: measurable_minimizer
- GaussianAnalysis.random_matrix.goe_rotation: measurable_goe_mx, goe_equiv_form, mX, goe_diag_var_tail
- GaussianAnalysis.random_matrix.restricted_isometry: measurable_tuple_mx_comb
- GaussianAnalysis.comparison.gauss_law: measurable_lipschitz_pos
- GaussianAnalysis.comparison.gauss_matrix_law: measurable_tuple_mx, measurable_vec_mx, measurable_mxvec, gauss_trmx
- GaussianAnalysis.fourier.charfun_rV: cf_rV_tuple_prod
- GaussianAnalysis.fourier.small_ball: measurable_tuple_sum_rV
- GaussianAnalysis.fourier.inversion: measurable_rV_subl, integral_cf_rV_density, measurable_rV_subl, msub2, measurable_rV_subl
- GaussianApplications.Perceptron.Pressure: measurable_perceptron_pressure
forall {d d' : measure_display} {T : measurableType d} {U : measurableType d'} {m n : nat} [h : 'I_m -> 'I_n -> U -> T], (forall (i : 'I_m) (j : 'I_n), measurable_fun [set: U] (h i j)) -> measurable_fun [set: U] (fun x : U => \matrix_(i, j) h i j x)
Statement as written in the source
Lemma measurable_matrix (h : 'I_m -> 'I_n -> U -> T) : (forall i j, measurable_fun [set: U] (h i j)) -> measurable_fun [set: U] (fun x => \matrix_(i, j) h i j x).
Context {d d'} {T : measurableType d} {U : measurableType d'}.
forall {d d' : measure_display} {T : measurableType d} {U : measurableType d'} [m n1 n2 : nat] [f : U -> 'M_(m, n1)] [g : U -> 'M_(m, n2)], measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x : U => row_mx (f x) (g x))
Statement as written in the source
Lemma measurable_row_mx m n1 n2 (f : U -> 'M[T]_(m, n1)) (g : U -> 'M[T]_(m, n2)) : measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x => row_mx (f x) (g x)).
Used by 5 declarations in 2 files
- GaussianAnalysis.gaussian.gauss: measurable_rV_cons, gauss_row_mx
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_row_mx, ge0_integral_lebesgue_rV_row_mx, integral_lebesgue_rV_row_mx
forall {d d' : measure_display} {T : measurableType d} {U : measurableType d'} [m1 m2 n : nat] [f : U -> 'M_(m1, n)] [g : U -> 'M_(m2, n)], measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x : U => col_mx (f x) (g x))
Statement as written in the source
Lemma measurable_col_mx m1 m2 n (f : U -> 'M[T]_(m1, n)) (g : U -> 'M[T]_(m2, n)) : measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x => col_mx (f x) (g x)).
forall {d : measure_display} {T : measurableType d} [m n1 n2 : nat], measurable_fun [set: 'M_(m, n1 + n2)] lsubmx
Statement as written in the source
Lemma measurable_lsubmx m n1 n2 : measurable_fun [set: 'M[T]_(m, n1 + n2)] (@lsubmx T m n1 n2).
Used by 2 declarations in 1 file
- GaussianAnalysis.gaussian.gauss: gauss_lsubmx, integral_gauss_lsubmx
forall {d : measure_display} {T : measurableType d} [m n1 n2 : nat], measurable_fun [set: 'M_(m, n1 + n2)] rsubmx
Statement as written in the source
Lemma measurable_rsubmx m n1 n2 : measurable_fun [set: 'M[T]_(m, n1 + n2)] (@rsubmx T m n1 n2).
Used by 3 declarations in 2 files
- GaussianAnalysis.gaussian.gauss: gauss_rsubmx, integral_gauss_rsubmx
- GaussianAnalysis.gaussian.lebesgue_rV: measurable_uncons
forall {d : measure_display} {T : measurableType d} [m1 m2 n : nat], measurable_fun [set: 'M_(m1 + m2, n)] usubmx
Statement as written in the source
Lemma measurable_usubmx m1 m2 n : measurable_fun [set: 'M[T]_(m1 + m2, n)] (@usubmx T m1 m2 n).
forall {d : measure_display} {T : measurableType d} [m1 m2 n : nat], measurable_fun [set: 'M_(m1 + m2, n)] dsubmx
Statement as written in the source
Lemma measurable_dsubmx m1 m2 n : measurable_fun [set: 'M[T]_(m1 + m2, n)] (@dsubmx T m1 m2 n).
forall {d : measure_display} {T : measurableType d} [m n : nat] (s : {perm 'I_n}), measurable_fun [set: 'M_(m, n)] (col_perm s)
Statement as written in the source
Lemma measurable_col_perm m n (s : 'S_n) : measurable_fun [set: 'M[T]_(m, n)] (col_perm s).
Used by 6 declarations in 3 files
- GaussianAnalysis.gaussian.gauss: gauss_col_perm, integral_gauss_col_perm
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp_line
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_col_perm, ge0_integral_lebesgue_rV_col_perm, integral_lebesgue_rV_col_perm
forall {d : measure_display} {T : measurableType d} [m n : nat] (s : {perm 'I_m}), measurable_fun [set: 'M_(m, n)] (row_perm s)
Statement as written in the source
Lemma measurable_row_perm m n (s : 'S_m) : measurable_fun [set: 'M[T]_(m, n)] (row_perm s).
forall {d : measure_display} {T : measurableType d} [m n : nat], measurable_fun [set: 'M_(m, n)] trmx
Statement as written in the source
Lemma measurable_trmx m n : measurable_fun [set: 'M[T]_(m, n)] trmx.
forall {d : measure_display} {T : measurableType d} [m n : nat], measurable_fun [set: T] const_mx
Statement as written in the source
Lemma measurable_const_mx m n : measurable_fun [set: T] (@const_mx T m n).
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss: measurable_rV_cons
Context {d} {T : measurableType d} {m n : nat}.
forall {d : measure_display} {T : measurableType d} {m n : nat}, ('I_m -> 'I_n -> set T) -> set 'M_(m, n)
Definition mxbox (A : 'I_m -> 'I_n -> set T) : set 'M[T]_(m, n) := [set M | forall i j, A i j (M i j)].
Used by 9 declarations in 2 files
- this file: mxboxes, mxboxT, mxboxI, measurable_mxbox, measure_mxbox_unique, rowboxE, measure_rowbox_unique, rbox
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
forall {d : measure_display} {T : measurableType d} {m n : nat}, set (set 'M_(m, n))
Definition mxboxes : set (set 'M[T]_(m, n)) := [set mxbox A | A in [set A | forall i j, measurable (A i j)]].
Used by 4 declarations in 2 files
- this file: measurable_mxboxes, setI_closed_mxboxes, measure_mxbox_unique
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
forall {d : measure_display} {T : measurableType d} {m n : nat}, mxbox (fun=> (fun=> [set: T])) = [set: 'M_(m, n)]
Statement as written in the source
Lemma mxboxT : mxbox (fun _ _ => [set: T]) = [set: 'M[T]_(m, n)].
Used by 1 declaration in 1 file
- this file: measure_mxbox_unique
forall {d : measure_display} {T : measurableType d} {m n : nat} (A B : 'I_m -> 'I_n -> set T), mxbox A `&` mxbox B = mxbox (fun (i : 'I_m) (j : 'I_n) => A i j `&` B i j)
Statement as written in the source
Used by 1 declaration in 1 file
- this file: setI_closed_mxboxes
forall {d : measure_display} {T : measurableType d} {m n : nat} [A : 'I_m -> 'I_n -> set T], (forall (i : 'I_m) (j : 'I_n), d.-measurable (A i j)) -> (measure_matrix_display d).-measurable (mxbox A)
Statement as written in the source
Lemma measurable_mxbox A : (forall i j, measurable (A i j)) -> measurable (mxbox A).
Used by 3 declarations in 1 file
- this file: measurable_mxboxes, measurable_rowbox, measurable_rbox
forall {d : measure_display} {T : measurableType d} {m n : nat}, (measure_matrix_display d).-measurable = <<s mxboxes >>
Statement as written in the source
Lemma measurable_mxboxes : @measurable _ 'M[T]_(m, n) = <<s mxboxes >>.
Used by 2 declarations in 2 files
- this file: measure_mxbox_unique
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
forall {d : measure_display} {T : measurableType d} {m n : nat}, setI_closed mxboxes
Statement as written in the source
Lemma setI_closed_mxboxes : setI_closed mxboxes.
Used by 2 declarations in 2 files
- this file: measure_mxbox_unique
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
forall {d : measure_display} {T : measurableType d} {m n : nat} [R : realType] [mu1 mu2 : measure 'M_(m, n) R], (mu1 [set: 'M_(m, n)] < +oo)%E -> (forall A : 'I_m -> 'I_n -> set T, (forall (i : 'I_m) (j : 'I_n), d.-measurable (A i j)) -> mu1 (mxbox A) = mu2 (mxbox A)) -> forall [X : set 'M_(m, n)], (measure_matrix_display d).-measurable X -> mu1 X = mu2 X
Two measures on matrices (or row vectors) that agree on the boxes with measurable sides, the first of them finite, agree on every measurable set.
theories/ by: through gauss_uniqueStatement as written in the source
Used by 1 declaration in 1 file
- this file: measure_rowbox_unique
Context {d} {T : measurableType d} {n : nat}.
forall {d : measure_display} {T : measurableType d} {n : nat} (A : 'I_n -> set T), [set x | (forall j : 'I_n, A j (x 0 j))] = mxbox (fun=> [eta A])
Statement as written in the source
Lemma rowboxE (A : 'I_n -> set T) : [set x : 'rV[T]_n | forall j, A j (x 0 j)] = mxbox (fun _ j => A j).
Used by 3 declarations in 2 files
- this file: measurable_rowbox, measure_rowbox_unique
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
forall {d : measure_display} {T : measurableType d} {n : nat} [A : 'I_n -> set T], (forall j : 'I_n, d.-measurable (A j)) -> (measure_matrix_display d).-measurable [set x | (forall j : 'I_n, A j (x 0 j))]
Statement as written in the source
Lemma measurable_rowbox (A : 'I_n -> set T) : (forall j, measurable (A j)) -> measurable [set x : 'rV[T]_n | forall j, A j (x 0 j)].
Used by 5 declarations in 3 files
- GaussianAnalysis.gaussian.gauss: gauss_box, gauss_row_mx
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_box, lebesgue_rV_row_mx
- GaussianAnalysis.comparison.gauss_matrix_law: gauss_tuple_mx
forall {d : measure_display} {T : measurableType d} {n : nat} [R : realType] [mu1 mu2 : measure 'rV_n R], (mu1 [set: 'rV_n] < +oo)%E -> (forall A : 'I_n -> set T, (forall j : 'I_n, d.-measurable (A j)) -> mu1 (fun x : 'rV_n => [set x0 | (forall j : 'I_n, A j (x0 0 j))] x) = mu2 (fun x : 'rV_n => [set x0 | (forall j : 'I_n, A j (x0 0 j))] x)) -> forall [X : set 'rV_n], (measure_matrix_display d).-measurable X -> mu1 X = mu2 X
Stated in the README together with measure_mxbox_unique.
Statement as written in the source
Lemma measure_rowbox_unique (R : realType) (mu1 mu2 : {measure set 'rV[T]_n -> \bar R}) : (mu1 [set: 'rV[T]_n] < +oo)%E -> (forall A : 'I_n -> set T, (forall j, measurable (A j)) -> mu1 [set x | forall j, A j (x 0 j)] = mu2 [set x | forall j, A j (x 0 j)]) -> forall X, measurable X -> mu1 X = mu2 X.
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss: gauss_unique
Context {R : realType} {d} {U : measurableType d}.
forall {R : realType} {d : measure_display} {U : measurableType d} [m n : nat] [f g : U -> 'M_(m, n)], measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x : U => f x + g x)
Statement as written in the source
Lemma measurable_addmx m n (f g : U -> 'M[R]_(m, n)) : measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x => f x + g x).
Used by 25 declarations in 11 files
- GaussianAnalysis.gaussian.lebesgue_rV: measurable_rV_shift
- GaussianAnalysis.matrix.covering: matrix_small_ball
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_rotation, gauss2_rotation, measurable_gauss2_rot
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift, integrable_gauss_shift
- GaussianAnalysis.comparison.gauss_smoothing: maff
- GaussianAnalysis.comparison.gauss_concentration: herbst_mz, herbst_mdz, measurable_affine2
- GaussianAnalysis.comparison.sudakov: gauss_shift_sym, dual_sudakov
- GaussianAnalysis.comparison.gauss_law: mGc
- GaussianAnalysis.fourier.charfun_rV: cf_rV_add, ge0_integral_gauss_affine, prod_gauss_le_cf_rV, measurable_ball_rV, ball_le_cf_rV
- GaussianAnalysis.fourier.small_ball: ball_le_add_gauss
- GaussianAnalysis.fourier.inversion: integral_cf_rV_density_gauss, integral_cf_rV_density, lipschitz_add_gauss, integral_gauss_pdf_inv_prob, smooth_EFin
forall {R : realType} {d : measure_display} {U : measurableType d} [m n : nat] [f : U -> 'M_(m, n)], measurable_fun [set: U] f -> measurable_fun [set: U] (fun x : U => - f x)
Statement as written in the source
Lemma measurable_oppmx m n (f : U -> 'M[R]_(m, n)) : measurable_fun [set: U] f -> measurable_fun [set: U] (fun x => - f x).
Used by 6 declarations in 3 files
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_rotation, gauss2_rotation, measurable_gauss2_rot
- GaussianAnalysis.comparison.gauss_concentration: measurable_affine2
- GaussianAnalysis.comparison.escape: ge0_integral_gauss_opp, integrable_gauss_opp
forall {R : realType} {d : measure_display} {U : measurableType d} [m n : nat] [c : U -> R] [f : U -> 'M_(m, n)], measurable_fun [set: U] c -> measurable_fun [set: U] f -> measurable_fun [set: U] (fun x : U => c x *: f x)
Statement as written in the source
Lemma measurable_scalemx m n (c : U -> R) (f : U -> 'M[R]_(m, n)) : measurable_fun [set: U] c -> measurable_fun [set: U] f -> measurable_fun [set: U] (fun x => c x *: f x).
Used by 14 declarations in 8 files
- GaussianAnalysis.gaussian.lebesgue_rV: measurable_rV_scale
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_rotation, gauss2_rotation, measurable_gauss2_rot
- GaussianAnalysis.comparison.gauss_smoothing: maff
- GaussianAnalysis.comparison.gauss_concentration: herbst_mz, herbst_mdz, measurable_affine2
- GaussianAnalysis.comparison.gauss_law: mGc
- GaussianAnalysis.fourier.charfun_rV: ball_le_cf_rV
- GaussianAnalysis.fourier.small_ball: ball_le_add_gauss
- GaussianAnalysis.fourier.inversion: integral_cf_rV_density_gauss, lipschitz_add_gauss, smooth_EFin
forall {R : realType} {d : measure_display} {U : measurableType d} [m n p : nat] [f : U -> 'M_(m, n)] [g : U -> 'M_(n, p)], measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x : U => f x *m g x)
Statement as written in the source
Lemma measurable_mulmx m n p (f : U -> 'M[R]_(m, n)) (g : U -> 'M[R]_(n, p)) : measurable_fun [set: U] f -> measurable_fun [set: U] g -> measurable_fun [set: U] (fun x => f x *m g x).
Used by 9 declarations in 6 files
- GaussianAnalysis.probability.hanson_wright: hw_decoupled_mgf
- GaussianAnalysis.random_matrix.goe_entries: goe_mx_row_tail
- GaussianAnalysis.comparison.gauss_law: gauss_law_lipschitz, gauss_mulmx_law, ge0_integral_gauss_mulmx, integral_gauss_orthogonal
- GaussianAnalysis.comparison.brascamp_lieb: gauss_ibp_unit
- GaussianAnalysis.convex.gauss_feature: gauss_regular_feature
- GaussianApplications.Perceptron.Pressure: measurable_perceptron_pressure
The norm of a real matrix is the largest absolute value of an entry.
Context {R : realType}.
forall {R : realType} [m n : nat] (x : 'M_(m, n)) (i : 'I_m) (j : 'I_n), `|x i j| <= `|x|For the norm of a real matrix: every entry is bounded by the norm, |A B| <= n |A| |B| when A has n columns, |col_mx P Q| <= |P| + |Q|, and permuting the columns does not increase the norm.
theories/ by: Gaussian/Law/LibraryBridge Statement as written in the source
Lemma mx_norm_entry_le m n (x : 'M[R]_(m, n)) i j : `|x i j| <= `|x|.
Used by 30 declarations in 16 files
- this file: mx_norm_col_perm_le, mx_norm_col_mx_le, mx_norm_mulmx_le
- GaussianAnalysis.gaussian.gauss: entry_mul_bound
- GaussianAnalysis.gaussian.gauss_ibp: rV_cons_norm_exprn_le
- GaussianAnalysis.gaussian.gauss_moments: gauss_cov, gauss_mulmx_cov
- GaussianAnalysis.gaussian.partial_derivative: rV_prefix_norm, partials_expansion
- GaussianAnalysis.gaussian.gauss_interpolation: gauss_ibp_mulmx, gauss_interpolation
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_unique
- GaussianAnalysis.random_matrix.goe: continuous_mxentry, polyfun_coord
- GaussianAnalysis.comparison.gauss_smoothing: frobenius_le_mx_norm, iGa_coord, continuous_gauss_smooth_partial
- GaussianAnalysis.comparison.gauss_concentration: gauss2_ibp_snd, herbst_dz_bound, herbst_df_lower
- GaussianAnalysis.comparison.slepian: rmax_lipschitz
- GaussianAnalysis.comparison.gordon: minmax_lipschitz, norm_vec_mx_le
- GaussianAnalysis.comparison.escape: gauss_frobenius_mean_le, gauss_sqr_mulmx, gauss_proj_mean_ge
- GaussianAnalysis.comparison.cgmt: continuous_trmx
- GaussianAnalysis.comparison.gauss_law: iGc
- GaussianAnalysis.convex.gauss_feature: mxdot_self_le_norm, gauss_regular_feature
forall {R : realType} [m n : nat] (s : {perm 'I_n}) (x : 'M_(m, n)), `|col_perm s x| <= `|x|
Stated in the README together with mx_norm_entry_le.
Statement as written in the source
Lemma mx_norm_col_perm_le m n (s : 'S_n) (x : 'M[R]_(m, n)) : `|col_perm s x| <= `|x|.
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp_line
forall {R : realType} [m1 m2 n : nat] (P : 'M_(m1, n)) (Q : 'M_(m2, n)), `|col_mx P Q| <= `|P| + `|Q|
Stated in the README together with mx_norm_entry_le.
Statement as written in the source
Lemma mx_norm_col_mx_le m1 m2 n (P : 'M[R]_(m1, n)) (Q : 'M[R]_(m2, n)) : `|col_mx P Q| <= `|P| + `|Q|.
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_interpolation: gauss_comparison
forall {R : realType} [m n p : nat] (A : 'M_(m, n)) (B : 'M_(n, p)),
`|A *m B| <= n%:R * `|A| * `|B|Stated in the README together with mx_norm_entry_le.
Statement as written in the source
Lemma mx_norm_mulmx_le m n p (A : 'M[R]_(m, n)) (B : 'M[R]_(n, p)) : `|A *m B| <= n%:R * `|A| * `|B|.
Used by 8 declarations in 4 files
- this file: continuous_mulmxr, continuous_mulmxl
- GaussianAnalysis.gaussian.gauss_interpolation: poly_mulmx, gauss_interpolation
- GaussianAnalysis.comparison.slepian: integrable_gauss_rmax, integrable_gauss_lse
- GaussianAnalysis.comparison.gordon: integrable_gauss_minmax, integrable_gauss_smm
forall {R : realType} [m n : nat] (x : 'M_(m, n)) (k : nat),
`|x| ^+ k <= 1 + \sum_ij `|x ij.1 ij.2| ^+ kStatement as written in the source
Lemma mx_norm_exprn_le m n (x : 'M[R]_(m, n)) k : `|x| ^+ k <= 1 + \sum_(ij : 'I_m * 'I_n) `|x ij.1 ij.2| ^+ k.
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss: integrable_gauss_poly
forall {R : realType} {T : topologicalType} [m n : nat] [f : T -> 'M_(m, n)], (forall (i : 'I_m) (j : 'I_n), continuous (fun x0 : T => f x0 i j)) -> continuous f
A map into real matrices is continuous if each of its entries is, and the matrix product is continuous in each factor.
Statement as written in the source
Lemma continuous_mxP {T : topologicalType} m n (f : T -> 'M[R]_(m, n)) : (forall i j, continuous (fun x => f x i j)) -> continuous f.
Used by 1 declaration in 1 file
- GaussianAnalysis.comparison.gordon: continuous_vec_mx
forall {R : realType} [m n p : nat] [B : 'M_(n, p)], continuous (mulmx^~ B)
Stated in the README together with continuous_mxP.
Statement as written in the source
Lemma continuous_mulmxr m n p (B : 'M[R]_(n, p)) : continuous (fun A : 'M[R]_(m, n) => A *m B).
Used by 14 declarations in 8 files
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_D2F_mulmx, gauss_ibp_mulmx, gauss_ibp_gradient, gauss_interpolation, gauss_comparison
- GaussianAnalysis.matrix.nuclear: range_duality
- GaussianAnalysis.matrix.condition_cone: continuous_mxdotv
- GaussianAnalysis.matrix.trace_projection: KU_closed
- GaussianAnalysis.comparison.slepian: integrable_gauss_rmax, integrable_gauss_lse
- GaussianAnalysis.comparison.gordon: integrable_gauss_minmax, integrable_gauss_smm
- GaussianAnalysis.convex.minimizers: closed_vspace
- GaussianAnalysis.convex.feature_moments: continuous_mxdotl
forall {R : realType} [m n p : nat] [A : 'M_(m, n)], continuous [eta mulmx A]
Stated in the README together with continuous_mxP.
Statement as written in the source
Lemma continuous_mulmxl m n p (A : 'M[R]_(m, n)) : continuous (fun B : 'M[R]_(n, p) => A *m B).
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_interpolation: is_derive_mulmxl
Context {R : realType} {m n : nat}.
Let rbox (q : 'M[rat]_(m, n)) (r : rat) : set 'M[R]_(m, n) := mxbox (fun i j => [set x : R | `|ratr (q i j) - x| < ratr r]).
Used by 2 declarations in 1 file
- this file: measurable_rbox, open_measurable_mx
Let measurable_rbox q r : measurable (rbox q r).
Used by 1 declaration in 1 file
- this file: open_measurable_mx
forall {R : realType} {m n : nat} [V : set 'M_(m, n)], open V -> (measure_matrix_display default_measure_display).-measurable V
Statement as written in the source
Lemma open_measurable_mx (V : set 'M[R]_(m, n)) : open V -> measurable V.
Used by 1 declaration in 1 file
- this file: continuous_measurable_mx
forall {R : realType} {m n : nat} [f : 'M_(m, n) -> R], continuous f -> measurable_fun [set: 'M_(m, n)] f
A continuous real function of a real matrix is measurable: the open sets of 'M[R]_(m, n) are measurable.
theories/ by: Gaussian/Orthogonal/EqualCovariance Statement as written in the source
Lemma continuous_measurable_mx (f : 'M[R]_(m, n) -> R) : continuous f -> measurable_fun [set: 'M[R]_(m, n)] f.
Used by 61 declarations in 25 files
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_D2F_mulmx, gauss_ibp_mulmx, gauss_ibp_gradient, gauss_interpolation, gauss_comparison
- GaussianAnalysis.matrix.covering: colmax_sep
- GaussianAnalysis.probability.subgaussian_matrix: measurable_opnorm
- GaussianAnalysis.random_matrix.goe: integrable_polyfun, goe_opnorm_tail_small
- GaussianAnalysis.random_matrix.goe_edge: measurable_goe_lambda_max, measurable_goe_lambda_maxN
- GaussianAnalysis.random_matrix.goe_rotation: measurable_goe_mx
- GaussianAnalysis.random_matrix.wigner: wigner, wigner_uniform
- GaussianAnalysis.random_matrix.matrix_series: measurable_series_opnorm, gauss_mx_series_opnorm_moment
- GaussianAnalysis.random_matrix.goe_entries: measurable_goe_opnorm_ge
- GaussianAnalysis.comparison.gauss_smoothing: mG, integrable_gauss_frobenius
- GaussianAnalysis.comparison.gauss_concentration: gauss2_ibp_snd, herbst_mF, herbst_mDF, integrable_herbst_D, herbst_df_lower, gauss_concentration_smooth, mF, mA, mF, gauss_poincare_lipschitz
- GaussianAnalysis.comparison.slepian: integrable_gauss_rmax, integrable_gauss_lse
- GaussianAnalysis.comparison.gordon: integrable_gauss_minmax, integrable_gauss_smm
- GaussianAnalysis.comparison.escape: gordon_escape_tail, measurable_escape_proj, gauss_opnorm_tail, gauss_frobenius_mean_le, gauss_proj_mean_ge
- GaussianAnalysis.comparison.cgmt: cgmt_tail, measurable_escape_inf, measurable_cgmt_aux
- GaussianAnalysis.comparison.cone_escape: mF
- GaussianAnalysis.comparison.sudakov: gauss_max_lower
- GaussianAnalysis.comparison.gauss_law: mG, gauss_smooth_partial_stein, gauss_law_lipschitz, measurable_lipschitz_gt0, lipschitz_pos_agree, gauss_mulmx_law
- GaussianAnalysis.comparison.brascamp_lieb: is_derive_Lambda
- GaussianAnalysis.convex.feature_moments: measurable_mxdotl
- GaussianAnalysis.convex.barrier_lindeberg: measurable_mxdot_tnth
- GaussianAnalysis.fourier.charfun_rV: measurable_cf_rV_norm, measurable_cf_rV_re, measurable_cf_rV_im
- GaussianAnalysis.fourier.inversion: measurable_cf_rV_density, lipschitz_add_gauss, cf_rV_inversion
- GaussianApplications.SKGap.Disorder: measurable_sk_coupling_opnorm