  This paper establishes some of the fundamental barriers in the theory of
computations and finally settles the long-standing computational spectral
problem. That is to determine the existence of algorithms that can compute
spectra $\mathrm{sp}(A)$ of classes of bounded operators $A = \{a_{ij}\}_{i,j
\in \mathbb{N}} \in \mathcal{B}(l^2(\mathbb{N}))$, given the matrix elements
$\{a_{ij}\}_{i,j \in \mathbb{N}}$, that are sharp in the sense that they
achieve the boundary of what a digital computer can achieve. Similarly, for a
Schr\"odinger operator $H = -\Delta+V$, determine the existence of algorithms
that can compute the spectrum $\mathrm{sp}(H)$ given point samples of the
potential function $V$. In order to solve these problems, we establish the
Solvability Complexity Index (SCI) hierarchy and provide a collection of new
algorithms that allow for problems that were previously out of reach. The SCI
is the smallest number of limits needed in the computation, yielding a
classification hierarchy for all types of problems in computational mathematics
that determines the boundaries of what computers can achieve in scientific
computing. In addition, the SCI hierarchy provides classifications of
computational problems that can be used in computer-assisted proofs. The SCI
hierarchy captures many key computational issues in the history of mathematics
including the insolvability of the quintic, Smale's problem on the existence of
iterative generally convergent algorithm for polynomial root finding, the
computational spectral problem, inverse problems, optimisation etc.
