  We present algorithmic, complexity, and implementation results on the problem
of sampling points from a spectrahedron, that is the feasible region of a
semidefinite program. Our main tool is geometric random walks. We analyze the
arithmetic and bit complexity of certain primitive geometric operations that
are based on the algebraic properties of spectrahedra and the polynomial
eigenvalue problem. This study leads to the implementation of a broad
collection of random walks for sampling from spectrahedra that experimentally
show faster mixing times than methods currently employed either in theoretical
studies or in applications, including the popular family of Hit-and-Run walks.
The different random walks offer a variety of advantages , thus allowing us to
efficiently sample from general probability distributions, for example the
family of log-concave distributions which arise in numerous applications. We
focus on two major applications of independent interest: (i) approximate the
volume of a spectrahedron, and (ii) compute the expectation of functions coming
from robust optimal control. We exploit efficient linear algebra algorithms and
implementations to address the aforemen-tioned computations in very high
dimension. In particular, we provide a C++ open source implementation of our
methods that scales efficiently, for the first time, up to dimension 200. We
illustrate its efficiency on various data sets.
