Giter Site home page Giter Site logo

coffee4meplz / nmr_qubitcontrol Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 43.21 MB

MATLAB Code for Fourier Series Modulation (and optimization) of Radio frequency pulses in NMR Quantum Information Protocols.

Home Page: https://www.quantumufabc.org/

Python 4.89% MATLAB 94.36% Mathematica 0.75%
fourier-methods nmr noise-suppression optimization-algorithms quantum-information

nmr_qubitcontrol's Introduction

NMR Qubit Control MATLAB Code

Overview

This repository contains MATLAB scripts for controlling qubits using Nuclear Magnetic Resonance (NMR) techniques, focusing on modulated radiofrequency pulses (mostly for Fourier Series modulation and optimization of Fourier coefficients), Quantum Process Tomography, and noise analysis in quantum systems. The code is based on extensive research conducted in the field of Quantum Information Processing using NMR, as detailed in the accompanying Master's thesis. The codes in this repository where developed at UFABC (Federal University of The São Paulo ABC) at the Quantum information Lab and financed by CAPEs . More details are provided in the MasterThesis_TheoryForModulatedPulses_GustavoCafe.pdf file.

To choose a pulse, one has to declare the PulseMod structure and fill in the desired pulse parameters, then call the desired type of optimization. One can optimize only the best RF generator maximum power, or modulate only the Phase (while amplitude is constant), or modulate both Phase and amplitude. More details in the file TUTORIAL_ModulatedPulses.m.

Example of Modulated Pulse by Fourier series

Modulated pulse

In the image above the Phase (blue plot) and the Amplitude (orange plot) of the Radiofrequency pulse are modulated by Fourier series. One can see that the resulting function can be very arbitrary in shape.

Files of interest in the Repository

  1. TUTORIAL_ModulatedPulses.m
  2. modulados_HomQbits_Par_withNoise.m
  3. genChoi_map_exp.m
  4. MasterThesis_TheoryForModulatedPulses_GustavoCafe.pdf

Details on each one of the files of interest


TUTORIAL_ModulatedPulses.m

This tutorial script introduces modulated pulses in qubit control and serves as a tutorial for the modulados_HomQbits_Par_withNoise.m file.

Key Concepts:

  • Fundamentals of pulse modulation for qubit control.
  • Practical MATLAB implementation in modulados_HomQbits_Par_withNoise.m and result analysis.

modulados_HomQbits_Par_withNoise.m

This advanced script applies modulated pulses to homogenous qubits with added noise, it is the main file of interest, and is used by the tutorial file. In it there is an embedded optimization routine that finds modulated pulses by Fourier Series optimization. It demonstrates noise simulation and its impact on qubit control for various systems and molecules (chloroform, trifluor, etc.). Care should be taken for the use of diferent systems, i.e., heteronuclear and homonuclear.

Features:

  • Noise simulation in quantum systems.
  • Techniques for controlling heteronuclear and homonuclear qubits in noisy environments.

genChoi_map_exp.m

This script is for generating the Choi matrix from experimental data, i.e. from experimental Quantum Process Tomography (QPT). It directly links to the concepts discussed in the master's thesis, particularly the challenges and methodologies in QPT and noise analysis in NMR quantum information protocols.

Focus Areas:

  • Generating Choi matrices from experimental quantum process tomographies.
  • Understanding the implications of noise and imperfections in quantum systems.

How to Use

  1. Clone or download this repository to your local machine.
  2. Open MATLAB and navigate to the downloaded scripts.
  3. Start with TUTORIAL_ModulatedPulses.m for basic concepts.
  4. Proceed to modulados_HomQbits_Par_withNoise.m and genChoi_map_exp.m for advanced topics and practical applications.

Contributing

Contributions to enhance, optimize, or expand the capabilities of this repository are welcome. Please ensure that your contributions are well-documented and include tests or examples.

License

This project is open-sourced, developed at UFABC (Federal University of The São Paulo ABC) at the Quantum information Lab and financed by CAPEs .

nmr_qubitcontrol's People

Contributors

coffee4meplz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.