Approximation of functions: Optimal sampling and complexity | Synapse