blob: 7091a611170a6e3e271a447e64dd26ab1c52c3c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
## TODO
### C Rewrite Polish
* Win32 threads branch in `src/parallel.c` (Windows currently falls back to serial)
* Persistent thread pool instead of per-gate fork-join in `psi_parallel_for` (avoid thread spawn overhead)
* Verify the x86 SIMD paths (`apply_avx2`/`apply_avx512` in `src/maths/simd.c`) on real AVX2/AVX-512 hardware — only the NEON path has been run
* `tools/check-style.sh` (grep-based) for the rules clang-format/clang-tidy can't enforce: no `typedef` on structs, `double`-only (no `float`), stdint over `int`/`long`, `sizeof *obj` allocation idiom
* `DensityMatrix` Display/Debug pretty-printer (skipped during the port; cosmetic)
### Noise Channels & Open Quantum System Modelling
* Depolarising channel
* Amplitude damping
* Phase damping
* Thermal relaxation (T<sub>1</sub>/$T_2$)
* Readout noise
* Kraus operator framework
* Pauli / Lindblad evolution engine
* Stabiliser noise models
### Density Matrix Backend
* Optimised density matrix propagation
* Hybrid wave-function / density-matrix simulation modes
### GPU Offload, Caching & Scheduling
* State caching on GPU
* Tensored simulation on device
* Batched execution engine
* Device-side gate fusion
### Tensor Network Simulation Backend
* Tensor slicing
* Contraction ordering
* Edge-cut optimisation
### Analogue Evolution
* Suzuki–Trotter time-evolution models
|