quantum-shadow-maps_v2/scripts/symmetric_states/README.md

6.6 KiB

Shadow maps / symmetric states — numerical scripts

Ausführungsreihenfolge (jedes Skript liest die .npy/.npz-Dateien des vorigen):

1. 1_recoupling_check.py

Baut die zwei Basiszustände (6 Qubits, Singulett-Netzwerke mit den Paarungen (A,D)(B,E)(C,F) bzw. (A,E)(B,F)(C,D)) und deren volle Korrelationstensoren T1, T2 sowie den Kohärenz-Kreuzterm C12. Verifiziert per Brute-Force-Quantensimulation (unabhängig, für mehrere Werte von alpha), dass für JEDE kohärente Überlagerung |Xi(alpha)> = (cos(alpha) psi1 + sin(alpha) psi2)/norm der volle Korrelationstensor exakt T(Xi) = [cos^2(a) T1 + sin^2(a) T2 + cos(a)sin(a) C12] / N2 ist -- UND dass diese drei festen Tensoren (unabhängig von alpha UND unabhängig vom gewählten Schnitt!) per einfachem .reshape() sowohl den Schnitt ABC|DEF (27x27) als auch AB|CDEF (9x81) liefern, exakt übereinstimmend mit unabhängiger Brute-Force-Simulation für jeden Schnitt. Output: T1.npy, T2.npy, C12.npy

2. 2_exact_casimir_projectors.py

Baut die exakten SO(3)-Spin-1-Generatoren J_x,J_y,J_z symbolisch mit sympy (Levi-Civita-Definition), verifiziert die so(3)-Kommutatorrelation und J^2=2*I_3 symbolisch exakt. Konstruiert dann den totalen Casimir-Operator J^2_total auf (R^3)^{⊗k} für k=2,3,4 und diagonalisiert ihn (numpy, Hermitesch, maschinengenau). Die Eigenräume zu Eigenwert j(j+1) SIND per Definition die Isotypen-Projektoren -- exakt, ohne Monte-Carlo-Integration über SO(3) wie in einer früheren Version. Output: projectors_exact.npz

3. 3_apply_exact_projectors.py

Wendet die exakten Projektoren auf T1, T2, C12 an (für beliebiges alpha, beliebigen Schnitt) und berechnet ||A_j||* pro Drehimpulssektor j, für zwei Beispielzustände und beide Schnitte (ABC|DEF und AB|CDEF). Bestätigt exakte Additivität sum_j (2j+1)||A_j||* = ||M||_*.

Kontext

Diese Skripte gehören zur Diskussion der Frage, wie die bigraduierte Shadow Map M_S(rho) sich unter globaler kollektiver SO(3)-Symmetrie in Drehimpuls-Isotypen zerlegt (Erweiterung von symmetric_shadow_maps_formal.tex / shadow_maps_symmetric_states.tex um die Rotationssymmetrie-Seite neben der bereits behandelten S_m-Permutationssymmetrie), und wie sich diese Zerlegung zwischen verschiedenen Schnitten desselben global-invarianten Zustands umrechnen lässt (siehe Skript 1: EIN Tripel (T1,T2,C12) liefert JEDEN Schnitt per reshape, ohne erneute Kontraktion über den vollen Hilbertraum).

4. 4_spherical_basis.py

Baut eine Condon-Shortley-konsistente sphärische Basis {|1,-1>,|1,0>,|1,+1>} für ein einzelnes Spin-1-Bein über Leiteroperatoren (nicht aus einer memorierten Formel zitiert), ausgehend von den exakten Cartesischen Generatoren. Validiert Kommutatoren, Normierung, Jz-Eigenwerte.

5. 5_six_j_recoupling.py

Baut die gekoppelten Basen |p,j,m>_ABC (Baum (AB)C), |y,j,m>_DEF (Baum (DE)F) und |y,j,p,m>_CDEF (Baum (C,(DE)F)) via sympy-Clebsch-Gordan- Koeffizienten. Extrahiert die reduzierten Matrixelemente A_j^(1)[p,y] (Schnitt ABC|DEF) und A_p^(2)[y,j] (Schnitt AB|CDEF) für zwei Zustände und findet empirisch (numerisch bis auf 1e-6, an 15 unabhaengigen Datenpunkten): A_p^(2)[y,j] = -sqrt((2j+1)/(2p+1)) * A_j^(1)[p,y] (unabhaengig von y!) Das ist die 6j-Rekopplungsformel zwischen den A_j-Bloecken zweier verschiedener Schnitte desselben invarianten Tensors -- numerisch bewiesen, aber NICHT sauber gegen eine Standard-Lehrbuch-6j-Formel identifiziert (siehe verify_6j.py / search_6j.py Versuche, beide mit Konventions-Mismatch). Das ist die offene Baustelle.

6. 6_six_j_recoupling_proof.py (SUPERSEDES the earlier 5_six_j_recoupling.py)

Vollstaendiger, verifizierter Beweis der Rekopplungsformel zwischen den reduzierten Bloecken A_j^(1) (Schnitt ABC|DEF) und A_p^(2) (Schnitt AB|CDEF) desselben invarianten Tensors: A_p^(2)[y,j] = -sqrt((2j+1)/(2p+1)) * A_j^(1)[p,y] (y-unabhaengig!) Kernschritte (jeder einzeln verifiziert): (1) Schur-Lemma KORREKT auf die bilineare (nicht sesquilineare) Paarung angewandt -- die Transponierte einer Wigner-D-Matrix haengt ueber die Metrik C_j (nicht D selbst) mit der Inversen zusammen; das war der Fehler im ersten Versuch. (2) Exakte Konjugationsphase fuer CG-gekoppelte Multipletts: conj(v_{J,m}) = (-1)^(J+n_leg) * (-1)^m * v_{J,-m} (n_leg = Anzahl der elementaren Spin-1-Beine im Baum), verifiziert fuer n_leg=3 und n_leg=4. (3) Eine endliche CG-Summe Xi(p,j,m'), exakt symbolisch (sympy) zu sqrt((2j+1)/(2p+1)) ausgewertet, m'-unabhaengig, fuer alle p,j<=3. (4) End-to-End-Kreuzcheck gegen Brute-Force-Quantensimulation: Fehler 2.2e-16 (Maschinengenauigkeit). Offen (siehe Kommentare im Skript und rem:six-j-scope im .tex): die allgemeine (nicht nur p,j<=3) geschlossene Form von Xi als zitierfaehiges Standard-6j-Symbol wurde nicht identifiziert (zwei Versuche dazu blieben erfolglos, siehe search_6j.py-Fragmente); ebenso ist Gl. (2) nur verifiziert, nicht fuer allgemeines n_leg induktiv hergeleitet.

7. 7_combined_sm_so3_collapse.py

Kombiniert S_m-Permutationssymmetrie mit voller kollektiver SO(3)-Symmetrie an einem konkreten 6-Qubit-Beispiel: |Q> = kanonische Invariante zweier gekoppelter Spin-3/2-Dicke-Multipletts auf ABC und DEF (Gl. eq:dicke-network-state im .tex). Verifiziert:

  • |Q> ist exakt kollektiv-rotationsinvariant (|<Q|U^6|Q>|=1 exakt).
  • Innerhalb des 10-dim S_3-symmetrischen Unterraums (Typ-Basis u_alpha, Sym^3(C^3)) zeigt der Casimir NUR j=1 (x3) und j=3 (x7) -- j=0,2 komplett abwesend, multiplizitätsfrei wie klassisch vorhergesagt.
  • Die gesamte Kernnorm (15.0) lebt exakt im doppelt-symmetrischen Sektor (Norm ausserhalb: 7e-15).
  • Konkrete Skalarwerte: A_1=1/3, A_3=2, mit 3A_1+7A_3=15 exakt. Ist jetzt Proposition harmonic-decomposition + Example dicke-network im .tex (Abschnitt sec:sm-so3-combination).

8. 8_general_r_check.py

Schliesst die letzte offene TODO im Abschnitt: verallgemeinert die Cut-unabhaengige Template-Aussage (Proposition coherence-templates) von r=2 auf r=3, mit einem ECHT GEMISCHTEN (volle Rang-3, nicht reine Ueberlagerung) Zustand. Korrigiert nebenbei einen Zaehlfehler im urspruenglichen TODO-Kommentar: die Anzahl unabhaengiger reeller Tensoren ist r^2 (= reelle Dimension hermitescher r x r Matrizen), nicht r(r+1)/2. Drei verschiedene Perfect-Matchings von 6 Qubits als Basis-Zustaende, Gram-Matrix-Konditionszahl 2 (linear unabhaengig), Haar-zufaellige hermitesche PSD-Koeffizientenmatrix voller Rang. Ergebnis: Fehler 1.1e-16 zwischen Brute-Force- und Template-basierter Korrelationstensor-Berechnung, an BEIDEN Schnitten gleichzeitig, ohne erneute Simulation. Ist jetzt Corollary real-tensor-count + Example general-r-three im .tex.