pygfx
python-qubit-setup
pygfx | python-qubit-setup | |
---|---|---|
3 | 4 | |
357 | 8 | |
2.6% | - | |
8.8 | 10.0 | |
3 days ago | over 6 years ago | |
Python | C++ | |
BSD 2-clause "Simplified" License | - |
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.
pygfx
-
Emerging Rust GUI libraries in a WASM world
https://github.com/kushalkolar/fastplotlib
Alternatively, try pygfx for ThreeJS graphics in Python leveraging wgpu. It works great in Notebooks through notebook-rfb. https://github.com/pygfx/pygfx
If you're adventurous, figure out how to make pygfx work with webgpu via wasm
-
Chrome Ships WebGPU
FYI you can already use webgpu directly in python, see https://github.com/pygfx/wgpu-py for webgpu wrappers and https://github.com/pygfx/pygfx for a more high level graphics library
-
Extending Python with Rust
Rather than using matplotlib, you could try either pygfx (https://github.com/pygfx/pygfx) or fastplotlib (https://github.com/kushalkolar/fastplotlib) to make higher performance graphics using Python.
However, it won't solve your problem of Python not being fast enough doing the calculations.
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?
SHA256-WebGPU - Implementation of sha256 in WGSL
fastplotlib - Next-gen fast plotting library running on WGPU using the pygfx rendering engine
numexpr - Fast numerical array expression evaluator for Python, NumPy, Pandas, PyTables and more
crux - Software toolkit for molecular phylogenetic inference
graphics_wgpu
vswhere - Locate Visual Studio 2017 and newer installations
superconductor - A tool to simulate superconducting circuits, comparable to SPICE.
three.py - Python 3D library based on three.js and Modern OpenGL