  Loading classical data into quantum computers represents an essential stage
in many relevant quantum algorithms, especially in the field of quantum machine
learning. Therefore, the inefficiency of this loading process means a major
bottleneck for the application of these algorithms. Here, we introduce two
approximate quantum-state preparation methods for the NISQ era inspired by the
Grover-Rudolph algorithm, which partially solve the problem of loading real
functions. Indeed, by allowing for an infidelity $\epsilon$ and under certain
smoothness conditions, we prove that the complexity of the implementation of
the Grover-Rudolph algorithm without ancillary qubits, first introduced by
M\"ott\"onen $\textit{et al}$, results into $\mathcal{O}(2^{k_0(\epsilon)})$,
with $n$ the number of qubits and $k_0(\epsilon)$ asymptotically independent of
$n$. This leads to a dramatic reduction in the number of required two-qubit
gates. Aroused by this result, we also propose a variational algorithm capable
of loading functions beyond the aforementioned smoothness conditions. Our
variational Ansatz is explicitly tailored to the landscape of the function,
leading to a quasi-optimized number of hyperparameters. This allows us to
achieve high fidelity in the loaded state with high speed convergence for the
studied examples.
