InstrumentControl.jl
A Julia package for qubit measurement and analysis.
Installation
- Install National Instruments VISA libraries (tested with v15.0.1 on Windows 10)
- Install AlazarTech digitizer drivers and shared libraries (may need to contact AlazarTech) if using Alazar digitizer
- Install VISA.jl package
- Install Alazar.jl package
- Install KeysightInstruments.jl package
- Install ICCommon.jl package
- Install ICDataServer.jl package and follow it's installation procedure
- Install InstrumentControl.jl package
Example Notebooks
InstrumentControl.jl relies on having physical instruments, communication with a database set up by ICDataServer.jl, and various files with machine specific configuration information in order to run. As such, we provide some example notebooks in order to showcase this package's functionality.
# put example notebooks here
New to Julia
This documentation seeks to provide a higher-level description of the architecture and control-flow of the code, with references to the source code only to facilitate explanation. If the user seeks to understand the source code, while this documentation is a useful aid, aptitude and understanding of the Julia language will be necessary to fully understand it's implementation in a line by line level. For those who have a background in programming, but not in Julia, below is a list of Julia features used in the source code which might not be featured in other languages, along with links to the Julia docs explaining them. It is our hope that, with the reading listed below and this documentation, that any reader with some background in programming would be able to satisfactorily understand the source code:
-
Types
- Julia Types in general
- Parametric Types
- Singleton Types
-
Functions and Methods
- Anonymous Functions
- Parametric Methods
- Vararg Functions
-
Macros and Metaprogramming
-
Metaprogramming in general (also describes the
Symbol
type and expressions) - Macros
-
Tasks
- Dynamic Scheduling of Tasks
-
Miscellaneous