Skip to content

A Google Summer of Code 2021 Project Repository. This project aims to decipher quantum states of matter at low-temperatures via NMR simulations.

License

Notifications You must be signed in to change notification settings

Anantha-Rao12/Decoding-Quantum-States-with-NMR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Decoding Quantum States through
Nuclear Magnetic Resonance

Contributors License: MIT LinkedIn Twitter

A research project that uses Machine Learning techniques to study and understand the electronic properties of low-temperature materials via simulations of Nuclear Magnetic Resonance.

gsoc@ml4sci

Update: I recently wrote a blog post to summarize my work at GSoC'21 on TowardsDataScience.

Table of Contents

About the Project

At low temperatures, many materials transition into an electronic phase which cannot be classified as a simple metal or insulator. Novel quantum phases of matter like superconductors and spin liquids are harder to study due to their fragile nature, making non-intrusive and indirect measurements important. Scientists hence use Nuclear Magnetic resonance (NMR) to probe these materials externally. NMR is an experimental technique mainly used in quality control and scientific research to determine the molecular structure, purity, and content of any sample. The GSoC project idea is to explore the connection between electronic phases and nuclei in these materials via simulations of NMR. We analyze the time-evolution of nuclear spins due to external magnetic pulses, and classify them using suitable Machine Learning models. We also aim to optimize an applied magnetic pulse sequence to best estimate a specific physical parameter from a given material.

Installation

  1. Clone this Github repository using the following command in your command line/terminal :
    git clone https://github.com/Anantha-Rao12/Decoding-Quantum-States-with-NMR.git

  2. Create a Python (>=3.2) virtual environemnt and call it 'Decoding-Quantum-States-with-NMR-env'.

  • On Linux/ MacOS : python3 -m venv Decoding-Quantum-States-with-NMR-env
  • On Windows : python -m venv Decoding-Quantum-States-with-NMR-env

A new directory called Decoding-Quantum-States-with-NMR-env will be created.

  1. Activate the Virtual Environment by running:
  • On Linux/ MacOS: source Decoding-Quantum-States-with-NMR-env/bin/activate
  • On Windows: .\Decoding-Quantum-States-with-NMR-env\Scripts\activate
  1. In the new virtual environemnt , run pip3 install -r requirements.txt to install all dependencies. On Windows, pip3 should be replaced by pip.

You are ready to start experiemnting with the code!

Dataset

In atomic and condensed matter physics, scientists use nuclear magnetic resonance (NMR) as a non-intrusive method to understand the atomic composition and electronic structure of materials. This summer, we have worked to extend NMR to the sensing of strong electronic spin-spin correlations and non-dissipative spin-spin interactions between nuclei. To study a wide range of physical phenomenon, we simulate the behaviour of a typical NMR spin echo experiment on a lattice of 2D spins with different kinds of inter-nuclei interactions and coupling-strengths. We employ a Gaussian, RKKY and a Power-Law type kernel for inter-nuclei interactions to mimic long-range (from gapped spin excitations) and short-range (from gapless spin excitations) interactions. Since the average magnetization measured during the spin echo is a function of the local interaction types and the electronic susceptibility of the underlying material, we aim to understand the material type and predict the coupling strengths from machine learning classification and regression models based solely on the shape of the echo curve. The dataset we use is the magnitude of average nuclear magnetization as a function of time, as measured during multiple spin-echo simulations.

NMR simulation Dataset

Contributing

The main point of open source projects is to create valuable and accessible open source software to be used by all and build by all. I would love to receive suggestions and contributions. To contribute you can:

  1. Fork this repository
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

If you find issues with anything, please open an issues under the Issues tab.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

DM Anantha S Rao - @anantharao00
For clarifications and queries -- Anantha Rao @2021

Project Link: https://github.com/AnanthaRao-12/Decoding-Quantum-States-with-NMR

Results

We build both classification models to classify the magnetization time-series into the three interaction types and regression models to predict interaction parameters (αx, αz, ξ) or the total kernel integral over the entire set of spins (ΣK(r(i,j)). We used ensemble learning and combined many weak decision tree learners to build a random-forest classifier/regressor. Furthermore, we extracted the essential features from the time-series and frequency domain data to understand the sub-sections during the echo-pulse that are most useful for understanding the material. More details about feature extraction methods and ML techniques are available in the /Tutorial-nbs section.

  • Using machine learning, we were able to classify long-range interaction types (power law kernel) and short-range interaction types (gaussian and RKKY kernel type) with an F1 score of ~0.88
  • With knowledge of the type of interaction, we were able to predict the value of the kernel integral with an R^2 of ~0.8

Future Work

  • Based on the above promising results, we would like to further explore if deep learning can offer better performance on classification/regression without compromising the model’s interpretability. Although this would entail the need for larger datasets and computing power, the new insights garnered will be very useful in discerning new physics and further contribute to harnessing the data revolution to build and explore novel quantum materials.
  • We would also like to explore optimizing and tuning of the applied magnetic pulses in silico to design an experiment that can predict the coupling-strengths with higher accuracy.

I hope this project and auxillary scripts benefit someone who is trying to solve a similar problem. Although not the perfect solution, I hope these scripts can give you an idea of how to approach the problem. If you found something helpful, do consider starring the repository, creating an issue or just drop a message!

Mentors

Mentor Organization

Machine Learning for Science (ML4SCI)

Dr. Stephen Carr, Prof Vesna Mitrovic, Prof Chandrasekhar Ramanathan, Prof Brad Marston

A special token of gratitude to Dr Stephen Carr for his invaluable feedback, suggestions and advice on every aspect of the project and guiding me through the very process of scientific research.

Project Proposal

Have a good day!

About

A Google Summer of Code 2021 Project Repository. This project aims to decipher quantum states of matter at low-temperatures via NMR simulations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published