Files
blackroad/bin/blackroad-quantum
Alexa Amundson 78fbe80f2a Initial monorepo — everything BlackRoad in one place
bin/       230 CLI tools (ask-*, br-*, agent-*, roadid, carpool)
scripts/   99 automation scripts
fleet/     Node configs and deployment
workers/   Cloudflare Worker sources (roadpay, road-search, squad webhooks)
roadc/     RoadC programming language
roadnet/   Mesh network (5 APs, WireGuard)
operator/  Memory system scripts
config/    System configs
dotfiles/  Shell configs
docs/      Documentation

BlackRoad OS — Pave Tomorrow.

RoadChain-SHA2048: d1a24f55318d338b
RoadChain-Identity: alexa@sovereign
RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
2026-03-14 17:08:41 -05:00

508 lines
18 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# ============================================================================
# BLACKROAD OS, INC. - PROPRIETARY AND CONFIDENTIAL
# BlackRoad Quantum Computing Visualizer
# Real-time quantum circuit and qubit state visualization
# ============================================================================
set -e
# Color functions (printf-based, escape-safe)
c_pink() { printf '\033[38;5;205m'; }
c_blue() { printf '\033[38;5;75m'; }
c_green() { printf '\033[38;5;82m'; }
c_yellow() { printf '\033[38;5;226m'; }
c_red() { printf '\033[38;5;196m'; }
c_purple() { printf '\033[38;5;141m'; }
c_orange() { printf '\033[38;5;208m'; }
c_gray() { printf '\033[38;5;240m'; }
c_cyan() { printf '\033[38;5;87m'; }
c_magenta(){ printf '\033[38;5;201m'; }
c_reset() { printf '\033[0m'; }
c_clear() { printf '\033[2J\033[H'; }
c_bold() { printf '\033[1m'; }
# ==================
# QUANTUM STATE GENERATION
# ==================
generate_qubit_state() {
# Generate random quantum state (|0⟩, |1⟩, superposition)
local state=$((RANDOM % 3))
case $state in
0) echo "0" ;; # |0⟩
1) echo "1" ;; # |1⟩
2) echo "+" ;; # |+⟩ superposition
esac
}
generate_bloch_sphere_coords() {
# Generate random point on Bloch sphere
local theta=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); print rand() * 3.14159}')
local phi=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); print rand() * 6.28318}')
echo "$theta|$phi"
}
calculate_fidelity() {
# Random fidelity between 0.90 and 0.99
awk -v seed=$RANDOM 'BEGIN{srand(seed); printf "%.4f", 0.90 + rand() * 0.09}'
}
# ==================
# DISPLAY COMPONENTS
# ==================
draw_header() {
c_clear
c_magenta; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ ║\n"
printf "║ BLACKROAD OS - QUANTUM COMPUTING VISUALIZER ║\n"
printf "║ ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
}
draw_quantum_circuit() {
local qubit_count="${1:-3}"
c_cyan; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ ⚛️ QUANTUM CIRCUIT ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# Generate random circuit with gates
for ((i=0; i<qubit_count; i++)); do
printf " "
c_blue; printf "q%d" "$i"; c_reset
printf " ─"
# Add random gates
local gate_count=$((2 + RANDOM % 4))
for ((g=0; g<gate_count; g++)); do
local gate=$((RANDOM % 6))
case $gate in
0)
c_green; printf "┤H├"; c_reset # Hadamard
;;
1)
c_yellow; printf "┤X├"; c_reset # Pauli-X
;;
2)
c_orange; printf "┤Y├"; c_reset # Pauli-Y
;;
3)
c_red; printf "┤Z├"; c_reset # Pauli-Z
;;
4)
c_purple; printf "┤T├"; c_reset # T gate
;;
5)
c_cyan; printf "┤S├"; c_reset # S gate
;;
esac
printf "─"
done
# Add measurement
c_magenta; printf "┤M├"; c_reset
printf "\n"
done
printf "\n"
# Legend
printf " "
c_gray; printf "Gates: "; c_reset
c_green; printf "H"; c_reset; printf "(adamard) "
c_yellow; printf "X"; c_reset; printf "(NOT) "
c_orange; printf "Y"; c_reset; printf "(Pauli-Y) "
c_red; printf "Z"; c_reset; printf "(Phase) "
c_purple; printf "T"; c_reset; printf "(π/8) "
c_cyan; printf "S"; c_reset; printf "(Phase) "
c_magenta; printf "M"; c_reset; printf "(easure)"
printf "\n\n"
}
draw_qubit_states() {
local qubit_count="${1:-5}"
c_purple; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ 📊 QUBIT STATES ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# Header
printf " "
c_gray
printf "%-8s %-12s %-15s %-15s %-12s\n" "Qubit" "State" "Amplitude" "Phase" "Fidelity"
c_reset
printf " "
c_gray
printf "─────────────────────────────────────────────────────────────────────────────\n"
c_reset
# Generate states for each qubit
for ((i=0; i<qubit_count; i++)); do
local state=$(generate_qubit_state)
local amp0=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); printf "%.3f", rand()}')
local amp1=$(awk "BEGIN{printf \"%.3f\", sqrt(1 - $amp0 * $amp0)}")
local phase=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); printf "%.2f", rand() * 6.28}')
local fidelity=$(calculate_fidelity)
printf " "
c_blue; printf "q%-7d" "$i"; c_reset
# State representation
case $state in
"0")
c_green; printf "%-12s" "|0⟩"; c_reset
;;
"1")
c_red; printf "%-12s" "|1⟩"; c_reset
;;
"+")
c_yellow; printf "%-12s" "|+⟩ (super)"; c_reset
;;
esac
# Amplitude
c_cyan; printf "%-15s" "${amp0}|0⟩+${amp1}|1⟩"; c_reset
# Phase
c_purple; printf "%-15s" "${phase} rad"; c_reset
# Fidelity with color coding
if (( $(echo "$fidelity > 0.95" | bc -l) )); then
c_green
elif (( $(echo "$fidelity > 0.92" | bc -l) )); then
c_yellow
else
c_red
fi
printf "%-12s" "$fidelity"
c_reset
printf "\n"
done
printf "\n"
}
draw_bloch_sphere() {
c_orange; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ 🌐 BLOCH SPHERE REPRESENTATION ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# ASCII Bloch sphere
c_gray
printf " |z⟩ (|0⟩)\n"
printf " │\n"
printf " │\n"
printf " ╱│╲\n"
printf " │ ╲\n"
printf " │ ╲\n"
printf " │ ╲\n"
printf " |y⟩ ────╱────────┼────────╲──── |x⟩\n"
printf " ╲ │ \n"
printf " ╲ │ \n"
c_reset
# Plot qubit positions
c_magenta; printf " ╲ "; c_green; printf "●"; c_reset; c_gray; printf " q0 \n"; c_reset
c_gray; printf " ╲ "; c_reset; c_yellow; printf "●"; c_reset; c_gray; printf " q1 \n"; c_reset
c_gray; printf " ╲ "; c_reset; c_cyan; printf "●"; c_reset; c_gray; printf " q2\n"; c_reset
c_gray; printf " ╲│╱\n"; c_reset
c_gray; printf " │\n"; c_reset
c_gray; printf " │\n"; c_reset
c_gray; printf " |-z⟩ (|1⟩)\n"; c_reset
printf "\n"
printf " "
c_gray; printf "Sphere shows qubit states in 3D space: "; c_reset
printf "\n "
c_gray; printf "• North pole: "; c_reset; c_green; printf "|0⟩"; c_reset
printf " "
c_gray; printf "• South pole: "; c_reset; c_red; printf "|1⟩"; c_reset
printf " "
c_gray; printf "• Equator: "; c_reset; c_yellow; printf "superposition"; c_reset
printf "\n\n"
}
draw_entanglement_status() {
c_pink; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ 🔗 ENTANGLEMENT STATUS ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# Show entangled pairs
local pair_count=$((1 + RANDOM % 3))
for ((i=0; i<pair_count; i++)); do
local q1=$((RANDOM % 5))
local q2=$((RANDOM % 5))
if [ $q1 -eq $q2 ]; then
q2=$(( (q2 + 1) % 5 ))
fi
local entanglement=$(calculate_fidelity)
printf " "
c_magenta; printf "●"; c_reset
printf " "
c_blue; printf "q%d" "$q1"; c_reset
printf " ⟷ "
c_blue; printf "q%d" "$q2"; c_reset
printf " "
c_gray; printf "Entanglement: "; c_reset
if (( $(echo "$entanglement > 0.95" | bc -l) )); then
c_green; printf "%s" "$entanglement"; c_reset
printf " "
c_green; printf "(Strong)"; c_reset
else
c_yellow; printf "%s" "$entanglement"; c_reset
printf " "
c_yellow; printf "(Moderate)"; c_reset
fi
printf "\n"
done
printf "\n"
printf " "
c_gray; printf "Bell state: "; c_reset
c_cyan; printf "(|00⟩ + |11⟩)/√2"; c_reset
printf "\n\n"
}
draw_quantum_metrics() {
c_blue; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ 📈 QUANTUM METRICS ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# Gate count
local gate_count=$((50 + RANDOM % 100))
printf " "
c_purple; printf "Total Gates: "; c_reset
c_cyan; printf "%d\n" "$gate_count"; c_reset
# Circuit depth
local depth=$((5 + RANDOM % 10))
printf " "
c_purple; printf "Circuit Depth: "; c_reset
c_cyan; printf "%d\n" "$depth"; c_reset
# Estimated time
local exec_time=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); printf "%.2f", rand() * 5}')
printf " "
c_purple; printf "Execution Time: "; c_reset
c_cyan; printf "%s ms\n" "$exec_time"; c_reset
# Success probability
local success=$(awk -v seed=$RANDOM 'BEGIN{srand(seed); printf "%.1f", 85 + rand() * 14}')
printf " "
c_purple; printf "Success Probability: "; c_reset
if (( $(echo "$success > 95" | bc -l) )); then
c_green; printf "%s%%\n" "$success"; c_reset
elif (( $(echo "$success > 90" | bc -l) )); then
c_yellow; printf "%s%%\n" "$success"; c_reset
else
c_red; printf "%s%%\n" "$success"; c_reset
fi
# Quantum volume
local volume=$((2 ** (3 + RANDOM % 4)))
printf " "
c_purple; printf "Quantum Volume: "; c_reset
c_cyan; printf "%d\n" "$volume"; c_reset
printf "\n"
}
draw_algorithm_info() {
c_green; c_bold
printf "╔════════════════════════════════════════════════════════════════════════════════╗\n"
printf "║ 🧮 ACTIVE ALGORITHM ║\n"
printf "╚════════════════════════════════════════════════════════════════════════════════╝\n"
c_reset
printf "\n"
# Random algorithm
local algorithms=(
"Shor's Factorization|Factors large integers exponentially faster"
"Grover's Search|Quadratic speedup for unstructured search"
"Quantum Fourier Transform|Phase estimation and period finding"
"Variational Quantum Eigensolver|Ground state energy calculation"
"Quantum Phase Estimation|Eigenvalue extraction"
)
local algo_idx=$((RANDOM % ${#algorithms[@]}))
local algo="${algorithms[$algo_idx]}"
IFS='|' read -r name desc <<< "$algo"
printf " "
c_cyan; c_bold; printf "Algorithm: "; c_reset
c_green; printf "%s\n" "$name"; c_reset
printf " "
c_cyan; printf "Purpose: "; c_reset
c_gray; printf "%s\n" "$desc"; c_reset
printf "\n"
}
draw_footer() {
local timestamp="$1"
printf "\n"
c_gray
printf "═══════════════════════════════════════════════════════════════════════════════\n"
printf "Quantum simulation | Last updated: %s | Press Ctrl+C to exit\n" "$timestamp"
c_reset
}
# ==================
# MAIN DASHBOARD
# ==================
run_dashboard() {
local refresh_interval="${1:-3}"
while true; do
draw_header
draw_quantum_circuit 3
draw_qubit_states 5
draw_bloch_sphere
draw_entanglement_status
draw_quantum_metrics
draw_algorithm_info
local timestamp=$(date "+%Y-%m-%d %H:%M:%S")
draw_footer "$timestamp"
sleep "$refresh_interval"
done
}
# ==================
# CLI INTERFACE
# ==================
show_help() {
cat <<'HELP'
BlackRoad Quantum Computing Visualizer
USAGE:
blackroad-quantum-dashboard.sh [OPTIONS]
OPTIONS:
--interval N Refresh interval in seconds (default: 3)
--once Run once and exit (no loop)
--qubits N Number of qubits to simulate (default: 5)
--help Show this help
EXAMPLES:
blackroad-quantum-dashboard.sh # Live visualization
blackroad-quantum-dashboard.sh --once # Single snapshot
blackroad-quantum-dashboard.sh --interval 1 # Fast refresh
VISUALIZATIONS:
• Quantum circuit diagram with gates
• Qubit states with amplitudes and phases
• Bloch sphere representation
• Entanglement status between qubits
• Quantum metrics (depth, gates, volume)
• Active algorithm information
QUANTUM GATES SHOWN:
H - Hadamard (creates superposition)
X - Pauli-X (quantum NOT)
Y - Pauli-Y (bit and phase flip)
Z - Pauli-Z (phase flip)
T - T gate (π/8 rotation)
S - S gate (phase gate)
M - Measurement
Press Ctrl+C to exit live mode.
HELP
}
# ==================
# MAIN
# ==================
main() {
local interval=3
local once=false
local qubits=5
while [[ $# -gt 0 ]]; do
case "$1" in
--interval)
interval="$2"
shift 2
;;
--once)
once=true
shift
;;
--qubits)
qubits="$2"
shift 2
;;
--help|-h)
show_help
exit 0
;;
*)
echo "Unknown option: $1"
show_help
exit 1
;;
esac
done
if $once; then
draw_header
draw_quantum_circuit 3
draw_qubit_states "$qubits"
draw_bloch_sphere
draw_entanglement_status
draw_quantum_metrics
draw_algorithm_info
local timestamp=$(date "+%Y-%m-%d %H:%M:%S")
c_gray
printf "\nSnapshot taken at %s\n" "$timestamp"
c_reset
else
run_dashboard "$interval"
fi
}
main "$@"