/nv-adaptive

Project exploring adaptively choosing experiments for the NV center in diamond

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Hamiltonian Learning with Online Bayesian Experiment Design in Practice

This repository accompanies the paper with the above title, providing the data and source code that was used for the project.

About the code used

Code is written in python. Most structures and objects are defined in .py python modules. Code is run and figures are generated in jupyter notebooks, .ipynb, which import these modules.

The exception is derivations and the appendix plot to do with effective strong measurements (ESM), which are contained in a Mathematica notebook, src/EffectiveStrongMeasurements.nb.

Python Environment

A conda environement file environment.yml listing dependencies is included. We recommend using a conda environment to run code from this repository, created as follows:

$ conda install nb_conda
$ conda env create -f environment.yml

Index

By Figure Number

A manifest is provided below for figures generated by code (as opposed to those drawn statically in inkscape) that details where each can be found in the source tree of this repository.

  • Figure 3: src/risk-plots.ipynb
  • Figure 4: src/nv-adaptive-real-analysis.ipynb
  • Figure 5: src/nv-adaptive-real-analysis.ipynb
  • Figure 6: (appendix) src/nv-adaptive-real-analysis.ipynb
  • Figure 7: (appendix) src/nv-adaptive-real-analysis.ipynb
  • Figure 8: (appendix) src/nv-adaptive-real-analysis.ipynb
  • Figure 9: (appendix) src/nv-adaptive-real-analysis.ipynb
  • Figure 10: (appendix) src/EffectiveStrongMeasurements.nb
  • Figure 11: (appendix) src/full-risk-heuristic.ipynb