On this page
Linear forms of a standard Gaussian vector
Imports 6 library modules and 29 external
- GaussianAnalysis.gaussian.measurable_matrix
- GaussianAnalysis.gaussian.normal_integral
- GaussianAnalysis.gaussian.gauss
- GaussianAnalysis.matrix.euclidean
- GaussianAnalysis.comparison.normal_mgf
- GaussianAnalysis.comparison.normal_linear
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.interval, mathcomp.algebra.ring_tactic, mathcomp.algebra.field_tactic, mathcomp.algebra.arithmetic_tactic, mathcomp.classical.boolp, mathcomp.classical.classical_sets, mathcomp.classical.functions, mathcomp.classical.cardinality, mathcomp.reals.reals, mathcomp.analysis.ereal, 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, mathcomp.analysis.probability_theory.normal_distribution
Imported by 6
Required by 4 files of the paper proofs
For x of law gauss n and a nonzero row vector a, the inner product mxdot x a has law normal_prob 0 (frobenius a), the normal law with variance |a|^2 (gauss_mxdot). Integrals of functions of mxdot x a are integrals against that law (ge0_integral_gauss_mxdot, integral_gauss_mxdot). The moment generating function of mxdot x a is expR (t^2 |a|^2 / 2) for every a (integral_gauss_expR_mxdot), and its tails are those of the normal law (gauss_mxdot_upper_tail, gauss_mxdot_abs_tail).
row_ | the row of the coordinates 1, ..., n of a : 'rV[R]_n.+1 |
Main results
| Results | Statement | Used by theories/ |
|---|---|---|
For x of law gauss n and a != 0, the linear form mxdot x a has law normal_prob 0 (frobenius a), the normal law with variance |a|^2. | ||
E[expR (t <x, a>)] = expR (t^2 |a|^2 / 2), and P(|<x, a>| >= u) <= 2 expR (- u^2 / (2 |a|^2)). | Gaussian/ |
Declarations13 exported
Context {R : realType}.
forall {R : realType} (m s x : R), normal_pdf m `|s| x = normal_pdf m s x
Statement as written in the source
Lemma normal_pdf_normr (m s x : R) : normal_pdf m `|s| x = normal_pdf m s x.
Used by 1 declaration in 1 file
- this file: normal_prob_normr
forall {R : realType} (m s : R) (A : set (g_sigma_algebraType (R.-ocitv).-measurable)), normal_prob m `|s| A = normal_prob m s A
Statement as written in the source
Lemma normal_prob_normr (m s : R) A : normal_prob m `|s| A = normal_prob m s A.
Used by 1 declaration in 1 file
- this file: gauss_mxdot
Context {R : realType} (n : nat).
forall {R : realType} [n : nat], 'rV_n.+1 -> 'rV_nDefinition row_tail (a : 'rV[R]_n.+1) : 'rV[R]_n := \row_j a 0 (lift ord0 j).
The coordinates 1, ..., n of a row vector of size n.+1.
Used by 5 declarations in 2 files
- this file: mxdot_rV_cons, mxdot_row_tail, gauss_mxdot
- GaussianAnalysis.comparison.gauss_shift: rV_cons_row_tail, ge0_integral_gauss_shift
forall {R : realType} [n : nat] (a : 'rV_n.+1) (t : measurableTypeR R) (v : 'rV_n), mxdot (rV_cons (t, v)) a = t * a 0 ord0 + mxdot v (row_tail a)
Statement as written in the source
Used by 2 declarations in 2 files
- this file: gauss_mxdot
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift
forall {R : realType} [n : nat] (a : 'rV_n.+1), mxdot a a = a 0 ord0 ^+ 2 + mxdot (row_tail a) (row_tail a)
Statement as written in the source
Used by 2 declarations in 2 files
- this file: gauss_mxdot
- GaussianAnalysis.comparison.gauss_shift: ge0_integral_gauss_shift
Context {R : realType}. Local Notation N := (@normal_prob R 0 1).
forall {R : realType} [n : nat] (a : 'rV_n), measurable_fun [set: 'rV_n] ((mxdot (n:=n))^~ a)
Statement as written in the source
Lemma measurable_mxdot n (a : 'rV[R]_n) : measurable_fun [set: 'rV[R]_n] (fun x => mxdot x a).
Used by 24 declarations in 6 files
- this file: ge0_integral_gauss_mxdot, integrable_gauss_mxdot, integral_gauss_mxdot
- GaussianAnalysis.comparison.gauss_shift: measurable_mxdotl
- GaussianAnalysis.comparison.brascamp_lieb: gauss_ibp_unit, measurable_G, mline, dLambda_le0, Lambda_lip
- GaussianAnalysis.comparison.brascamp_lieb_lebesgue: gauss_brascamp_lieb_ge0, gauss_brascamp_lieb, brascamp_lieb
- GaussianAnalysis.fourier.charfun_rV: cf_rV_law, cf_rV_norm_le1, cf_rV_re_le1, cf_rV_im_le1, continuous_cf_rV_re, continuous_cf_rV_im, cf_rV_image, cf_rV_add, cf_rV_regularization, cf_rV_regularization_le
- GaussianAnalysis.fourier.inversion: measurable_cf_rV_kernel, integral_cf_rV_kernel_gauss
forall {R : realType} [n : nat] [a : 'rV_n] [A : set R], a != 0 -> 'measurable A -> gauss n [set x | A (mxdot x a)] = normal_prob 0 (frobenius a) A
For x of law gauss n and a != 0, the linear form mxdot x a has law normal_prob 0 (frobenius a), the normal law with variance |a|^2.
Statement as written in the source
Used by 5 declarations in 2 files
- this file: ge0_integral_gauss_mxdot, integral_gauss_mxdot, gauss_mxdot_upper_tail, gauss_mxdot_abs_tail
- GaussianAnalysis.fourier.charfun_rV: cf_rV_gauss
forall {R : realType} [n : nat] [a : 'rV_n] [f : R -> \bar R], a != 0 -> measurable_fun [set: R] f -> (forall y : R, (0%R <= f y)%E) -> (\int[gauss n]_x f (mxdot x a))%E = (\int[normal_prob 0 (frobenius a)]_y f y)%E
Stated in the README together with gauss_mxdot.
Statement as written in the source
Used by 3 declarations in 2 files
- this file: integrable_gauss_mxdot, integral_gauss_expR_mxdot
- GaussianAnalysis.comparison.brascamp_lieb: Lambda_lip
forall {R : realType} [n : nat] [a : 'rV_n] [f : R -> \bar R], a != 0 -> measurable_fun [set: R] f -> (gauss n).-integrable [set: 'rV_n] (fun x : 'rV_n => f (mxdot x a)) <-> (normal_prob 0 (frobenius a)).-integrable [set: R] f
Statement as written in the source
Used by 1 declaration in 1 file
- this file: integral_gauss_mxdot
forall {R : realType} [n : nat] [a : 'rV_n] [f : R -> \bar R], a != 0 -> (normal_prob 0 (frobenius a)).-integrable [set: R] f -> (\int[gauss n]_x f (mxdot x a))%E = (\int[normal_prob 0 (frobenius a)]_y f y)%E
Stated in the README together with gauss_mxdot.
forall {R : realType} [n : nat] (a : 'rV_n) (t : R), (\int[gauss n]_x (expR (t * mxdot x a))%:E)%E = (expR (t ^+ 2 * frobenius a ^+ 2 / 2))%:E
E[expR (t <x, a>)] = expR (t^2 |a|^2 / 2), and P(|<x, a>| >= u) <= 2 expR (- u^2 / (2 |a|^2)).
theories/ by: Gaussian/Tail/UnitLinear forall {R : realType} [n : nat] [a : 'rV_n] [u : R], a != 0 -> 0 <= u -> (gauss n [set x | (u <= mxdot x a)%R] <= (expR (- u ^+ 2 / (2 * frobenius a ^+ 2)))%:E)%E
Stated in the README together with integral_gauss_expR_mxdot.
forall {R : realType} [n : nat] [a : 'rV_n] [u : R], a != 0 -> 0 <= u -> (gauss n [set x | (u <= `|mxdot x a|)%R] <= (2 * expR (- u ^+ 2 / (2 * frobenius a ^+ 2)))%:E)%E
Stated in the README together with integral_gauss_expR_mxdot.
Statement as written in the source
Used by 2 declarations in 1 file
- GaussianAnalysis.random_matrix.goe_entries: goe_mx_diag_tail, goe_mx_offdiag_tail