feat: add numeric and symbolic scripts
This commit is contained in:
parent
6ea7900b55
commit
e80b7c3582
38 changed files with 3314 additions and 0 deletions
|
|
@ -79,3 +79,87 @@ When adding another script, add a short entry above with:
|
|||
- required dependencies beyond NumPy, if any;
|
||||
- the paper values, table, or figure it reproduces;
|
||||
- notes about normalization conventions if the output includes both raw and normalized quantities.
|
||||
|
||||
|
||||
---
|
||||
|
||||
# Shadow-Map GME-Analyse: Skriptpaket
|
||||
|
||||
Alle Skripte aus der Diskussion zu "Symmetric Shadow Maps and Multipartite Correlation
|
||||
Criteria", konsolidiert und bereinigt (keine überholten/fehlerhaften Zwischenversionen).
|
||||
Qubit-Reihenfolge durchgehend (A,B,C,D) = (0,1,2,3).
|
||||
|
||||
## Grundmodule (werden von allem anderen importiert)
|
||||
|
||||
- **core.py** -- Parametrisierung reiner biseparabler 4-Qubit-Zustände
|
||||
(`state_1_3`, `state_2_2`, `random_pure_state`).
|
||||
- **core2.py** -- schnelle, vektorisierte Berechnung des vollen Pauli-Korrelationstensors
|
||||
und der Einzelpartei-Shadow-Map (`full_tensor`, `phi_sym`).
|
||||
- **cluster.py** -- die volle 15×15 bigraduierte Cluster-Shadow-Map `M_S` für
|
||||
Zwei-Qubit-Quellcluster (`cluster_map`), plus Tensor-Extraktion für gemischte Zustände.
|
||||
- **subblock.py** -- der "fully-active" 9×9-Unterblock von `M_S`.
|
||||
- **party_blocks.py** -- rohe Einzelpartei-zu-Einzelpartei 3×3-Korrelationsblöcke.
|
||||
|
||||
## Kapitel 1: Universelle Sättigungs-Decke (bewiesen)
|
||||
|
||||
- **universal_ceiling.py** -- geschlossene Formel für das globale Maximum von
|
||||
`||M_S||_*` über *alle* Zustände (Cauchy-Schwarz + Spur-Identität), reproduziert
|
||||
`sqrt(6)`, `6/sqrt(7)`, `2.19089...` (n=3,4,5) und `5.0` (2-Qubit-Cluster, n=4) exakt.
|
||||
|
||||
## Kapitel 2: Warum Φ_sym und einzelne M_S keine GME-Zeugen sind
|
||||
|
||||
- **optimize_phi_sym.py** -- zeigt, dass die biseparable Suprema von Φ_sym (2|2- und
|
||||
1|3-Schnitt) und das globale Supremum über *alle* Zustände identisch sind.
|
||||
- **optimize_cluster_witness.py** -- zeigt dasselbe für einzelne `||M_AB||_*`, plus
|
||||
erste (noch zu enge) Suche nach `min(M_AB,M_AC,M_AD)` über 1|3-biseparable Zustände.
|
||||
- **pairwise_correlation_demo.py** -- Exkurs: warum paarweise Korrelationsblöcke
|
||||
ebenfalls kein sauberes Kriterium liefern (Graphzustände haben selbst verschwindende
|
||||
Paar-Blöcke).
|
||||
|
||||
## Kapitel 3: Der funktionierende GME-Zeuge `min(M_AB,M_AC,M_AD)`
|
||||
|
||||
- **mixture_search.py** -- Kernstück: exakte geschlossene Form für die
|
||||
Bell-Paar-Mischungsfamilie (`p=1/2` optimal, Wert exakt 3), plus allgemeine
|
||||
Mischungssuchen (2/3/4/6 Komponenten), die alle bei 3.0 landen.
|
||||
- **sum_bound_proof.py** -- der rigorose Beweis der Schranke `<= 11/3` (Summe statt
|
||||
Minimum ist konvex; LP bestätigt, dass Gleichgewichtung optimal für diese Technik ist).
|
||||
|
||||
## Kapitel 4: SDP-Verschärfung über PPT-Mixtures
|
||||
|
||||
Benötigt zusätzlich `pip install cvxpy` (Solver SCS ist enthalten).
|
||||
|
||||
- **sdp_ppt_mixture.py** -- PPT-Mixture-SDP + alternierendes (Frank-Wolfe-artiges)
|
||||
Suchschema über duale Zeugen. **Wichtig:** `order='C'` in beiden `cp.reshape`-Aufrufen
|
||||
ist notwendig (Standard-Fortran-Order von cvxpy passt sonst nicht zur row-major
|
||||
Konstruktion von `PT_MATRIX`/`COEFF`).
|
||||
- **compute_seed_witnesses.py** -- erzeugt `O_seed.npz` (optimale duale Zeugen für den
|
||||
bekannten 3.0-Punkt). Vor den beiden folgenden Skripten einmal ausführen.
|
||||
- **diagnostic_seeded_run.py** -- Sanity-Check: ein einzelner SDP-Schritt mit den
|
||||
exakten Zeugen des bekannten Punktes muss `t >= 3.0` liefern (sonst Implementierungsfehler).
|
||||
- **seeded_exploration.py** -- Stabilitäts-/Störungstest um den bekannten Punkt herum,
|
||||
über die *volle* PPT-Mixture-Menge (echte Obermenge der biseparablen Zustände).
|
||||
|
||||
## Empfohlene Ausführungsreihenfolge
|
||||
|
||||
```bash
|
||||
python3 universal_ceiling.py
|
||||
python3 optimize_phi_sym.py # dauert ~1-2 Minuten
|
||||
python3 optimize_cluster_witness.py # dauert ~1-2 Minuten
|
||||
python3 pairwise_correlation_demo.py
|
||||
python3 mixture_search.py # die Mischungs-Optimierungen sind langsam (Powell
|
||||
# skaliert schlecht mit der Parameterzahl) --
|
||||
# einzelne Restarts können 1-2 Minuten dauern
|
||||
python3 sum_bound_proof.py
|
||||
|
||||
# für Kapitel 4 (SDP):
|
||||
pip install cvxpy
|
||||
python3 compute_seed_witnesses.py
|
||||
python3 diagnostic_seeded_run.py
|
||||
python3 seeded_exploration.py
|
||||
```
|
||||
|
||||
## Status der zentralen Vermutung
|
||||
|
||||
- **Bewiesen:** `min(M_AB,M_AC,M_AD) <= 11/3` für jeden biseparablen Zustand.
|
||||
- **Numerisch sehr robust (mehrere unabhängige Methoden, inkl. SDP über die größere
|
||||
PPT-Mixture-Menge), aber nicht formal bewiesen:** die wahre Schranke ist exakt `3.0`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue