On this page
The standard Gaussian measure on row vectors
Imports 2 library modules and 27 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.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.sequences, mathcomp.analysis.exp, mathcomp.analysis.numfun, mathcomp.analysis.measure_theory.measure, mathcomp.analysis.lebesgue_stieltjes_measure, mathcomp.analysis.lebesgue_measure, mathcomp.analysis.measurable_realfun, mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral, mathcomp.analysis.probability_theory.probability
Imported by 46
- GaussianAnalysis.gaussian.gauss_ibp
- GaussianAnalysis.gaussian.gauss_moments
- GaussianAnalysis.gaussian.gauss_interpolation
- GaussianAnalysis.gaussian.lebesgue_rV
- GaussianAnalysis.matrix.covering
- GaussianAnalysis.matrix.tensor_packing
- GaussianAnalysis.probability.hanson_wright
- 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.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.ornstein_uhlenbeck
- GaussianAnalysis.comparison.brascamp_lieb
- GaussianAnalysis.comparison.brascamp_lieb_lebesgue
- GaussianAnalysis.convex.gauss_feature
- GaussianAnalysis.fourier.charfun
- GaussianAnalysis.fourier.charfun_rV
- GaussianAnalysis.fourier.small_ball
- GaussianAnalysis.fourier.inversion
- GaussianApplications.MatrixSeriesStatement
- GaussianApplications.MatrixSeriesTheorem
- GaussianApplications.GoeEdgeStatement
- GaussianApplications.SKGapStatement
- GaussianApplications.SKGapTheorem
- GaussianApplications.PerceptronSignDefinitions
- GaussianApplications.PerceptronSignStatement
- GaussianApplications.PerceptronSignTheorem
- GaussianApplications.SKGap.Disorder
- GaussianApplications.Perceptron.Pressure
Required by 28 files of the paper proofs
- extension/Condition/GaussianCone.v
- extension/Condition/GaussianGap.v
- extension/Condition/GaussianWitness.v
- extension/ConditionKappa/GaussianGap.v
- extension/ConditionKappa/GaussianLimit.v
- extension/ConditionKappa/GaussianWitness.v
- extension/ConditionKappa/Geometry.v
- extension/ConditionKappa/Sat.v
- extension/ConditionKappa/Theorem.v
- extension/ConditionKappa/Unsat.v
- extension/Features/Definitions.v
- extension/Features/Regular.v
- extension/Gaussian/Cones.v
- extension/Gaussian/FittingError.v
- extension/Gaussian/InProbability.v
- extension/Gaussian/Limit.v
- extension/Gaussian/Subcritical.v
- extension/Unsat/GoeBridge.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
gauss n is the law of a row vector of n independent standard normal coordinates: the n-fold product of normal_prob 0 1 on 'rV[R]_n, with the sigma-algebra of measurable_matrix.v. It is defined by recursion on n, the first coordinate being drawn first (gaussS). The measure of a box is the product of the measures of its sides (gauss_box), and this property characterizes gauss n among all measures (gauss_unique). Measurable functions of polynomial growth are integrable (integrable_gauss_poly).
The vectors are rows because the linear algebra of MathComp writes them so, with linear maps acting on the right: if x has law gauss n and A is an n x m matrix, then x *m A is a centered Gaussian vector with covariance A^T *m A.
Main results
| Results | Statement | Used by theories/ |
|---|---|---|
gauss n, the standard Gaussian measure on 'rV[R]_n: the law of n independent standard normal coordinates, a probability. | Gaussian/, Gaussian/, Gaussian/, Gaussian/, Projected/ | |
gauss n gives the box with sides A i the measure \prod_i normal_prob 0 1 (A i), and it is the only measure on 'rV[R]_n that does. | Gaussian/ | |
Fubini for the first coordinate: the integral against gauss n.+1 is the iterated integral against normal_prob 0 1 and gauss n, and integrability against gauss n.+1 is integrability against the product of the two. | Gaussian/, for Gaussian/ | |
Independent blocks: the image of gauss n \x gauss m under (x, y) |-> row_mx x y is gauss (n + m). | ||
gauss n, and the integral of every integrable function against it, are invariant under permutations of the coordinates. | Gaussian/, for Gaussian/ | |
Marginals of the blocks: if x has law gauss (n + m), then lsubmx x has law gauss n and rsubmx x has law gauss m. | ||
If nu is the image of the measure mu under a measurable g, then \int[mu] f (g x) = \int[nu] f y for every nu-integrable f. | ||
Each coordinate of a vector of law gauss n has law normal_prob 0 1. | ||
Independent coordinates: the integral of \prod_i f i (x 0 i) against gauss n is \prod_i of the integrals of f i against normal_prob 0 1, for nonnegative measurable f i. | ||
Every measurable function bounded by C (1 + |x|^k) is integrable against gauss n. The constant of such a bound is nonnegative, and multiplying the function by a coordinate raises k by one and doubles C. | Gaussian/ |
Declarations31 exported, 3 local
Context d1 d2 (T1 : measurableType d1) (T2 : measurableType d2) (R : realType). Variables (mu : {measure set T1 -> \bar R}) (nu : {measure set T2 -> \bar R}). Variable g : T1 -> T2. Hypothesis mg : measurable_fun [set: T1] g. Hypothesis gnu : forall A, measurable A -> mu (g @^-1` A) = nu A.
forall [d1 d2 : measure_display] [T1 : measurableType d1] [T2 : measurableType d2] [R : realType] [mu : measure T1 R] [nu : measure T2 R] [g : T1 -> T2], measurable_fun [set: T1] g -> (forall A : set T2, d2.-measurable A -> mu (g @^-1` A) = nu A) -> forall [f : T2 -> \bar R], nu.-integrable [set: T2] f -> mu.-integrable [set: T1] (f \o g)
If nu is the image of mu under g, integrating f against nu is integrating f \o g against mu.
Statement as written in the source
Lemma integrable_image (f : T2 -> \bar R) : nu.-integrable [set: T2] f -> mu.-integrable [set: T1] (f \o g).
Used by 2 declarations in 2 files
- this file: integral_image
- GaussianAnalysis.comparison.ornstein_uhlenbeck: integral_mehler
forall [d1 d2 : measure_display] [T1 : measurableType d1] [T2 : measurableType d2] [R : realType] [mu : measure T1 R] [nu : measure T2 R] [g : T1 -> T2], measurable_fun [set: T1] g -> (forall A : set T2, d2.-measurable A -> mu (g @^-1` A) = nu A) -> forall [f : T2 -> \bar R], nu.-integrable [set: T2] f -> (\int[mu]_x f (g x))%E = (\int[nu]_y f y)%E
If nu is the image of the measure mu under a measurable g, then \int[mu] f (g x) = \int[nu] f y for every nu-integrable f.
Statement as written in the source
Lemma integral_image (f : T2 -> \bar R) : nu.-integrable [set: T2] f -> (\int[mu]_x f (g x) = \int[nu]_y f y)%E.
Used by 10 declarations in 6 files
- this file: integral_gauss_col_perm, integral_gauss_lsubmx, integral_gauss_rsubmx
- GaussianAnalysis.comparison.gauss_law: integral_gauss_orthogonal
- GaussianAnalysis.comparison.ornstein_uhlenbeck: mehler_kernel_integral, integral_mehler
- GaussianAnalysis.convex.gauss_feature: gauss_regular_feature
- GaussianAnalysis.fourier.charfun: cf_re_image, cf_im_image
- GaussianAnalysis.fourier.charfun_rV: cf_rV_image
Context {R : realType} (n : nat).
forall {R : realType} [n : nat], measurableTypeR R * 'rV_n -> 'rV_n.+1
Definition rV_cons (p : measurableTypeR R * 'rV[R]_n) : 'rV[R]_n.+1 := row_mx (const_mx (p.1 : R) : 'rV_1) p.2.
Used by 41 declarations in 7 files
- this file: rV_cons0, rV_consS, measurable_rV_cons, instance at line 101, gauss, gaussS, gauss_box, ge0_integral_gauss_cons, integrable_gauss_cons, integral_gauss_cons
- GaussianAnalysis.gaussian.gauss_ibp: rV_consD, rV_cons_norm_exprn_le, integral_gauss_cons21, gauss_ibp0
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_cons, unconsK, lebesgue_rV_cons_sigma_finite, lebesgue_rVS, lebesgue_rV_box, integral_lebesgue_rVS, ge0_integral_lebesgue_rV_cons, integrable_lebesgue_rV_cons, integral_lebesgue_rV_cons, mxdot_rV_cons_self, gauss_pdf_cons, ge0_integral_gauss_pdf
- GaussianAnalysis.probability.rademacher_lindeberg: sign_row_cons, sum_sign_rowS, rV_cons_line, rV_cons_line0, Rintegral_gauss_cons, rademacher_gauss_lindeberg
- GaussianAnalysis.comparison.gauss_linear: mxdot_rV_cons, gauss_mxdot
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_cons, rV_cons_lin, rV_cons_lincomb, ge0_integral_gauss2_rotation
- GaussianAnalysis.comparison.gauss_shift: rV_cons_row_tail, rV_consD2, ge0_integral_gauss_shift
forall {R : realType} [n : nat] (p : measurableTypeR R * 'rV_n), rV_cons p 0 ord0 = p.1
Statement as written in the source
Lemma rV_cons0 p : rV_cons p 0 ord0 = p.1.
Used by 15 declarations in 6 files
- this file: gauss_box, ge0_integral_gauss_prod
- GaussianAnalysis.gaussian.gauss_ibp: rV_consD, rV_cons_norm_exprn_le, gauss_ibp0
- GaussianAnalysis.gaussian.lebesgue_rV: unconsK, lebesgue_rV_box, ge0_integral_lebesgue_rV_prod, mxdot_rV_cons_self
- GaussianAnalysis.probability.rademacher_lindeberg: sign_row_cons, rV_cons_line, rV_cons_line0
- GaussianAnalysis.comparison.gauss_linear: mxdot_rV_cons
- GaussianAnalysis.comparison.gauss_shift: rV_cons_row_tail, rV_consD2
forall {R : realType} [n : nat] (p : measurableTypeR R * 'rV_n) (j : 'I_n), rV_cons p 0 (lift ord0 j) = p.2 0 j
Statement as written in the source
Lemma rV_consS p (j : 'I_n) : rV_cons p 0 (lift ord0 j) = p.2 0 j.
Used by 13 declarations in 6 files
- this file: gauss_box, ge0_integral_gauss_prod
- GaussianAnalysis.gaussian.gauss_ibp: rV_consD, rV_cons_norm_exprn_le
- GaussianAnalysis.gaussian.lebesgue_rV: lebesgue_rV_box, ge0_integral_lebesgue_rV_prod, mxdot_rV_cons_self
- GaussianAnalysis.probability.rademacher_lindeberg: sign_row_cons, rV_cons_line, rV_cons_line0
- GaussianAnalysis.comparison.gauss_linear: mxdot_rV_cons
- GaussianAnalysis.comparison.gauss_shift: rV_cons_row_tail, rV_consD2
forall {R : realType} [n : nat], measurable_fun [set: measurableTypeR R * 'rV_n] (rV_cons (n:=n))
Statement as written in the source
Lemma measurable_rV_cons : measurable_fun [set: measurableTypeR R * 'rV[R]_n] rV_cons.
Used by 7 declarations in 5 files
- this file: instance at line 101
- GaussianAnalysis.gaussian.lebesgue_rV: mcons
- GaussianAnalysis.probability.rademacher_lindeberg: Rintegral_gauss_cons, rademacher_gauss_lindeberg
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_cons, ge0_integral_gauss2_rotation
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift
HB.instance Definition _ := isMeasurableFun.Build _ _ _ _ rV_cons measurable_rV_cons.
Context {R : realType}. Local Open Scope ereal_scope.
forall {R : realType} (n : nat), probability 'rV_n R
Fixpoint gauss n : probability 'rV[R]_n R := if n is n'.+1 then distribution (normal_prob 0 1 \x gauss n') (@rV_cons R n') else \d_(0%R : 'rV[R]_0).
gauss n, the standard Gaussian measure on 'rV[R]_n: the law of n independent standard normal coordinates, a probability.
Used by 300 declarations in 42 files
- this file: gaussS, gauss_box, gauss_unique, ge0_integral_gauss_cons, integrable_gauss_cons, integral_gauss_cons, gauss_col_perm, integral_gauss_col_perm, gauss_row_mx, gauss_lsubmx, gauss_rsubmx, integral_gauss_lsubmx, integral_gauss_rsubmx, gauss_coord, ge0_integral_gauss_prod, distribution_coord, ge0_integral_gauss_coord, integrable_gauss_coord, integral_gauss_coord, integrable_gauss_poly
- GaussianAnalysis.gaussian.gauss_ibp: integral_gauss_cons21, gauss_ibp0, gauss_ibp_line, gauss_ibp, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_moments: gauss_mean, gauss_cov, gauss_mulmx_cov
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_gauss_entry, integrable_D2F_mulmx, gauss_ibp_mulmx, gauss_ibp_gradient, gauss_interpolation, gauss_comparison, gauss_comparison_partial
- GaussianAnalysis.gaussian.lebesgue_rV: ge0_integral_gauss_pdf, integrable_gauss_pdf, integral_gauss_pdf, ge0_integral_lebesgue_rV_gauss, gauss_lebesgue_rV
- GaussianAnalysis.matrix.covering: gopnorm_mean, frob_sep
- GaussianAnalysis.matrix.tensor_packing: sudakov_mx_series, separated_card_sudakov, tensor_packing
- GaussianAnalysis.probability.hanson_wright: integral_gauss_expR_dot, gauss_chaos_mgf, hw_decoupled_mgf
- GaussianAnalysis.probability.rademacher_lindeberg: Rintegral_gauss_cons, rademacher_gauss_lindeberg
- GaussianAnalysis.random_matrix.goe: integrable_polyfun, Rintegral_polyfunD, Rintegral_polyfunZ, Rintegral_polyfun_sum, gauss_ibp_polyfun, Rintegral_var_le, Rintegral_sqr_le, Rintegral_cov_le, gauss_tail_expR, gauss_frobenius_mean, integrable_goe_opnorm, goe_opnorm_mean, integrable_goe_opnorm_expR, goe_opnorm_mgf, goe_clip_err2, goe_tr_var, goe_schwinger_dyson, goe_tr_sd, goe_tr_var_small, goe_clip_err2_small, goe_opnorm_tail_small
- GaussianAnalysis.random_matrix.goe_edge: goe_form_max_mean, integrable_goe_lambda_max, integrable_goe_lambda_maxN, goe_lambda_max_mean, goe_lambda_maxN_mean, goe_lambda_max_tail, goe_lambda_maxN_tail, goe_opnorm_edge_tail
- GaussianAnalysis.random_matrix.goe_rotation: goe_conj_integral, gauss_markov, goe_equiv_form, goe_equiv_formR, goe_equiv_diag, goe_equiv_pair, qintD, qintZ, qintB, qint_sum, qintXX, Rint_sum2, RintD, RintB, RintZ, goe_equiv_diag2, goe_equiv_pair2, goe_diag_var_identityS, goe_diag_var_identity, goe_diag_var_tail
- GaussianAnalysis.random_matrix.wigner: goe_tr_cov_cvg, goe_moment_cvg, goe_clip_cvg, goe_stat_clip_mean_cvg, goe_stat_conc, wigner, wigner_uniform, wigner_uniform_inf
- GaussianAnalysis.random_matrix.matrix_series: gauss_mx_series_ibp_coord, gauss_mx_series_ibp, gauss_mx_series_trace_sqr, gauss_mx_series_trace_rec, gauss_mx_series_trace_le, gauss_mx_series_moment, gauss_mx_series_opnorm_moment, gauss_mx_series_opnorm, gauss_mx_series_opnorm_log
- GaussianAnalysis.random_matrix.goe_entries: goe_mx_diag_tail, goe_mx_offdiag_tail, goe_mx_row_tail, goe_mx_diag_max_tail, goe_mx_offdiag_max_tail, goe_mx_row_max_tail
- GaussianAnalysis.comparison.chi_square: integral_gauss_expR_centered_chi2, integral_gauss_expR_centered_chi2_le, gauss_centered_chi2_upper_tail, gauss_centered_chi2_lower_tail, gauss_centered_chi2_abs_tail
- GaussianAnalysis.comparison.gauss_linear: gauss_mxdot, ge0_integral_gauss_mxdot, integrable_gauss_mxdot, integral_gauss_mxdot, integral_gauss_expR_mxdot, gauss_mxdot_upper_tail, gauss_mxdot_abs_tail
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_cons, ge0_integral_gauss2_rotation, gauss2_rotation, ge0_integral_gauss_lincomb, integrable_gauss2_rotation, integral_gauss2_rotation
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift, integrable_gauss_shift, integral_gauss_shift
- GaussianAnalysis.comparison.gauss_smoothing: integrable_gauss_bounded, integrable_gauss_expR_abs_coord, gauss_smooth, gauss_smooth_partial, iGa, iGa_coord, gauss_smooth_bounded, gauss_smooth_lipschitz, gauss_smooth_shift, gauss_smooth_derive, continuous_gauss_smooth_partial, integrable_gauss_frobenius, gauss_smooth_close
- GaussianAnalysis.comparison.gauss_concentration: integrable_gauss2_fst, integrable_gauss2_snd, integral_gauss2_fst, integral_gauss2_snd
- and 140 more
Context {R : realType}. Local Notation N := (@normal_prob R 0 1).
forall {R : realType} [n : nat] (X : set 'rV_n.+1), gauss n.+1 X = (normal_prob 0 1 \x gauss n)%E (rV_cons (n:=n) @^-1` X)
Statement as written in the source
Used by 2 declarations in 2 files
- this file: gauss_box
- GaussianAnalysis.comparison.gauss_linear: gauss_mxdot
forall {R : realType} [n : nat] [A : 'I_n -> set R], (forall i : 'I_n, 'measurable (A i)) -> gauss n [set x | (forall i : 'I_n, A i (x 0 i))] = (\prod_(i < n) normal_prob 0 1 (A i))%E
gauss n gives the box with sides A i the measure \prod_i normal_prob 0 1 (A i), and it is the only measure on 'rV[R]_n that does.
theories/ by: Gaussian/Law/LibraryBridge Statement as written in the source
Lemma gauss_box n (A : 'I_n -> set R) : (forall i, measurable (A i)) -> gauss n [set x : 'rV[R]_n | forall i, A i (x 0 i)] = (\prod_(i < n) N (A i))%E.
Used by 7 declarations in 3 files
- this file: gauss_unique, gauss_col_perm, gauss_row_mx, gauss_coord
- GaussianAnalysis.comparison.sudakov: gauss_max_lower
- GaussianAnalysis.comparison.gauss_matrix_law: gauss_tuple_mx, gauss_trmx
forall {R : realType} [n : nat] [P : measure 'rV_n R], (forall A : 'I_n -> set R, (forall i : 'I_n, 'measurable (A i)) -> P [set x | (forall i : 'I_n, A i (x 0 i))] = (\prod_(i < n) normal_prob 0 1 (A i))%E) -> forall [X : set 'rV_n], (measure_matrix_display default_measure_display).-measurable X -> P X = gauss n X
A measure that gives every box the product of the normal measures of its sides is gauss n. The hypothesis at A = fun=> setT makes it a probability.
Stated in the README together with gauss_box.
Statement as written in the source
Lemma gauss_unique n (P : {measure set 'rV[R]_n -> \bar R}) : (forall A : 'I_n -> set R, (forall i, measurable (A i)) -> P [set x : 'rV[R]_n | forall i, A i (x 0 i)] = (\prod_(i < n) N (A i))%E) -> forall X, measurable X -> P X = gauss n X.
Used by 4 declarations in 2 files
- this file: gauss_col_perm, gauss_row_mx
- GaussianAnalysis.comparison.gauss_matrix_law: gauss_tuple_mx, gauss_trmx
Context {R : realType}. Local Notation N := (@normal_prob R 0 1). Local Open Scope ereal_scope.
forall {R : realType} [n : nat] [f : 'rV_n.+1 -> \bar R], measurable_fun [set: 'rV_n.+1] f -> (forall x : 'rV_n.+1, (0%R <= f x)%E) -> (\int[gauss n.+1]_x f x)%E = (\int[normal_prob 0 1]_t \int[gauss n]_v f (rV_cons (t, v)))%E
Fubini for the first coordinate: the integral against gauss n.+1 is the iterated integral against normal_prob 0 1 and gauss n, and integrability against gauss n.+1 is integrability against the product of the two.
Statement as written in the source
Used by 4 declarations in 4 files
- this file: ge0_integral_gauss_prod
- GaussianAnalysis.gaussian.lebesgue_rV: ge0_integral_gauss_pdf
- GaussianAnalysis.comparison.gauss_rotation: ge0_integral_gauss2_cons
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift
forall {R : realType} [n : nat] [f : 'rV_n.+1 -> \bar R], measurable_fun [set: 'rV_n.+1] f -> (gauss n.+1).-integrable [set: 'rV_n.+1] f <-> (normal_prob 0 1 \x gauss n)%E.-integrable [set: measurableTypeR R * 'rV_n] (f \o rV_cons (n:=n))
Stated in the README together with ge0_integral_gauss_cons.
Statement as written in the source
Used by 2 declarations in 2 files
- this file: integral_gauss_cons
- GaussianAnalysis.gaussian.gauss_ibp: integral_gauss_cons21
forall {R : realType} [n : nat] [f : 'rV_n.+1 -> \bar R], (gauss n.+1).-integrable [set: 'rV_n.+1] f -> (\int[gauss n.+1]_x f x)%E = (\int[normal_prob 0 1]_t \int[gauss n]_v f (rV_cons (t, v)))%E
Stated in the README together with ge0_integral_gauss_cons.
Context {R : realType}. Local Notation N := (@normal_prob R 0 1).
forall {R : realType} [n : nat] (s : {perm 'I_n}) [X : set 'rV_n], (measure_matrix_display default_measure_display).-measurable X -> gauss n (col_perm s @^-1` X) = gauss n X
gauss n, and the integral of every integrable function against it, are invariant under permutations of the coordinates.
Statement as written in the source
Used by 1 declaration in 1 file
- this file: integral_gauss_col_perm
forall {R : realType} [n : nat] (s : {perm 'I_n}) [f : 'rV_n -> \bar R], (gauss n).-integrable [set: 'rV_n] f -> (\int[gauss n]_x f (col_perm s x))%E = (\int[gauss n]_x f x)%E
Stated in the README together with gauss_col_perm.
Statement as written in the source
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp_line
forall {R : realType} [n m : nat] [X : set 'rV_(n + m)], (measure_matrix_display default_measure_display).-measurable X -> gauss (n + m) X = (gauss n \x gauss m)%E ((fun p : 'rV_n * 'rV_m => row_mx p.1 p.2) @^-1` X)
Independent blocks: the image of gauss n \x gauss m under (x, y) |-> row_mx x y is gauss (n + m).
Statement as written in the source
Used by 2 declarations in 1 file
- this file: gauss_lsubmx, gauss_rsubmx
forall {R : realType} [n : nat] (m : nat) [X : set 'rV_n], (measure_matrix_display default_measure_display).-measurable X -> gauss (n + m) (lsubmx @^-1` X) = gauss n X
Marginals of the blocks: if x has law gauss (n + m), then lsubmx x has law gauss n and rsubmx x has law gauss m.
Statement as written in the source
Used by 1 declaration in 1 file
- this file: integral_gauss_lsubmx
forall {R : realType} (n : nat) [m : nat] [Y : set 'rV_m], (measure_matrix_display default_measure_display).-measurable Y -> gauss (n + m) (rsubmx @^-1` Y) = gauss m Y
Stated in the README together with gauss_lsubmx.
Statement as written in the source
Used by 1 declaration in 1 file
- this file: integral_gauss_rsubmx
forall {R : realType} [n : nat] (m : nat) [f : 'rV_n -> \bar R], (gauss n).-integrable [set: 'rV_n] f -> (\int[gauss (n + m)]_x f (lsubmx x))%E = (\int[gauss n]_x f x)%E
Stated in the README together with gauss_lsubmx.
Statement as written in the source
Used by 5 declarations in 3 files
- GaussianAnalysis.gaussian.gauss_interpolation: gauss_comparison
- GaussianAnalysis.comparison.escape: integral_minmax_aux, integral_rmax_aux
- GaussianAnalysis.comparison.cgmt: cgmt_lower, cgmt_upper
forall {R : realType} (n : nat) [m : nat] [f : 'rV_m -> \bar R], (gauss m).-integrable [set: 'rV_m] f -> (\int[gauss (n + m)]_x f (rsubmx x))%E = (\int[gauss m]_x f x)%E
Stated in the README together with gauss_lsubmx.
Statement as written in the source
Used by 5 declarations in 3 files
- GaussianAnalysis.gaussian.gauss_interpolation: gauss_comparison
- GaussianAnalysis.comparison.escape: integral_minmax_aux, integral_rmax_aux
- GaussianAnalysis.comparison.cgmt: cgmt_lower, cgmt_upper
forall {R : realType} [n : nat] (i : 'I_n) [A : set R], 'measurable A -> gauss n [set x | A (x 0 i)] = normal_prob 0 1 A
Each coordinate of a vector of law gauss n has law normal_prob 0 1.
Statement as written in the source
Lemma gauss_coord n (i : 'I_n) (A : set R) : measurable A -> gauss n [set x : 'rV[R]_n | A (x 0 i)] = N A.
Used by 1 declaration in 1 file
- this file: distribution_coord
forall {R : realType} [n : nat] [f : 'I_n -> R -> R], (forall i : 'I_n, measurable_fun [set: R] (f i)) -> (forall (i : 'I_n) (t : R), 0 <= f i t) -> (\int[gauss n]_x (\prod_(i < n) f i (x 0 i))%:E)%E = (\prod_(i < n) \int[normal_prob 0 1]_t (f i t)%:E)%E
Independent coordinates: the integral of \prod_i f i (x 0 i) against gauss n is \prod_i of the integrals of f i against normal_prob 0 1, for nonnegative measurable f i.
Statement as written in the source
Lemma ge0_integral_gauss_prod n (f : 'I_n -> R -> R) : (forall i, measurable_fun [set: R] (f i)) -> (forall i t, 0 <= f i t) -> (\int[gauss n]_x (\prod_(i < n) f i (x 0 i))%:E = \prod_(i < n) \int[N]_t (f i t)%:E)%E.
Used by 3 declarations in 3 files
- GaussianAnalysis.probability.hanson_wright: integral_gauss_expR_dot
- GaussianAnalysis.comparison.chi_square: integral_gauss_expR_centered_chi2
- GaussianAnalysis.convex.gauss_feature: gauss_coord_moments
Context {R : realType}. Local Notation N := (@normal_prob R 0 1).
Let measurable_coord n (i : 'I_n) : measurable_fun [set: 'rV[R]_n] (fun x : 'rV[R]_n => (x 0 i : measurableTypeR R)).
Used by 1 declaration in 1 file
- this file: coord
Let coord n (i : 'I_n) : {mfun 'rV[R]_n >-> measurableTypeR R} := HB.pack (fun x : 'rV[R]_n => (x 0 i : measurableTypeR R)) (isMeasurableFun.Build _ _ _ _ _ (measurable_coord i)).
Used by 3 declarations in 1 file
Local Open Scope ereal_scope.
Used by 2 declarations in 1 file
- this file: ge0_integral_gauss_coord, integral_gauss_coord
forall {R : realType} [n : nat] (i : 'I_n) [f : R -> \bar R], measurable_fun [set: R] f -> (forall t : R, (0%R <= f t)%E) -> (\int[gauss n]_x f (x 0%R i))%E = (\int[normal_prob 0 1]_t f t)%E
Statement as written in the source
Lemma ge0_integral_gauss_coord n (i : 'I_n) (f : R -> \bar R) : measurable_fun [set: R] f -> (forall t, 0 <= f t) -> \int[gauss n]_x f (x 0%R i) = \int[N]_t f t.
Used by 3 declarations in 3 files
- this file: integrable_gauss_coord
- GaussianAnalysis.comparison.sudakov: gauss_max_lower
- GaussianAnalysis.convex.gauss_feature: gauss_coord_moments
forall {R : realType} [n : nat] (i : 'I_n) [f : R -> \bar R], measurable_fun [set: R] f -> (gauss n).-integrable [set: 'rV_n] (fun x : 'rV_n => f (x 0 i)) <-> (normal_prob 0 1).-integrable [set: R] f
Statement as written in the source
Lemma integrable_gauss_coord n (i : 'I_n) (f : R -> \bar R) : measurable_fun [set: R] f -> (gauss n).-integrable [set: 'rV[R]_n] (fun x => f (x 0%R i)) <-> N.-integrable [set: R] f.
Used by 3 declarations in 2 files
- this file: integral_gauss_coord, integrable_gauss_poly
- GaussianAnalysis.comparison.gauss_smoothing: integrable_gauss_expR_abs_coord
forall {R : realType} [n : nat] (i : 'I_n) [f : R -> \bar R], (normal_prob 0 1).-integrable [set: R] f -> (\int[gauss n]_x f (x 0%R i))%E = (\int[normal_prob 0 1]_t f t)%E
Stated in the README together with gauss_coord.
Statement as written in the source
Lemma integral_gauss_coord n (i : 'I_n) (f : R -> \bar R) : N.-integrable [set: R] f -> \int[gauss n]_x f (x 0%R i) = \int[N]_t f t.
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_moments: gauss_mean
Polynomial bounds C * (1 + `|x| ^+ k), with `|x| the largest absolute value of a coordinate.
Context {R : realType}.
forall {R : realType} [a : R] (k : nat), 0 <= a -> (1 + a) ^+ k <= 2 ^+ k * (1 + a ^+ k)Statement as written in the source
Lemma exprn1D_le (a : R) k : 0 <= a -> (1 + a) ^+ k <= 2 ^+ k * (1 + a ^+ k).
forall {R : realType} [a : R] (k : nat), 0 <= a -> 1 + a ^+ k <= 2 * (1 + a ^+ k.+1)Statement as written in the source
Lemma exprn1S_le (a : R) k : 0 <= a -> 1 + a ^+ k <= 2 * (1 + a ^+ k.+1).
Used by 1 declaration in 1 file
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp2
forall {R : realType} [V : normedZmodType R] [G : V -> R] [C : R] [k : nat], (forall x : V, `|G x| <= C * (1 + `|x| ^+ k)) -> 0 <= C
The constant of a polynomial bound is nonnegative.
Stated in the README together with integrable_gauss_poly.
Statement as written in the source
Lemma poly_bound_ge0 (V : normedZmodType R) (G : V -> R) (C : R) (k : nat) : (forall x, `|G x| <= C * (1 + `|x| ^+ k)) -> 0 <= C.
Used by 9 declarations in 4 files
- this file: entry_mul_bound, integrable_gauss_poly
- GaussianAnalysis.gaussian.gauss_ibp: normal_ibp, gauss_ibp0, gauss_ibp_line, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_interpolation: C_ge0
- GaussianAnalysis.random_matrix.goe: polyfun_bound2, polyfunM
forall {R : realType} [m : nat] (i : 'I_m) [G : 'rV_m -> R] [C : R] [k : nat], (forall x : 'rV_m, `|G x| <= C * (1 + `|x| ^+ k)) -> forall x : 'rV_m, `|x 0 i * G x| <= 2 * C * (1 + `|x| ^+ k.+1)
Multiplying by a coordinate raises the degree of a polynomial bound by one.
Stated in the README together with integrable_gauss_poly.
Statement as written in the source
Lemma entry_mul_bound m (i : 'I_m) (G : 'rV[R]_m -> R) (C : R) (k : nat) : (forall x, `|G x| <= C * (1 + `|x| ^+ k)) -> forall x : 'rV[R]_m, `|x 0 i * G x| <= (2 * C) * (1 + `|x| ^+ k.+1).
Used by 4 declarations in 2 files
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp0, gauss_ibp_line, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_gauss_entry
Context {R : realType}. Local Notation N := (@normal_prob R 0 1).
forall {R : realType} [n : nat] [f : 'rV_n -> R] [C : R] [k : nat], measurable_fun [set: 'rV_n] f -> (forall x : 'rV_n, `|f x| <= C * (1 + `|x| ^+ k)) -> (gauss n).-integrable [set: 'rV_n] (EFin \o f)
Every measurable function bounded by C (1 + |x|^k) is integrable against gauss n. The constant of such a bound is nonnegative, and multiplying the function by a coordinate raises k by one and doubles C.
theories/ by: Gaussian/Law/LibraryBridge Statement as written in the source
Lemma integrable_gauss_poly n (f : 'rV[R]_n -> R) (C : R) k : measurable_fun [set: 'rV[R]_n] f -> (forall x, `|f x| <= C * (1 + `|x| ^+ k)) -> (gauss n).-integrable [set: 'rV[R]_n] (EFin \o f).
Used by 30 declarations in 12 files
- GaussianAnalysis.gaussian.gauss_ibp: gauss_ibp0, gauss_ibp_line, gauss_ibp2
- GaussianAnalysis.gaussian.gauss_moments: gauss_mulmx_cov
- GaussianAnalysis.gaussian.gauss_interpolation: integrable_gauss_entry, integrable_D2F_mulmx, gauss_ibp_mulmx, gauss_interpolation, gauss_comparison
- GaussianAnalysis.random_matrix.goe: integrable_polyfun
- GaussianAnalysis.comparison.gauss_smoothing: integrable_gauss_bounded, iGa_coord, continuous_gauss_smooth_partial, integrable_gauss_frobenius
- GaussianAnalysis.comparison.gauss_concentration: gauss2_ibp_snd, integrable_herbst_D, herbst_df_lower, gauss_poincare_lipschitz
- GaussianAnalysis.comparison.slepian: integrable_gauss_rmax, integrable_gauss_lse
- GaussianAnalysis.comparison.gordon: integrable_gauss_minmax, integrable_gauss_smm
- GaussianAnalysis.comparison.escape: gauss_frobenius_mean_le, gauss_sqr_mulmx, gauss_proj_mean_ge
- GaussianAnalysis.comparison.gauss_law: iGc
- GaussianAnalysis.comparison.brascamp_lieb: gauss_ibp_unit, is_derive_Lambda, dLambda_le0
- GaussianAnalysis.convex.gauss_feature: gauss_integrable4