Documentation

TauCeti.MeasureTheory.Measure.SymmetricMatrix.Cholesky

The Cholesky change of variables on the symmetric matrices #

Every positive-definite symmetric matrix is L * Lᵀ for a unique lower-triangular L with positive diagonal, so the on-or-below-diagonal entries of L are free coordinates on the positive-definite cone. This file transports TauCeti.symmetricLebesgue through that parametrization: on the cone it is the pushforward of Lebesgue measure on the region where every diagonal coordinate is positive, weighted by the Jacobian 2 ^ p * ∏ i, (L i i) ^ (p - i) of L ↦ L * Lᵀ.

That weight is a product of powers of the diagonal coordinates alone, so the resulting coordinate integral splits into independent one-dimensional integrals. This is how the cone integral defining the multivariate Gamma function, and with it the Wishart normalizing constant, is evaluated.

The symmetric matrices carry the on-or-above-diagonal coordinates TauCeti.symmetricCoordinates, whereas the Cholesky Jacobian is computed in the on-or-below-diagonal coordinates. Transposing positions relabels one coordinate system into the other, and the resulting chart TauCeti.symmetricLowerCoordinates carries the same Lebesgue normalization.

Main declarations #

References #

The on-or-below-diagonal chart #

Transposing a position matches the on-or-below-diagonal positions of a p × p matrix with the on-or-above-diagonal ones.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    The continuous linear equivalence reading off the on-or-below-diagonal entries of a symmetric matrix. It is TauCeti.symmetricCoordinates relabelled by transposing positions, so the Lebesgue measure it induces is again TauCeti.symmetricLebesgue.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.symmetricLowerCoordinates_apply (p : ℕ) (A : ↥(selfAdjoint.submodule ℝ (Matrix (Fin p) (Fin p) ℝ))) (ij : lowerTriangle p) :
      (symmetricLowerCoordinates p) A ij = ↑A (↑ij).1 (↑ij).2
      @[simp]
      theorem TauCeti.coe_symmetricLowerCoordinates_symm_apply_of_ge (p : ℕ) (x : lowerTriangle p → ℝ) {i j : Fin p} (h : j ≤ i) :
      ↑((symmetricLowerCoordinates p).symm x) i j = x ⟨(i, j), h⟩
      @[simp]
      theorem TauCeti.coe_symmetricLowerCoordinates_symm_apply_of_le (p : ℕ) (x : lowerTriangle p → ℝ) {i j : Fin p} (h : i ≤ j) :
      ↑((symmetricLowerCoordinates p).symm x) i j = x ⟨(j, i), h⟩

      The on-or-below-diagonal chart carries TauCeti.symmetricLebesgue to Lebesgue measure on the coordinate space: relabelling coordinates by a bijection of index types preserves product Lebesgue measure.

      The Gram map and the positive-diagonal region #

      The symmetric matrix L * Lᵀ, where L is the lower-triangular matrix whose on-or-below-diagonal entries are x. On the positive-diagonal region this is Cholesky reconstruction.

      Equations
      Instances For
        @[simp]

        Reading the on-or-below-diagonal entries of L * Lᵀ is the coordinate form of Cholesky reconstruction.

        The Gram map factors through the chart: it reconstructs a symmetric matrix from the coordinate form of Cholesky reconstruction.

        The region of the lower-triangular coordinates with positive diagonal: the set underlying TauCeti.PosDiagLowerCoordinates, and the set of coordinates of Cholesky factors.

        Equations
        Instances For
          theorem TauCeti.posDiagLowerRegion_def (p : ℕ) :
          posDiagLowerRegion p = {x : lowerTriangle p → ℝ | ∀ (i : Fin p), 0 < x ⟨(i, i), ⋯⟩}

          The positive-diagonal region is the set of coordinate vectors whose diagonal coordinates are positive.

          @[simp]
          theorem TauCeti.mem_posDiagLowerRegion (p : ℕ) {x : lowerTriangle p → ℝ} :
          x ∈ posDiagLowerRegion p ↔ ∀ (i : Fin p), 0 < x ⟨(i, i), ⋯⟩

          The Gram map sends the positive-diagonal region onto the positive-definite cone: a positive-diagonal lower-triangular matrix has positive-definite Gram matrix, and conversely every positive-definite matrix is the Gram matrix of its Cholesky factor.

          Cholesky factors are unique, so the Gram map is injective on the positive-diagonal region.

          The coordinate form of Cholesky reconstruction is injective on the positive-diagonal region: it is the Gram map read through a chart.

          Cholesky coordinates of a positive-definite matrix #

          The Gram map lands in the positive-definite cone on the positive-diagonal region.

          noncomputable def TauCeti.choleskyLowerCoordinates (p : ℕ) (A : PosDefMatrix p) :

          The on-or-below-diagonal entries of the Cholesky factor of a positive-definite symmetric matrix: the same coordinates in which TauCeti.map_cholesky_symmetricLebesgue expresses the change of variables, read off the matrix itself.

          Equations
          Instances For
            @[simp]
            theorem TauCeti.choleskyLowerCoordinates_apply (p : ℕ) (A : PosDefMatrix p) (ij : lowerTriangle p) :
            choleskyLowerCoordinates p A ij = ↑(cholesky A) (↑ij).1 (↑ij).2

            The Cholesky factor has positive diagonal, so its coordinates lie in the positive-diagonal region.

            @[simp]

            The Gram map inverts Cholesky factorization. A positive-definite matrix is the Gram matrix built from the coordinates of its Cholesky factor.

            @[simp]

            Cholesky factorization inverts the Gram map. On the positive-diagonal region the coordinates of the Cholesky factor of L * Lᵀ are the coordinates of L again.

            The change of variables #

            The Jacobian weight of the Cholesky change of variables, in lower-triangular coordinates: ENNReal.ofReal (2 ^ p * ∏ i, (L i i) ^ (p - i)). On TauCeti.posDiagLowerRegion, where the diagonal coordinates are positive, this is the absolute determinant of the derivative of L ↦ L * Lᵀ; elsewhere the product can be negative, and the weight then truncates to 0. The change of variables below uses the weight only on that region.

            Equations
            Instances For
              theorem TauCeti.choleskyJacobianDensity_def (p : ℕ) (x : lowerTriangle p → ℝ) :
              choleskyJacobianDensity p x = ENNReal.ofReal (2 ^ p * ∏ i : Fin p, x ⟨(i, i), ⋯⟩ ^ (p - ↑i))

              The Cholesky change of variables. Lebesgue measure on the symmetric matrices, restricted to the positive-definite cone, is the image of the positive-diagonal coordinate region under L ↦ L * Lᵀ, weighted by the Cholesky Jacobian.

              @[simp]
              theorem TauCeti.toReal_choleskyJacobianDensity (p : ℕ) {x : lowerTriangle p → ℝ} (hx : x ∈ posDiagLowerRegion p) :
              (choleskyJacobianDensity p x).toReal = 2 ^ p * ∏ i : Fin p, x ⟨(i, i), ⋯⟩ ^ (p - ↑i)

              On the positive-diagonal region the Jacobian weight is nonnegative, so it agrees with the real number 2 ^ p * ∏ i, (L i i) ^ (p - i) it truncates.

              The integral form of the Cholesky change of variables: an integral over the positive-definite cone becomes a weighted integral over the positive-diagonal coordinate region.

              The Bochner-integral form of the Cholesky change of variables: an integral over the positive-definite cone becomes a weighted integral over the positive-diagonal coordinate region.