vole
python-qubit-setup
vole | python-qubit-setup | |
---|---|---|
1 | 4 | |
6 | 8 | |
- | - | |
4.5 | 10.0 | |
6 months ago | over 6 years ago | |
Rust | C++ | |
Mozilla Public License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vole
-
Ask HN: Should I publish my research code?
I've posted a huge amount of academic code (I've linked to a small number at the end). I think you should, but it won't help advance your career immediately. However, I still think it's better for science.
What is useful is if you can produce code people can build on and do their own cool stuff with -- then they will cite you. However, getting something to a state where it is tested for all reasonable inputs, has some basic docs, etc. is a hard untaking.
https://github.com/minion/minion (C++ constraint solver)
https://github.com/stacs-cp/demystify (Python puzzle solver)
https://github.com/peal/vole (Rust group theory solver)
python-qubit-setup
-
Interfaces for Prototyping Hardware
I wrote the whole UI for controlling my quantum computing experiments in PyQT, it was super easy and very performant, my former lab is still using it to control all their quantum mechanics experiments. Before that they used LabView but even though Python is a bit more cumbersome to write interfaces in it's much more powerful for data analysis and management, so it quickly replaced LabView. The code's on Github [1,2]. Also, it's quite easy to write low-level libraries in C or C++ (or Rust, I guess) for stuff that needs to be really fast, you can e.g. easily share a memory buffer with numpy to pass data to Python, which we did for data acquisition tasks that were not performant enough in Python.
1: https://github.com/adewes/python-qubit-setup
-
Ask HN: How are quantum circuits constructed on cloud-based quantum computers?
Here's some code I wrote 12 years ago, which implements Grover's algorithm on a superconducting quantum computer [1]. This is not using a quantum algorithm compiler (which didn't exist at the time), all pulses are handcrafted. In principle it's rather simple, for each operation you want to perform you add the necessary pulse sequence, which can be either microwave pulses on each of the qubits (which drive the qubits along the x- or y-axis Bloch sphere), or voltage pulses in the qubit fluxlines (which drive the qubits along the z-axis of the Bloch sphere and/or put them in resonance with each other so they can interact). Finally, you would add readout pulses to read the qubit state at the end of the algorithm.
The pulse sequences then get loaded into arbitrary waveform generators and many other parameters are set like microwave generator frequencies. Typically you also perform a tune-up of the system to determine the correct timings and qubit frequencies (as all microwave components and the qubits themselves tend to slightly drift over time).
Today it's much more complicated as you can optimize each gate sequence individually and in conjunction to get higher fidelity, but in principle you can build up any algorithm uses these basic blocks above.
1: https://github.com/adewes/python-qubit-setup/blob/master/scr...
-
Extending Python with Rust
A long time (10 years) ago I wrote some custom C++ code to perform relatively simple arithmetic operations on very large arrays, which was considerably slower in numpy for some reason [1]. As I said that was long ago so maybe Numpy has improved by now, but back then there was a significant penalty when doing these operations directly in Python using Numpy, even though they were only a handful of things (e.g. calculate asin(x)+bcos(y) on some large array), so I didn't expect much overhead from going back and forth between F.
1: https://github.com/adewes/python-qubit-setup/blob/master/lib...
- Ask HN: Should I publish my research code?
What are some alternatives?
SuperConductor - A playout client for Windows/Linux/macOS that will let you control CasparCG Server, BMD ATEM, OBS Studio, vMix, OSC-compatible devices, HTTP (REST)-compatible devices, and more!
fastplotlib - Next-gen fast plotting library running on WGPU using the pygfx rendering engine
superconductor - A tool to simulate superconducting circuits, comparable to SPICE.
crux - Software toolkit for molecular phylogenetic inference
graphics_wgpu
gradesta - Stitchable spreadsheets for the 21st century
pygfx - A python render engine running on wgpu.
numexpr - Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more
vswhere - Locate Visual Studio 2017 and newer installations
demystify