Linear Algebra

SPD Matrix Geometric Mean

Generalize a scalar geometric mean to positive matrices that need not commute.

By Riano · Published · Updated · Report a correction

SPD Matrix Geometric Mean

The geometric mean of two positive definite matrices generalizes the scalar concept √(ab). When matrices commute, it is exactly the product of their square roots. When they do not commute, non-trivial rotations must be accommodated.

Worked Example

Consider the symmetric positive definite matrices A and B.

Since they are diagonal and commute, we can compute their geometric mean directly:

  1. Find A1/2 and A-1/2.
  2. Form C = A-1/2 B A-1/2.
  3. Find C1/2.
  4. Compute A # B = A1/2 C1/2 A1/2.

Experiment

Explore this using the interactive module:

  1. Open the SPD Matrix Geometric Mean module.
  2. Set Pair to "Reciprocal" and Angle to 0. Notice the arithmetic mean trace is 5, but geometric mean trace is 4.
  3. Change the Angle to 45 degrees. The geometric mean changes because the matrices no longer commute!
  4. The visualization will show how the geometric mean ellipse always lies "between" the ellipses for A and B, but in a geodesic sense rather than a linear Euclidean sense.

Limitations

This exact formulation is specifically for symmetric (or Hermitian) positive-definite matrices. If a matrix is only positive semi-definite (has a zero eigenvalue), the inverse A-1/2 does not exist, though limits can sometimes be taken. The formula also relies heavily on the fact that the principal square root of an SPD matrix is unique and also SPD. Round-off errors near zero can cause a matrix to temporarily appear indefinite.

References

Here are some materials to read more about the computation of the square root and geometric mean.

  • What is a Matrix Square Root? by Nick Higham - details unique principal square roots of matrices which are fundamental to the geometric mean formulation.

Experience it interactively

Adjust parameters, observe in real time, and build deep intuition with Riano’s interactive SPD Matrix Geometric Mean module.

Try SPD Matrix Geometric Mean on Riano →

More in Linear Algebra