**Efficient quantum algorithm for simulating state evolution on a quantum computer**

There are three main applications of quantum computer algorithms: the hidden sub-group problem, search problems, and our interest here: universal quantum simulation. We develop an efficient algorithm for simulating quantum evolution for an arbitrary and a prior unknown Hamiltonian over any time t: for n qubits and at most a constant number of nonzero entries (sparse) in each column of the Hamiltonian matrix, with norm bounded by a constant, the cost of the simulation is nearly linear in t and nearly constant in n, and we prove that there cannot be an algorithm that is sublinear in t. Our work provides a firm algorithmic foundation for studying a quantum computer as a simulator, especially with respect to assessing and optimizing the resources required for the simulation.