Machine Learning & Quantum Physics
In my Quantum Mechanics class, we discussed how to solve the schrodinger equation. In this post, we explain and discuss the schrodinger equation and the numeric solutions for solving an equation using deep learning.
Today we will discuss:
- Schrodinger Equation
- Analytical solutions to the Schrodinger Equation
- How to use principles of Deep Learning
- Relevant papers in the field
Part 0. Prelude
Quantum theory is the most “succesful quantitative theory in nature”. It touches upon everything from optics that power the internet to the interactions of electrons. In the past twenty years, massive strides have been made in quantum physics as well as machine learning — this article today seeks to demystify an important example of it.
Part I. Schrodinger Equation
Imagine being a small sub atomic particle. Size: Tiny! But, the significance: massive!
Just like Newton’s laws describes the behaviour of particles at scales bigger than you, there is the Schrodinger equation to describe the behaviour of how tiny particles, like you, behave.
The wave function describes all the information about the particle: it’s position, momentum, energy and so on! We can find out how the wave function changes with time. Most notably, the wave function is a postulate — an assumption if you say — of quantum mechanics; a given that we allow.
The Schrodinger Equation (for non-relativistic speeds) boils down to become:
The general form is:
Part II: Solving the Schrodinger Equation
The hamiltonian represents the total energy in the system and it is the operator as it acts upon the wave function. To solve the the time-dependent probelms where there is a time evolution of quantum mechanical systems, we can use the following steps:
the analytical path
1. Diagonalize the Hamiltonian (find the Eigenvalues E_n and the Eigenvectors E_n>)
2. Write the wave function at time t = 0 in terms of the energy eigenstates |En>
3. Multiply each eigenstate coefficient by e^(-iE_n t/ℏ) to get |Ψ(t)>
4. Calculate the probability P = |<A |Ψ(t)>|²
Part III: Deep Learning Introduction
From my experience implementing and constructing machine learning systems, machine learning seeks to decrumple a paper — if you will. To decode the jumbled mess of information from a crumpled piece of paper and be able to see things clearly.
Then we can “uncrumple” the ball to find new patterns written within the text:
In essence, Machine Learning is used to elucidate these patterns and discern broader information from them. It assumes nothing of the dataset and seeks to develop its own clean understanding of the patterns presented before it.
The goal? Can we develop a numerical approximation of these equations without suffering from the curse of dimensionality? Researchers have used variational Monte Carlo approximations for the quantum body problem before to tackle such but in this case, can we use deep learning to solve for a numerical approximation.
Although more understanding needs to be taken into consideration, there could be differences in the Monte Carlo approximation and the deep learning solution. Examining “Solving the Fokker-Planck Equation using Deep Learning,” there is clear differences in the numerical solutions presented by each method. This is seen below in the figure:
Xu et. al. found that there is a difference between the results of the Monte Carlo methods and the Deep Learning methods.
Part IV: Deep Learning of The Schrodinger Equation
Solving the schrodinger equation is a result of using gradient descent, and generating a number of data points. In essence, what several researchers have established is the following:
the numerical path
1. generate a training & testing set [using python linspace function]
2. choose a baseline for a metric to beat [Mean Square Error]
3. iterate and reiterate using gradient descent to optimize for the least Mean Square Error
The code below comes from 12qw1q2w’s work and seeks to understand it better. It is not my own code, but by replicating it, I wish to understand the overall architecture.
Then specifying the learning rate, number of steps and dimension size.
Then setting the wave function and the energy levels as an interatable quantity:
Creating a derivative function and a integral function
The energy function is molded after the formula
This is then updated and drawn to a new figure:
Then running the gradient descent across all events:
And plotting the figure across:
The accepted wave function is as follows:
The wave function found by the program:
Plotting it all together:
Part V: Discussion
Using a solver to create a pretty close numerical solution to the solution to the schrodinger equation, this article seeks to understand the intersection of machine learning and quantum physics.
Next steps could include solving for the energy levels for different potentials and wells.
Other researchers can use these values and results from machine learning to understand quantum chemistry better such bond lengths and the properties of water. In condensed matter physics, one can predict phase transitions using supervised machine learning in the ising model.
Images from:
Further Reading:
I recommend checking out