  Since the discovery of adiabatic quantum computing, a need has arisen for
rigorously proven bounds for the error in the adiabatic approximation. We
present in this paper, a rigorous and elementary derivation of upper and lower
bounds on the error incurred from using the adiabatic approximation for quantum
systems. Our bounds are often asymptotically tight in the limit of slow
evolution for fixed Hamiltonians, and are used to provide sufficient conditions
for the application of the adiabatic approximation. We show that our
sufficiency criteria exclude the Marzlin--Sanders counterexample from the class
of Hamiltonians that obey the adiabatic approximation. Finally, we demonstrate
the existence of classes of Hamiltonians that resemble the Marzlin--Sanders
counterexample Hamiltonian, but also obey the adiabatic approximation.
