This means that the experimental quantum computers are reaching a point where they can model physics that is too complex for the most powerful conventional supercomputers.

Quantum simulators are a special type of quantum computer that uses qubits to simulate complex interactions between particles. Qubits are the informational medium of quantum computers, analogous to a bit in an ordinary computer. Yet rather than existing as a 1 or 0, as is the case in a conventional bit, a qubit can exist in some superposition of both states at the same time.

So far boffins have only managed quantum simulators consisting of a few dozen qubits. But the University of Maryland and National Institute of Standards and Technology team, who were behind one of the two new papers, the researchers were able to create a quantum simulator with 53 qubits.

These qubits are made from ytterbium ions and are strung together in rows. In the quantum simulator, lasers are used to manipulate the qubits in a vacuum chamber to simulate quantum interactions between particle of quantum magnetism.

Each of the qubits was a laser cooled ytterbium ion. Each ion had the same electrical charge, so they repelled one another when placed in close proximity. A system created by Monroe and his colleagues used an electric field to force the repelled ions into neat rows.

At this point, lasers are used to manipulate all the ytterbium qubits into the same initial state. Then another set of lasers is used to manipulate the qubits so that they act like atomic magnets, where each ion has a north and south pole. The qubits either orient themselves with their neighbouring ions to form a ferromagnet, where their magnetic fields are aligned, or at random. By changing the strength of the laser beams that are manipulating the qubits, the researchers programed them to a desired state (in terms of magnetic alignment).

53 qubits can be used to simulate over a quadrillion different magnetic configurations of the qubits, a number that doubles with each additional qubit added to the array