  We give a polynomial time approximation scheme (PTAS) for computing the
supremum of a Gaussian process. That is, given a finite set of vectors
$V\subseteq\mathbb{R}^d$, we compute a $(1+\varepsilon)$-factor approximation
to $\mathop {\mathbb{E}}_{X\leftarrow\mathcal{N}^d}[\sup_{v\in V}|\langle
v,X\rangle|]$ deterministically in time $\operatorname
{poly}(d)\cdot|V|^{O_{\varepsilon}(1)}$. Previously, only a constant factor
deterministic polynomial time approximation algorithm was known due to the work
of Ding, Lee and Peres [Ann. of Math. (2) 175 (2012) 1409-1471]. This answers
an open question of Lee (2010) and Ding [Ann. Probab. 42 (2014) 464-496]. The
study of supremum of Gaussian processes is of considerable importance in
probability with applications in functional analysis, convex geometry, and in
light of the recent breakthrough work of Ding, Lee and Peres [Ann. of Math. (2)
175 (2012) 1409-1471], to random walks on finite graphs. As such our result
could be of use elsewhere. In particular, combining with the work of Ding [Ann.
Probab. 42 (2014) 464-496], our result yields a PTAS for computing the cover
time of bounded-degree graphs. Previously, such algorithms were known only for
trees. Along the way, we also give an explicit oblivious estimator for
semi-norms in Gaussian space with optimal query complexity. Our algorithm and
its analysis are elementary in nature, using two classical comparison
inequalities, Slepian's lemma and Kanter's lemma.
