4
$\begingroup$

Hi, I need to integrate a function on an n-dimensional sphere surface. One way is to use the triangle function like: http://en.wikipedia.org/wiki/N-sphere#Spherical_volume_element, however, it is too complex, do you have any idea how to solve it?

My problem is $\int_{\|{\bf U}\| = 1} \sqrt{ {\bf U}^T {\bf M} {\bf U} } d u_1 \ldots d u_n$, where ${\bf M}$ is a positive semidefinite matrix.

$\endgroup$
4
  • 1
    $\begingroup$ You can assume that $\bf{M}$ is diagonal, because orthogonal group acts on a sphere in a measure-preserving way, but that doesn't help, because even in two-dimensional case you end up with an elliptic integral. $\endgroup$ Commented Jul 22, 2012 at 9:33
  • $\begingroup$ You may get a better response at e.g. math.stackexchange.com, as MO is for questions of research interest (see the FAQ for more suggestions). $\endgroup$
    – David Roberts
    Commented Jul 22, 2012 at 10:44
  • $\begingroup$ It's still a nontrivial problem to integrate this numerically. If I did this right it comes down to an elementary multiple of the hyperelliptic integral $$ \int_0^\infty \left[ 1 - \det(1+{\bf M}t^2)^{-1/2} \right] \frac{dt}{t^2}. $$ By the way, the notation $du_1 \cdots du_n$ for the integration element is misleading: it suggests an $n$-dimensional integral, but $\|{\bf U}\|^2 = 1$ is an $n-1$-dimensional manifold. $\endgroup$ Commented Jul 22, 2012 at 15:21
  • $\begingroup$ One possible way is to use Monte Carlo method. $\endgroup$
    – Andrew
    Commented Jul 22, 2012 at 15:25

1 Answer 1

2
$\begingroup$

An analytic expression is given in my paper http://arxiv.org/pdf/math/0403375.pdf (see page 6) in terms the Lauricella hypergeometric function. Note that the $n$-dimensional integral is hopeless to evaluate numerically by Monte-Carlo method ("the curse of dimensionality"), whereas the hypergeometric function is, at the most primitive, expressed as a one-dimensional integral, so numerical evaluation is very fast.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .