  We present a new numerical method for accurate computations of solutions to
(linear) one dimensional Schr\"odinger equations with periodic potentials. This
is a prominent model in solid state physics where we also allow for
perturbations by non-periodic potentials describing external electric fields.
Our approach is based on the classical Bloch decomposition method which allows
to diagonalize the periodic part of the Hamiltonian operator. Hence, the
dominant effects from dispersion and periodic lattice potential are computed
together, while the non-periodic potential acts only as a perturbation. Because
the split-step communicator error between the periodic and non-periodic parts
is relatively small, the step size can be chosen substantially larger than for
the traditional splitting of the dispersion and potential operators. Indeed it
is shown by the given examples, that our method is unconditionally stable and
more efficient than the traditional split-step pseudo spectral schemes. To this
end a particular focus is on the semiclassical regime, where the new algorithm
naturally incorporates the adiabatic splitting of slow and fast degrees of
freedom.
