On this page
Rotation invariance of Gaussian measures
Imports 4 library modules and 26 external
- GaussianAnalysis.gaussian.measurable_matrix
- GaussianAnalysis.gaussian.normal_integral
- GaussianAnalysis.gaussian.gauss
- GaussianAnalysis.comparison.normal_linear
External: HB.structures, mathcomp.classical.all_ssreflect_compat, mathcomp.algebra.algebraic_hierarchy.ssralg, mathcomp.algebra.numeric_hierarchy.ssrnum, mathcomp.algebra.interval, mathcomp.algebra.matrix, mathcomp.algebra.ring_tactic, mathcomp.algebra.field_tactic, mathcomp.algebra.arithmetic_tactic, mathcomp.classical.boolp, mathcomp.classical.classical_sets, mathcomp.classical.functions, mathcomp.reals.reals, mathcomp.analysis.ereal, mathcomp.analysis.topology_theory.topology, mathcomp.analysis.normedtype_theory.normedtype, mathcomp.analysis.sequences, mathcomp.analysis.exp, mathcomp.analysis.measure_theory.measure, mathcomp.analysis.lebesgue_stieltjes_measure, mathcomp.analysis.lebesgue_measure, mathcomp.analysis.numfun, mathcomp.analysis.measurable_realfun, mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral, mathcomp.analysis.probability_theory.probability, mathcomp.analysis.probability_theory.normal_distribution
Lebesgue measure on the plane is invariant under the shears (x, y) |-> (x + a y, y) and (x, y) |-> (x, y + b x), by Fubini and the invariance of Lebesgue measure on the line under translations. A rotation of angle different from pi is a product of three shears, so Lebesgue measure on the plane is rotation invariant (ge0_integral_rotation2). The standard Gaussian measure on the plane, normal_prob 0 1 \x normal_prob 0 1, has a rotation invariant density, so it is rotation invariant (normal2_rotation).
For c^2 + s^2 = 1 and independent x and y of law gauss n, the pair (c x - s y, s x + c y) has the law of (x, y) (ge0_integral_gauss2_rotation, gauss2_rotation): rotating pairwise the coordinates of two independent standard Gaussian vectors preserves their joint law. In particular c x + s y has law gauss n (ge0_integral_gauss_lincomb).
Main results
| Results | Statement |
|---|---|
| Lebesgue measure on the plane is invariant under rotations (each is a product of three shears). | |
| The standard Gaussian measure on the plane is invariant under rotations. | |
For independent x, y of law gauss n and c^2 + s^2 = 1, the pair (c x - s y, s x + c y) has the law of (x, y); in particular c x + s y has law gauss n. |
Declarations17 exported
Context {R : realType}. Local Notation mu := (@lebesgue_measure R). Local Open Scope ereal_scope.
forall {R : realType} [h : R * R -> \bar R] (a : R), measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[lebesgue_measure \x lebesgue_measure]_p h ((p.1 + a * p.2)%R, p.2))%E = (\int[lebesgue_measure \x lebesgue_measure]_p h p)%E
Statement as written in the source
Lemma ge0_integral_shear1 (h : R * R -> \bar R) (a : R) : measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[mu \x mu]_p h (p.1 + a * p.2, p.2)%R = \int[mu \x mu]_p h p.
Used by 1 declaration in 1 file
- this file: ge0_integral_rotation2
forall {R : realType} [h : R * R -> \bar R] (b : R), measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[lebesgue_measure \x lebesgue_measure]_p h (p.1, (p.2 + b * p.1)%R))%E = (\int[lebesgue_measure \x lebesgue_measure]_p h p)%E
Statement as written in the source
Lemma ge0_integral_shear2 (h : R * R -> \bar R) (b : R) : measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[mu \x mu]_p h (p.1, p.2 + b * p.1)%R = \int[mu \x mu]_p h p.
Used by 1 declaration in 1 file
- this file: ge0_integral_rotation2
forall {R : realType} [h : R * R -> \bar R], measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[lebesgue_measure \x lebesgue_measure]_p h ((- p.1)%R, (- p.2)%R))%E = (\int[lebesgue_measure \x lebesgue_measure]_p h p)%E
Statement as written in the source
Lemma ge0_integral_oppr2 (h : R * R -> \bar R) : measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[mu \x mu]_p h (- p.1, - p.2)%R = \int[mu \x mu]_p h p.
Used by 1 declaration in 1 file
- this file: ge0_integral_rotation2
forall {R : realType} [h : R * R -> \bar R] [c s : R], c ^+ 2 + s ^+ 2 = 1 -> measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[lebesgue_measure \x lebesgue_measure]_p h ((c * p.1 - s * p.2)%R, (s * p.1 + c * p.2)%R))%E = (\int[lebesgue_measure \x lebesgue_measure]_p h p)%E
Lebesgue measure on the plane is invariant under rotations (each is a product of three shears).
Statement as written in the source
Lemma ge0_integral_rotation2 (h : R * R -> \bar R) (c s : R) : (c ^+ 2 + s ^+ 2 = 1)%R -> measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[mu \x mu]_p h (c * p.1 - s * p.2, s * p.1 + c * p.2)%R = \int[mu \x mu]_p h p.
Used by 1 declaration in 1 file
- this file: ge0_integral_normal2_rotation
Context {R : realType}. Local Notation mu := (@lebesgue_measure R). Local Notation N := (@normal_prob R 0 1). Local Notation phi := (@normal_pdf R 0 1). Local Open Scope ereal_scope.
forall {R : realType} [h : R * R -> \bar R], measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[normal_prob 0 1 \x normal_prob 0 1]_p h p)%E = (\int[lebesgue_measure \x lebesgue_measure]_p (h p * (normal_pdf 0 1 p.1 * normal_pdf 0 1 p.2)%:E))%E
Statement as written in the source
Lemma ge0_integral_normal2 (h : R * R -> \bar R) : measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[N \x N]_p h p = \int[mu \x mu]_p (h p * (phi p.1 * phi p.2)%:E).
Used by 1 declaration in 1 file
- this file: ge0_integral_normal2_rotation
forall {R : realType} [c s : R] (x y : R),
c ^+ 2 + s ^+ 2 = 1 ->
normal_pdf 0 1 (c * x - s * y) * normal_pdf 0 1 (s * x + c * y) =
normal_pdf 0 1 x * normal_pdf 0 1 yStatement as written in the source
Lemma normal_pdf01_rotation (c s x y : R) : (c ^+ 2 + s ^+ 2 = 1)%R -> (phi (c * x - s * y) * phi (s * x + c * y) = phi x * phi y)%R.
Used by 1 declaration in 1 file
- this file: ge0_integral_normal2_rotation
forall {R : realType} [h : R * R -> \bar R] [c s : R], c ^+ 2 + s ^+ 2 = 1 -> measurable_fun [set: R * R] h -> (forall p : R * R, (0%R <= h p)%E) -> (\int[normal_prob 0 1 \x normal_prob 0 1]_p h ((c * p.1 - s * p.2)%R, (s * p.1 + c * p.2)%R))%E = (\int[normal_prob 0 1 \x normal_prob 0 1]_p h p)%E
Statement as written in the source
Theorem ge0_integral_normal2_rotation (h : R * R -> \bar R) (c s : R) : (c ^+ 2 + s ^+ 2 = 1)%R -> measurable_fun [set: R * R] h -> (forall p, 0 <= h p) -> \int[N \x N]_p h (c * p.1 - s * p.2, s * p.1 + c * p.2)%R = \int[N \x N]_p h p.
Used by 2 declarations in 1 file
- this file: normal2_rotation, ge0_integral_gauss2_rotation
forall {R : realType} [c s : R] [B : set (R * R)], c ^+ 2 + s ^+ 2 = 1 -> ((default_measure_display, default_measure_display).-prod).-measurable B -> (normal_prob 0 1 \x normal_prob 0 1)%E ((fun p : R * R => (c * p.1 - s * p.2, s * p.1 + c * p.2)) @^-1` B) = (normal_prob 0 1 \x normal_prob 0 1)%E B
The standard Gaussian measure on the plane is invariant under rotations.
Statement as written in the source
Theorem normal2_rotation (c s : R) (B : set (R * R)) : (c ^+ 2 + s ^+ 2 = 1)%R -> measurable B -> (N \x N) ((fun p : R * R => (c * p.1 - s * p.2, s * p.1 + c * p.2)%R) @^-1` B) = (N \x N) B.
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 * 'rV_n.+1 -> \bar R], measurable_fun [set: 'rV_n.+1 * 'rV_n.+1] F -> (forall p : 'rV_n.+1 * 'rV_n.+1, (0%R <= F p)%E) -> (\int[gauss n.+1 \x gauss n.+1]_p F p)%E = (\int[normal_prob 0 1 \x normal_prob 0 1]_q \int[gauss n \x gauss n]_r F (rV_cons (q.1, r.1), rV_cons (q.2, r.2)))%E
Statement as written in the source
Used by 1 declaration in 1 file
- this file: ge0_integral_gauss2_rotation
forall {R : realType} [n : nat] (c s a b : R) (u v : 'rV_n), c *: rV_cons (a, u) + s *: rV_cons (b, v) = rV_cons (c * a + s * b, c *: u + s *: v)
Statement as written in the source
Used by 2 declarations in 1 file
- this file: rV_cons_lincomb, ge0_integral_gauss2_rotation
forall {R : realType} [n : nat] (c s a b : R) (u v : 'rV_n), c *: rV_cons (a, u) - s *: rV_cons (b, v) = rV_cons (c * a - s * b, c *: u - s *: v)
Statement as written in the source
Used by 1 declaration in 1 file
- this file: ge0_integral_gauss2_rotation
forall {R : realType} [n : nat] [c s : R] [f : 'rV_n * 'rV_n -> \bar R], c ^+ 2 + s ^+ 2 = 1 -> measurable_fun [set: 'rV_n * 'rV_n] f -> (forall p : 'rV_n * 'rV_n, (0%R <= f p)%E) -> (\int[gauss n \x gauss n]_p f ((c *: p.1 - s *: p.2)%R, (s *: p.1 + c *: p.2)%R))%E = (\int[gauss n \x gauss n]_p f p)%E
For independent x, y of law gauss n and c^2 + s^2 = 1, the pair (c x - s y, s x + c y) has the law of (x, y); in particular c x + s y has law gauss n.
Statement as written in the source
Used by 4 declarations in 1 file
forall {R : realType} [n : nat] [c s : R] [E : set ('rV_n * 'rV_n)], c ^+ 2 + s ^+ 2 = 1 -> ((measure_matrix_display default_measure_display, measure_matrix_display default_measure_display).-prod).-measurable E -> (gauss n \x gauss n)%E ((fun p : 'rV_n * 'rV_n => (c *: p.1 - s *: p.2, s *: p.1 + c *: p.2)) @^-1` E) = (gauss n \x gauss n)%E E
Stated in the README together with ge0_integral_gauss2_rotation.
forall {R : realType} [n : nat] [c s : R] [f : 'rV_n -> \bar R], c ^+ 2 + s ^+ 2 = 1 -> measurable_fun [set: 'rV_n] f -> (forall x : 'rV_n, (0%R <= f x)%E) -> (\int[gauss n \x gauss n]_p f (c *: p.1 + s *: p.2)%R)%E = (\int[gauss n]_x f x)%E
Stated in the README together with ge0_integral_gauss2_rotation.
Statement as written in the source
Used by 1 declaration in 1 file
- GaussianAnalysis.comparison.escape: ge0_integral_gauss_opp
forall {R : realType} [n : nat] (c s : R), measurable_fun [set: 'rV_n * 'rV_n] (fun p : 'rV_n * 'rV_n => (c *: p.1 - s *: p.2, s *: p.1 + c *: p.2))
Statement as written in the source
Lemma measurable_gauss2_rot n (c s : R) : measurable_fun [set: 'rV[R]_n * 'rV[R]_n] (fun p : 'rV[R]_n * 'rV[R]_n => (c *: p.1 - s *: p.2, s *: p.1 + c *: p.2)%R).
Used by 1 declaration in 1 file
- this file: integrable_gauss2_rotation
forall {R : realType} [n : nat] [c s : R] [f : 'rV_n * 'rV_n -> \bar R], c ^+ 2 + s ^+ 2 = 1 -> (gauss n \x gauss n)%E.-integrable [set: ('rV_n * 'rV_n)] f -> (\int[gauss n \x gauss n]_p f ((c *: p.1 - s *: p.2)%R, (s *: p.1 + c *: p.2)%R))%E = (\int[gauss n \x gauss n]_p f p)%E
Stated in the README together with ge0_integral_gauss2_rotation.
Statement as written in the source
Used by 1 declaration in 1 file
- GaussianAnalysis.comparison.gauss_concentration: herbst_df_lower