We are experiencing the dawn of a new, exciting technology: quantum technology. From ultra-precise measurements and unbreakable encryption to quantum computers, these tools are set to change humanity forever. Quantum technology also comes with the big challenge of being able to manipulate the very sensitive components, which even supercomputers will be challenged in calculating how to control.

Take the following example: you have a set of electrons, arranged one next to each other, forming a chain. The electrons have a magnetic moment, called spin, which can point up, down and everything in-between. Because the electrons are interacting, if you change where the spin of one of them is pointing, the other ones will also change; think of it as an array of magnets; if you wiggle one of them the rest will also wiggle in turn. In theory, you can use this electron chain to transmit information: the spin pointing down can represent 0 in binary while pointing up will represent 1. You can use magnetic fields to manipulate the spin of the electrons close to you and a person at the other end of the chain can measure the oscillating spin of the electrons close to them to read the message.

**Spin chain example:**

What type of magnetic field is needed for a particular message is an incredibly hard-to-answer question because of the complex interactions between the electrons and the noise induced by the environment. If you supress the interaction with the environment and any interaction between not-neighbouring electrons, you will make the calculations easier, but you will still need powerful computers to get the answer. Worst of all, the more electrons you have in your chain, the harder it will be for the computer to find the answer. It would take several days for just a few tens of particles. This is because the electron is represented mathematically by a complex two-dimensional space, so each one that you add will increase the dimensions of the problem, making it exponentially harder to solve; this is known in computer sciences as the curse of dimensionality. To put it in perspective, a sliding piece puzzle (2D) will take you very little time to solve, even if you haven’t seen one before. A Rubik’s Cube (3D) will be slightly harder, but with practice you will be able to speed-solve it within reasonable time. A four-dimensional puzzle will be very hard just to imagine, let alone to solve; there is no need to even mention a five-dimensional one.

**Quantum technology also comes with big challenges, even the power of supercomputers will be tested.**

My colleagues, Dr Dmitry Savostyanov (University of Brighton), Dr Sergey Dolgov (University of Bath) and I are developing smarter algorithms that would allow the control of quantum technology using reasonable computational power. Our code separates the system into lower-dimension entities and keeps it in this format through all the calculations to speed up the solving. Going back to our previous example, this will be like dividing the Rubik’s Cube into individual faces, solving them separately and then putting them back together. To find the solution, we use a mathematical tool called gradient ascent optimization. To understand how it works, imagine the following scenario: you are lost in a forest (representing all possible solutions) and you want to find the highest point (the optimal one); it is dark, so you can only see your immediate surroundings. You can walk in an outwards spiral, which guarantees you will eventually find the highest point, but if the forest is very big this will be a terrible idea because it will take you a ridiculous amount of time to cover it completely. Walking randomly is not a much better strategy, because it does not ensure you will reach your goal. In the gradient ascent technique, you will look around you, compare your current height with some points in your vicinity and calculate which is the direction of maximum growth of the height (the gradient) and then you take a step in that direction. You repeat this routine, look around, calculate, then step, over and over until you find the highest point, which you will be sure about because every direction will have a negative gradient (in other words, every point around you will be at a lower level). By applying a more complex strategy, like adjusting the size of your steps, you can speed up your search and make sure that you will not be stuck at the top of a small pile.

Our algorithm is able to work for any kind of system (electrons, atoms, quantum dots, etc), as long as all the interactions are set properly. It does have its limitations, but so far it has shown remarkable potential, allowing us to perform calculations that previously would have seemed impossible. We are now looking into applying the algorithms to more realistic systems to compare our results with other theoretical and experimental techniques.