Files
blackroad-operating-system/packs/research-lab/math/lucidia_math_lab/interface.py
Alexa Louise 0108860bff feat: Add Research Lab pack with paralleled math modules
Create comprehensive research-lab pack structure with mathematical
and quantum computing modules from blackroad-prism-console:

Math Modules:
- hilbert_core.py: Hilbert space symbolic reasoning
- collatz/: Distributed Collatz conjecture verification
- linmath/: Linear mathematics C library
- lucidia_math_forge/: Symbolic proof engine
- lucidia_math_lab/: Experimental mathematics

Quantum Modules:
- lucidia_quantum/: Quantum core
- quantum_engine/: Circuit simulation

Experiments:
- br_math/: Gödel gap, quantum experiments

Includes pack.yaml manifest and comprehensive README.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 23:49:03 -06:00

70 lines
2.2 KiB
Python

"""Command line interface for the Lucidia Math Lab."""
from __future__ import annotations
from datetime import datetime
from pathlib import Path
from .prime_explorer import PrimeVisualizer, plot_fourier, plot_residue, plot_ulam,
from .prime_explorer import fourier_prime_gaps, residue_grid, ulam_spiral
from .quantum_finance import QuantumFinanceSimulator
from .sine_wave_codex import plot_waves
from .trinary_logic import TrinaryLogicEngine
OUTPUT_DIR = Path("output")
def timestamp() -> str:
return datetime.utcnow().strftime("%Y%m%d_%H%M%S")
def main() -> None: # pragma: no cover - interactive
engine = TrinaryLogicEngine.from_json(Path(__file__).with_name("trinary_operators.json"))
visualizer = PrimeVisualizer(OUTPUT_DIR)
finance = QuantumFinanceSimulator(price=100.0, volatility=1.0)
menu = """
Lucidia Math Lab
-----------------
1. Show trinary logic AND table
2. Plot Ulam spiral
3. Plot residue grid (mod 10)
4. Fourier of prime gaps
5. Plot sine waves
6. Simulate quantum finance step
q. Quit
"""
while True:
choice = input(menu).strip()
if choice == "1":
print(engine.truth_table_ascii("AND"))
elif choice == "2":
grid, mask = ulam_spiral(25)
fig = plot_ulam(grid, mask)
visualizer.save_fig(fig, f"ulam_{timestamp()}")
elif choice == "3":
grid = residue_grid(10)
fig = plot_residue(grid)
visualizer.save_fig(fig, f"residue_{timestamp()}")
elif choice == "4":
gaps, fft = fourier_prime_gaps(100)
fig = plot_fourier(gaps, fft)
visualizer.save_fig(fig, f"fourier_{timestamp()}")
elif choice == "5":
fig = plot_waves([(1, 0, 1), (2, 0, 0.5)])
visualizer.save_fig(fig, f"waves_{timestamp()}")
elif choice == "6":
dist = finance.step()
price = finance.observe(dist)
fig = finance.plot(dist)
visualizer.save_fig(fig, f"finance_{timestamp()}")
print(f"Collapsed price: {price:.2f}")
elif choice.lower() == "q":
break
else:
print("Unknown option")
if __name__ == "__main__":
main()