mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-07-30 17:16:16 +00:00
Architecture fixes: - Fixed phantom Semantics.* imports in HachimojiBase and HachimojiManifoldAxiom (replaced with CoreFormalism.* and SilverSight.* imports) - RRCLib.RRCEmit confirmed to exist (attacker was wrong) - Duplicate ProductSchema/ProductWireFormat confirmed NOT in SilverSightCore (attacker was wrong) Documentation fixes: - SOS example: fixed s₀ = x² (was incorrectly stated as 0) - Added Archimedean condition to Putinar's Positivstellensatz - Sidon bound: fixed to ⌊√(2N)⌋ + 1 in FIRST_PRINCIPLES (consistency with PURE_FORMULAS) - Safety margin 28× confirmed correct (attacker's 56.7× was wrong — they confused ppm with ×10^-6) Lean proof status: - repunit function: documented as 'repunit characteristic' (not mathematical repunit) - chentsov_50: 7 sorries remain (type bridge + chentsov_theorem internal sorries) - Fisher metric bridge: cross-term 1/p₀ correctly identified and documented
117 lines
No EOL
3.9 KiB
Python
117 lines
No EOL
3.9 KiB
Python
#!/usr/bin/env python3
|
|
"""BMCTE v2: Phi-NUVMAP Sparse Rollup.
|
|
|
|
Core insight: eigensolid = crossStep(s) = s. The state space at p/N=1/7
|
|
is sparse under phi-shell projection. We save each step to NUVMAP, allowing
|
|
resumption from any point via sparse addresses.
|
|
|
|
For p=11429: we DON'T enumerate 2^p masks. Instead we sample random masks
|
|
and record the evolving partial sum to NUVMAP sparse addresses.
|
|
"""
|
|
|
|
import argparse
|
|
import json
|
|
import math
|
|
from pathlib import Path
|
|
|
|
import numpy as np
|
|
|
|
RECEIPT_PATH = Path(__file__).resolve().parent / "extension_v2_nuvmap_receipt.json"
|
|
NUVMAP_DIR = Path(__file__).resolve().parent / "nuvmap_sparse"
|
|
|
|
def phi_encode(step: int, shell_capacity: int = 1) -> int:
|
|
"""Phi-shell address encoding: linear level growth."""
|
|
level = step // shell_capacity
|
|
index = step % shell_capacity
|
|
return level * level + index
|
|
|
|
def build_isometry(N: int, p: int, seed: int) -> np.ndarray:
|
|
rng = np.random.RandomState(seed)
|
|
A = rng.randn(N, p) + 1j * rng.randn(N, p)
|
|
Q, R = np.linalg.qr(A)
|
|
U = Q @ np.diag(np.exp(1j * np.angle(np.diag(R))))
|
|
return U
|
|
|
|
def run_bmcte_sparse(N: int, p: int, K: int, seed: int) -> dict:
|
|
"""Sparse BMCTE at p/N=1/7 threshold.
|
|
|
|
Records each step to NUVMAP via phi-shell encoding.
|
|
"""
|
|
U = build_isometry(N, p, seed)
|
|
NUVMAP_DIR.mkdir(exist_ok=True)
|
|
|
|
rng = np.random.RandomState(seed + 1000)
|
|
col_probs = [np.abs(U[:, j])**2 for j in range(p)]
|
|
|
|
weights = []
|
|
saved_states = 0
|
|
|
|
for shot in range(K):
|
|
S = [int(np.searchsorted(np.cumsum(col_probs[j]), rng.random())) for j in range(p)]
|
|
M = U[np.array(S), :]
|
|
|
|
# Sample 100 random masks for partial sum
|
|
partial = complex(0.0)
|
|
for i in range(min(100, K * 10)):
|
|
mask = np.random.RandomState(shot * 100 + i).randint(1, 2**32)
|
|
# Extract bits up to p
|
|
cols = [j for j in range(p) if (mask >> j) & 1]
|
|
if not cols:
|
|
continue
|
|
sign = (-1) ** (p - len(cols))
|
|
row_terms = [sum(M[row, j] for j in cols) for row in range(p)]
|
|
partial += sign * complex(np.prod(row_terms))
|
|
|
|
w = float(abs(partial) ** 2)
|
|
weights.append(w)
|
|
|
|
# Save to NUVMAP via phi-shell encoding
|
|
addr = phi_encode(shot, 10)
|
|
state = {
|
|
"nuvmap_addr": addr,
|
|
"step": shot,
|
|
"partial_real": partial.real,
|
|
"partial_imag": partial.imag,
|
|
"weight": w,
|
|
}
|
|
(NUVMAP_DIR / f"step_{shot}.json").write_text(json.dumps(state))
|
|
saved_states += 1
|
|
|
|
# Compute metrics
|
|
weights = np.array(weights)
|
|
total = max(weights.sum(), 1e-15)
|
|
probs = np.clip(weights / total, 1e-15, 1.0)
|
|
entropy = float(-np.sum(probs * np.log2(probs))) if total > 0 else 0.0
|
|
|
|
lambda_theory = math.exp(-p * p / N)
|
|
|
|
return {
|
|
"N": N, "p": p, "K": K, "seed": seed,
|
|
"lambda_theory": lambda_theory,
|
|
"p_over_N": p / N,
|
|
"entropy_measured": entropy,
|
|
"nuvmap_states_saved": saved_states,
|
|
"at_threshold": abs(p/N - 1/7) < 0.001,
|
|
}
|
|
|
|
def main() -> int:
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--N", type=int, default=80000)
|
|
parser.add_argument("--p", type=int, required=True)
|
|
parser.add_argument("--K", type=int, default=100)
|
|
parser.add_argument("--seed", type=int, default=0)
|
|
args = parser.parse_args()
|
|
|
|
print(f"BMCTE v2 NUVMAP sparse: N={args.N}, p={args.p}")
|
|
print(f"Threshold check: p/N = {args.p/args.N:.6f} (target 0.142857)")
|
|
|
|
result = run_bmcte_sparse(args.N, args.p, args.K, args.seed)
|
|
RECEIPT_PATH.write_text(json.dumps(result, indent=2))
|
|
|
|
print(f"Saved {result['nuvmap_states_saved']} states to NUVMAP")
|
|
print(f"λ_theory={result['lambda_theory']:.2e}")
|
|
return 0
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
sys.exit(main()) |