qubasic 0.8.0__tar.gz → 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {qubasic-0.8.0 → qubasic-0.9.0}/CHANGELOG.md +14 -0
  2. {qubasic-0.8.0/qubasic.egg-info → qubasic-0.9.0}/PKG-INFO +55 -1
  3. {qubasic-0.8.0 → qubasic-0.9.0}/README.md +54 -0
  4. {qubasic-0.8.0 → qubasic-0.9.0}/pyproject.toml +1 -1
  5. {qubasic-0.8.0 → qubasic-0.9.0/qubasic.egg-info}/PKG-INFO +55 -1
  6. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic.egg-info/SOURCES.txt +7 -0
  7. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/__init__.py +1 -1
  8. qubasic-0.9.0/qubasic_core/algos2.py +475 -0
  9. qubasic-0.9.0/qubasic_core/benchmarking.py +369 -0
  10. qubasic-0.9.0/qubasic_core/bosonic.py +175 -0
  11. qubasic-0.9.0/qubasic_core/dynamics.py +322 -0
  12. qubasic-0.9.0/qubasic_core/pauliprop.py +130 -0
  13. qubasic-0.9.0/qubasic_core/qec.py +220 -0
  14. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/qol.py +7 -0
  15. qubasic-0.9.0/qubasic_core/qudits.py +154 -0
  16. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/terminal.py +34 -2
  17. {qubasic-0.8.0 → qubasic-0.9.0}/tests/test_qubasic.py +175 -0
  18. {qubasic-0.8.0 → qubasic-0.9.0}/LICENSE +0 -0
  19. {qubasic-0.8.0 → qubasic-0.9.0}/MANIFEST.in +0 -0
  20. {qubasic-0.8.0 → qubasic-0.9.0}/examples/bell.qb +0 -0
  21. {qubasic-0.8.0 → qubasic-0.9.0}/examples/grover3.qb +0 -0
  22. {qubasic-0.8.0 → qubasic-0.9.0}/examples/locc_teleport.qb +0 -0
  23. {qubasic-0.8.0 → qubasic-0.9.0}/examples/sweep_rx.qb +0 -0
  24. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic.egg-info/dependency_links.txt +0 -0
  25. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic.egg-info/entry_points.txt +0 -0
  26. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic.egg-info/requires.txt +0 -0
  27. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic.egg-info/top_level.txt +0 -0
  28. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/__main__.py +0 -0
  29. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/algorithms.py +0 -0
  30. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/analysis.py +0 -0
  31. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/backend.py +0 -0
  32. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/classic.py +0 -0
  33. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/cli.py +0 -0
  34. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/control_flow.py +0 -0
  35. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/debug.py +0 -0
  36. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/demos.py +0 -0
  37. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/display.py +0 -0
  38. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/engine.py +0 -0
  39. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/engine_state.py +0 -0
  40. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/errors.py +0 -0
  41. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/exec_context.py +0 -0
  42. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/executor.py +0 -0
  43. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/expression.py +0 -0
  44. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/file_io.py +0 -0
  45. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/gates.py +0 -0
  46. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/help_text.py +0 -0
  47. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/io_protocol.py +0 -0
  48. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/locc.py +0 -0
  49. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/locc_commands.py +0 -0
  50. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/locc_display.py +0 -0
  51. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/locc_engine.py +0 -0
  52. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/locc_execution.py +0 -0
  53. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/memory.py +0 -0
  54. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/mock_backend.py +0 -0
  55. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/noise_mixin.py +0 -0
  56. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/parser.py +0 -0
  57. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/patterns.py +0 -0
  58. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/profiler.py +0 -0
  59. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/program_mgmt.py +0 -0
  60. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/protocol.py +0 -0
  61. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/scope.py +0 -0
  62. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/screen.py +0 -0
  63. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/state_display.py +0 -0
  64. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/statements.py +0 -0
  65. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/strings.py +0 -0
  66. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/subs.py +0 -0
  67. {qubasic-0.8.0 → qubasic-0.9.0}/qubasic_core/sweep.py +0 -0
  68. {qubasic-0.8.0 → qubasic-0.9.0}/setup.cfg +0 -0
  69. {qubasic-0.8.0 → qubasic-0.9.0}/tests/test_features.py +0 -0
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0 (2026-06-19)
4
+
5
+ Frontier and experimental methods. All offline on Qiskit/Aer/numpy; nothing
6
+ needs a cloud backend or an external simulation engine.
7
+
8
+ ### Added
9
+ - Hamiltonian dynamics and open systems: `HAMILTONIAN` (Pauli sum, plus `ISING`, `HEISENBERG`, `HUBBARD` Jordan-Wigner, and `RYDBERG` builders), `EVOLVE` (Suzuki-Trotter time evolution, verified to fidelity 1.0 against the exact propagator), `LINDBLAD` (RK4 master-equation open-system evolution), and `CHANNEL`/`APPLYCHANNEL` (user-defined CPTP Kraus channels).
10
+ - Quantum error correction: `QEC` (repetition, Steane, Shor codes with self-verified logical operators), an optimal minimum-weight lookup decoder, `LOGICAL_ERROR_RATE` (Pauli-frame Monte Carlo), and `THRESHOLD` sweeps (the repetition crossing lands at p = 0.5).
11
+ - Frontier benchmarking: `XEB` (cross-entropy benchmarking), `QVOLUME` (quantum volume heavy-output test), `RBINT` (interleaved RB), `MIRROR` (mirror benchmarking), `GST` (1-qubit linear-inversion gate-set-style estimate), and entanglement measures `CONCURRENCE` and `NEGATIVITY`.
12
+ - Advanced algorithms: `IQPE` (iterative phase estimation), `AMPEST` (amplitude estimation), `AMPLIFY` (amplitude amplification), `QWALK` (discrete-time quantum walk), `GRAPHSTATE` (graph/cluster states for measurement-based computing), `FEATUREMAP`/`QKERNEL` (quantum-machine-learning encoding and kernels), `SHOR` (order finding and factoring, factors 15 into 3 x 5), and `HHL` (2x2 linear solver).
13
+ - Pauli propagation: `PAULIPROP` estimates Pauli expectation values by Heisenberg-picture backpropagation with weight truncation (exact when nothing is pruned, matching `EXPECT`).
14
+ - Qudit engine: `QUDIT`, `QX`, `QZ`, `QF`, `QSUM`, `QSTATE`, `QMEASURE` for d-level systems (independent of the qubit engine).
15
+ - Bosonic / continuous-variable engine: `BOSONIC`, `DISPLACE`, `SQUEEZE`, `CAT`, `BS`, `BSTATE` for truncated Fock-space modes.
16
+
3
17
  ## 0.8.0 (2026-06-19)
4
18
 
5
19
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qubasic
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Summary: Quantum BASIC Interactive Terminal
5
5
  Author-email: "Charles C. Norton" <machineelv@gmail.com>
6
6
  License-Expression: MIT
@@ -500,6 +500,60 @@ LOADQASM file.qasm Import OpenQASM as an editable program (2.0 built-in; 3
500
500
  SAVEPNG out.png hist Save the histogram as a PNG (also: bloch, circuit; needs matplotlib)
501
501
  ```
502
502
 
503
+ ## Hamiltonian dynamics and open systems
504
+
505
+ ```
506
+ HAMILTONIAN H = 1.0 ZZ 0 1 + 0.5 X 0 Declare a Pauli-sum Hamiltonian
507
+ HAMILTONIAN H = ISING 1.0 0.5 Builders: ISING, HEISENBERG, HUBBARD, RYDBERG
508
+ 10 EVOLVE H, 1.5, 20 Trotterized e^{-iHt} (time, steps) in a circuit
509
+ LINDBLAD NONE, 1.0, 200, 1.0 SM 0 Open-system master-equation evolution
510
+ CHANNEL AD = [[1,0],[0,0.95]] ; [[0,0.31],[0,0]] Define a Kraus channel
511
+ 10 APPLYCHANNEL AD 0 Apply a custom channel
512
+ ```
513
+
514
+ ## Error correction
515
+
516
+ ```
517
+ QEC STEANE Show a code (REP [d], STEANE, SHOR) and its stabilizers
518
+ LOGICAL_ERROR_RATE STEANE 0.02 Monte-Carlo logical error rate at physical p
519
+ THRESHOLD REP 0.0 0.5 11 Sweep p across distances 3/5/7 (crossing at 0.5)
520
+ ```
521
+
522
+ ## Benchmarking and verification
523
+
524
+ ```
525
+ XEB 4 10 20 Cross-entropy benchmarking fidelity
526
+ QVOLUME 4 Quantum volume heavy-output test
527
+ RBINT H Interleaved RB fidelity of a Clifford gate
528
+ MIRROR 16 10 Mirror-circuit benchmarking
529
+ GST 1-qubit gate-set-style process estimate
530
+ CONCURRENCE 0 1 Two-qubit concurrence
531
+ NEGATIVITY 0 Entanglement negativity across a bipartition
532
+ PAULIPROP ZZ 0 1 Pauli-propagation expectation (Heisenberg, truncated)
533
+ ```
534
+
535
+ ## Advanced algorithms
536
+
537
+ ```
538
+ IQPE 4 0 UGATE Iterative phase estimation of a UNITARY eigenphase
539
+ AMPEST 5 0 Amplitude estimation of the marked amplitude
540
+ 10 AMPLIFY 101 One amplitude-amplification (Grover) step
541
+ QWALK 5 Discrete-time quantum walk on a cycle
542
+ 10 GRAPHSTATE 0-1, 1-2 Prepare a graph/cluster state (MBQC resource)
543
+ 10 FEATUREMAP x0 x1 ZZ feature-map data encoding (QML)
544
+ QKERNEL 0.5 0.3 ; 0.4 0.2 Quantum kernel |<phi(x)|phi(y)>|^2
545
+ SHOR 15 Order finding / factoring of small N
546
+ HHL 1 0 0 2 1 1 Solve a 2x2 Hermitian system A x = v
547
+ ```
548
+
549
+ ## Beyond qubits
550
+
551
+ ```
552
+ QUDIT 3 2 d-level systems: QX, QZ, QF, QSUM, QSTATE, QMEASURE
553
+ BOSONIC 1 25 Continuous-variable Fock modes
554
+ DISPLACE 0 1.0 ...DISPLACE, SQUEEZE, CAT, BS, BSTATE
555
+ ```
556
+
503
557
  ## Noise models
504
558
 
505
559
  ```
@@ -467,6 +467,60 @@ LOADQASM file.qasm Import OpenQASM as an editable program (2.0 built-in; 3
467
467
  SAVEPNG out.png hist Save the histogram as a PNG (also: bloch, circuit; needs matplotlib)
468
468
  ```
469
469
 
470
+ ## Hamiltonian dynamics and open systems
471
+
472
+ ```
473
+ HAMILTONIAN H = 1.0 ZZ 0 1 + 0.5 X 0 Declare a Pauli-sum Hamiltonian
474
+ HAMILTONIAN H = ISING 1.0 0.5 Builders: ISING, HEISENBERG, HUBBARD, RYDBERG
475
+ 10 EVOLVE H, 1.5, 20 Trotterized e^{-iHt} (time, steps) in a circuit
476
+ LINDBLAD NONE, 1.0, 200, 1.0 SM 0 Open-system master-equation evolution
477
+ CHANNEL AD = [[1,0],[0,0.95]] ; [[0,0.31],[0,0]] Define a Kraus channel
478
+ 10 APPLYCHANNEL AD 0 Apply a custom channel
479
+ ```
480
+
481
+ ## Error correction
482
+
483
+ ```
484
+ QEC STEANE Show a code (REP [d], STEANE, SHOR) and its stabilizers
485
+ LOGICAL_ERROR_RATE STEANE 0.02 Monte-Carlo logical error rate at physical p
486
+ THRESHOLD REP 0.0 0.5 11 Sweep p across distances 3/5/7 (crossing at 0.5)
487
+ ```
488
+
489
+ ## Benchmarking and verification
490
+
491
+ ```
492
+ XEB 4 10 20 Cross-entropy benchmarking fidelity
493
+ QVOLUME 4 Quantum volume heavy-output test
494
+ RBINT H Interleaved RB fidelity of a Clifford gate
495
+ MIRROR 16 10 Mirror-circuit benchmarking
496
+ GST 1-qubit gate-set-style process estimate
497
+ CONCURRENCE 0 1 Two-qubit concurrence
498
+ NEGATIVITY 0 Entanglement negativity across a bipartition
499
+ PAULIPROP ZZ 0 1 Pauli-propagation expectation (Heisenberg, truncated)
500
+ ```
501
+
502
+ ## Advanced algorithms
503
+
504
+ ```
505
+ IQPE 4 0 UGATE Iterative phase estimation of a UNITARY eigenphase
506
+ AMPEST 5 0 Amplitude estimation of the marked amplitude
507
+ 10 AMPLIFY 101 One amplitude-amplification (Grover) step
508
+ QWALK 5 Discrete-time quantum walk on a cycle
509
+ 10 GRAPHSTATE 0-1, 1-2 Prepare a graph/cluster state (MBQC resource)
510
+ 10 FEATUREMAP x0 x1 ZZ feature-map data encoding (QML)
511
+ QKERNEL 0.5 0.3 ; 0.4 0.2 Quantum kernel |<phi(x)|phi(y)>|^2
512
+ SHOR 15 Order finding / factoring of small N
513
+ HHL 1 0 0 2 1 1 Solve a 2x2 Hermitian system A x = v
514
+ ```
515
+
516
+ ## Beyond qubits
517
+
518
+ ```
519
+ QUDIT 3 2 d-level systems: QX, QZ, QF, QSUM, QSTATE, QMEASURE
520
+ BOSONIC 1 25 Continuous-variable Fock modes
521
+ DISPLACE 0 1.0 ...DISPLACE, SQUEEZE, CAT, BS, BSTATE
522
+ ```
523
+
470
524
  ## Noise models
471
525
 
472
526
  ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qubasic"
7
- version = "0.8.0"
7
+ version = "0.9.0"
8
8
  description = "Quantum BASIC Interactive Terminal"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qubasic
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Summary: Quantum BASIC Interactive Terminal
5
5
  Author-email: "Charles C. Norton" <machineelv@gmail.com>
6
6
  License-Expression: MIT
@@ -500,6 +500,60 @@ LOADQASM file.qasm Import OpenQASM as an editable program (2.0 built-in; 3
500
500
  SAVEPNG out.png hist Save the histogram as a PNG (also: bloch, circuit; needs matplotlib)
501
501
  ```
502
502
 
503
+ ## Hamiltonian dynamics and open systems
504
+
505
+ ```
506
+ HAMILTONIAN H = 1.0 ZZ 0 1 + 0.5 X 0 Declare a Pauli-sum Hamiltonian
507
+ HAMILTONIAN H = ISING 1.0 0.5 Builders: ISING, HEISENBERG, HUBBARD, RYDBERG
508
+ 10 EVOLVE H, 1.5, 20 Trotterized e^{-iHt} (time, steps) in a circuit
509
+ LINDBLAD NONE, 1.0, 200, 1.0 SM 0 Open-system master-equation evolution
510
+ CHANNEL AD = [[1,0],[0,0.95]] ; [[0,0.31],[0,0]] Define a Kraus channel
511
+ 10 APPLYCHANNEL AD 0 Apply a custom channel
512
+ ```
513
+
514
+ ## Error correction
515
+
516
+ ```
517
+ QEC STEANE Show a code (REP [d], STEANE, SHOR) and its stabilizers
518
+ LOGICAL_ERROR_RATE STEANE 0.02 Monte-Carlo logical error rate at physical p
519
+ THRESHOLD REP 0.0 0.5 11 Sweep p across distances 3/5/7 (crossing at 0.5)
520
+ ```
521
+
522
+ ## Benchmarking and verification
523
+
524
+ ```
525
+ XEB 4 10 20 Cross-entropy benchmarking fidelity
526
+ QVOLUME 4 Quantum volume heavy-output test
527
+ RBINT H Interleaved RB fidelity of a Clifford gate
528
+ MIRROR 16 10 Mirror-circuit benchmarking
529
+ GST 1-qubit gate-set-style process estimate
530
+ CONCURRENCE 0 1 Two-qubit concurrence
531
+ NEGATIVITY 0 Entanglement negativity across a bipartition
532
+ PAULIPROP ZZ 0 1 Pauli-propagation expectation (Heisenberg, truncated)
533
+ ```
534
+
535
+ ## Advanced algorithms
536
+
537
+ ```
538
+ IQPE 4 0 UGATE Iterative phase estimation of a UNITARY eigenphase
539
+ AMPEST 5 0 Amplitude estimation of the marked amplitude
540
+ 10 AMPLIFY 101 One amplitude-amplification (Grover) step
541
+ QWALK 5 Discrete-time quantum walk on a cycle
542
+ 10 GRAPHSTATE 0-1, 1-2 Prepare a graph/cluster state (MBQC resource)
543
+ 10 FEATUREMAP x0 x1 ZZ feature-map data encoding (QML)
544
+ QKERNEL 0.5 0.3 ; 0.4 0.2 Quantum kernel |<phi(x)|phi(y)>|^2
545
+ SHOR 15 Order finding / factoring of small N
546
+ HHL 1 0 0 2 1 1 Solve a 2x2 Hermitian system A x = v
547
+ ```
548
+
549
+ ## Beyond qubits
550
+
551
+ ```
552
+ QUDIT 3 2 d-level systems: QX, QZ, QF, QSUM, QSTATE, QMEASURE
553
+ BOSONIC 1 25 Continuous-variable Fock modes
554
+ DISPLACE 0 1.0 ...DISPLACE, SQUEEZE, CAT, BS, BSTATE
555
+ ```
556
+
503
557
  ## Noise models
504
558
 
505
559
  ```
@@ -16,14 +16,18 @@ qubasic.egg-info/top_level.txt
16
16
  qubasic_core/__init__.py
17
17
  qubasic_core/__main__.py
18
18
  qubasic_core/algorithms.py
19
+ qubasic_core/algos2.py
19
20
  qubasic_core/analysis.py
20
21
  qubasic_core/backend.py
22
+ qubasic_core/benchmarking.py
23
+ qubasic_core/bosonic.py
21
24
  qubasic_core/classic.py
22
25
  qubasic_core/cli.py
23
26
  qubasic_core/control_flow.py
24
27
  qubasic_core/debug.py
25
28
  qubasic_core/demos.py
26
29
  qubasic_core/display.py
30
+ qubasic_core/dynamics.py
27
31
  qubasic_core/engine.py
28
32
  qubasic_core/engine_state.py
29
33
  qubasic_core/errors.py
@@ -44,10 +48,13 @@ qubasic_core/mock_backend.py
44
48
  qubasic_core/noise_mixin.py
45
49
  qubasic_core/parser.py
46
50
  qubasic_core/patterns.py
51
+ qubasic_core/pauliprop.py
47
52
  qubasic_core/profiler.py
48
53
  qubasic_core/program_mgmt.py
49
54
  qubasic_core/protocol.py
55
+ qubasic_core/qec.py
50
56
  qubasic_core/qol.py
57
+ qubasic_core/qudits.py
51
58
  qubasic_core/scope.py
52
59
  qubasic_core/screen.py
53
60
  qubasic_core/state_display.py
@@ -28,7 +28,7 @@ __all__ = [
28
28
  'GATE_TABLE', 'GATE_ALIASES',
29
29
  ]
30
30
 
31
- __version__ = '0.8.0'
31
+ __version__ = '0.9.0'
32
32
 
33
33
  def __getattr__(name):
34
34
  """Lazy import heavy modules on first access."""