Quantum Simulation: Upper And Lower Bounds