  The ability to efficiently load functions on quantum computers with high
fidelity is essential for many quantum algorithms. We introduce the Fourier
Series Loader (FSL) method for preparing quantum states that exactly encode
multi-dimensional Fourier series using linear-depth quantum circuits. The FSL
method prepares a ($Dn$)-qubit state encoding the $2^{Dn}$-point uniform
discretization of a $D$-dimensional function specified by a $D$-dimensional
Fourier series. A free parameter $m < n$ determines the number of Fourier
coefficients, $2^{D(m+1)}$, used to represent the function. The FSL method uses
a quantum circuit of depth at most $2(n-2)+\lceil \log_{2}(n-m) \rceil +
2^{D(m+1)+2} -2D(m+1)$, which is linear in the number of Fourier coefficients,
and linear in the number of qubits ($Dn$) despite the fact that the loaded
function's discretization is over exponentially many ($2^{Dn}$) points. We
present a classical compilation algorithm with runtime $O(2^{3D(m+1)})$ to
determine the FSL circuit for a given Fourier series. The FSL method allows for
the highly accurate loading of complex-valued functions that are
well-approximated by a Fourier series with finitely many terms. We report
results from noiseless quantum circuit simulations, illustrating the capability
of the FSL method to load various continuous 1D functions, and a discontinuous
1D function, on 20 qubits with infidelities of less than $10^{-6}$ and
$10^{-3}$, respectively. We also demonstrate the practicality of the FSL method
for near-term quantum computers by presenting experiments performed on the
Quantinuum H$1$-$1$ and H$1$-$2$ trapped-ion quantum computers: we loaded a
complex-valued function on 3 qubits with a fidelity of over $95\%$, as well as
various 1D real-valued functions on up to 6 qubits with classical fidelities
$\approx 99\%$, and a 2D function on 10 qubits with a classical fidelity
$\approx 94\%$.
