Skip to main content

quantum-computing

Quantum computing concepts and NeuralBlitz quantum neuron implementation

Informations de source

Dépôt
ffsshhttiikk/opencode-agents-skills
Dernière activité de la source
28 février 2026 à 22:54
Langue détectée de SKILL.md
anglais
Étoiles
3
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
quantum-computing
description
Quantum computing concepts and NeuralBlitz quantum neuron implementation
license
MIT
compatibility
opencode
metadata
{"audience":"developers","category":"domain-specific"}
## What I do - Implement quantum-inspired neural networks - Model quantum spiking neurons - Handle quantum state evolution - Manage superposition and entanglement - Implement quantum tunneling behavior - Handle coherence and decoherence - Work with multi-reality networks - Optimize quantum circuit simulation ## When to use me When working with the NeuralBlitz quantum computing components or implementing quantum-inspired algorithms. ## Quantum State Representation ```python import numpy as np from typing import Optional, Tuple from scipy.linalg import expm class QuantumState: """ Quantum state vector in Hilbert space. The state is represented as a normalized complex vector. For n qubits, the state space has dimension 2^n. """ def __init__(self, num_qubits: int) -> None: """ Initialize quantum state to |0⟩^n. Args: num_qubits: Number of qubits (must be positive integer) """ self.num_qubits = num_qubits self.dim = 2 ** num_qubits self.state = np.zeros(self.dim, dtype=complex) self.state[0] = 1.0 # |0⟩ state @property def data(self) -> np.ndarray: """Return the state vector (read-only view).""" return self.state.copy() def normalize(self) -> None: """Normalize state vector to unit length.""" norm = np.linalg.norm(self.state) if norm > 0: self.state /= norm def measure(self) -> int: """ Measure state in computational basis. Returns: Measured basis state index with probability = |<x|ψ⟩|² """ probs = np.abs(self.state) ** 2 probs /= probs.sum() return np.random.choice(len(self.state), p=probabilities) def fidelity(self, other: 'QuantumState') -> float: """ Calculate fidelity between two quantum states. Fidelity = |⟨ψ|φ⟩|² for pure states. Args: other: Another quantum state to compare Returns: Fidelity value between 0 and 1 """ overlap = np.vdot(self.state, other.state) return np.abs(overlap) ** 2 ``` ## Quantum Gates ```python class QuantumGate: """Quantum gate operations on state vectors.""" @staticmethod def hadamard(num_qubits: int, target: int) -> np.ndarray: """ Create Hadamard gate for superposition. H|0⟩ = (|0⟩ + |1⟩)/√2 H|1⟩ = (|0⟩ - |1⟩)/√2 """ H = np.array([[1, 1], [1, -1]]) / np.sqrt(2) return QuantumGate.expand_gate(H, num_qubits, target) @staticmethod def pauli_x(num_qubits: int, target: int) -> np.ndarray: """Pauli-X (NOT) gate: |0⟩→|1⟩, |1⟩→|0⟩""" X = np.array([[0, 1], [1, 0]]) return QuantumGate.expand_gate(X, num_qubits, target) @staticmethod def pauli_z(num_qubits: int, target: int) -> np.ndarray: """Pauli-Z gate: |1⟩→-|1⟩, |0⟩→|0⟩""" Z = np.array([[1, 0], [0, -1]]) return QuantumGate.expand_gate(Z, num_qubits, target) @staticmethod def cnot(num_qubits: int, control: int, target: int) -> np.ndarray: """Controlled-NOT gate (CNOT).""" dim = 2 ** num_qubits matrix = np.eye(dim, dtype=complex) for i in range(dim): if (i >> control) & 1 and not (i >> target) & 1: j = i | (1 << target) k = i & ~(1 << target) matrix[j, i] = 1 matrix[k, i] = 0 return matrix @staticmethod def rz(angle: float, num_qubits: int, target: int) -> np.ndarray: """ Rotation around Z-axis by angle. Rz(θ) = exp(-iθZ/2) """ RZ = np.array([ [np.exp(-1j * angle / 2), 0], [0, np.exp(1j * angle / 2)] ]) return QuantumGate.expand_gate(RZ, num_qubits, target) @staticmethod def expand_gate( gate: np.ndarray, num_qubits: int, target: int ) -> np.ndarray: """ Expand single-qubit gate to full operator. Uses tensor product to embed single-qubit operation into larger Hilbert space. """ dim = 2 ** num_qubits if target < 0 or target >= num_qubits: raise ValueError(f"Invalid target qubit: {target}") result = np.eye(1, dtype=complex) for i in range(num_qubits): if i == target: result = np.kron(result, gate) else: result = np.kron(result, np.eye(2, dtype=complex)) return result ``` ## Quantum Spiking Neuron ```python class QuantumSpikingNeuron: """ Quantum-inspired spiking neuron model. Combines quantum mechanics with spiking neural network principles: - Quantum superposition for input integration - Quantum tunneling for spike generation - Coherence time limiting neural activity """ def __init__( self, num_qubits: int = 4, coherence_time: float = 100.0, tunneling: float = 0.1, threshold: float = 0.5, ) -> None: self.num_qubits = num_qubits self.coherence_time = coherence_time self.tunneling = tunneling self.threshold = threshold self.state = QuantumState(num_qubits) self.weights = np.random.randn(num_qubits) * 0.1 self.spike_history: list[float] = [] self.last_update: float = 0.0 def evolve( self, inputs: np.ndarray, dt: float, hamiltonian: Optional[np.ndarray] = None ) -> Tuple[np.ndarray, bool]: """ Evolve quantum state and potentially spike. Args: inputs: Input currents from connected neurons dt: Time step in milliseconds hamiltonian: Optional custom Hamiltonian matrix Returns: Tuple of (output_state, did_spike) """ if len(inputs) != self.num_qubits: raise ValueError(f"Expected {self.num_qubits} inputs, got {len(inputs)}") self.last_update = dt # Create Hamiltonian from inputs (H = -Σ w_i |i⟩⟨i|) if hamiltonian is None: hamiltonian = np.diag(-self.weights * inputs) # Time evolution operator: U(t) = exp(-iHt) evolution = expm(-1j * hamiltonian * dt) # Apply evolution self.state.state = evolution @ self.state.state # Apply tunneling (stochastic spike mechanism) spike_probability = self._calculate_spike_probability() should_spike = np.random.random() < spike_probability if should_spike: self._emit_spike() return self.state.state, True return self.state.state, False def _calculate_spike_probability(self) -> float: """ Calculate spike probability based on quantum state. Uses probability amplitude in excited states modulated by tunneling rate. """ excited_prob = np.sum(np.abs(self.state.state[2 ** (self.num_qubits - 1):]) ** 2) coherence_factor = np.exp(-self.last_update / self.coherence_time) return excited_prob * self.tunneling * coherence_factor def _emit_spike(self) -> None: """Reset state after spike emission.""" self.spike_history.append(self.last_update) # Collapse to ground state (reset) self.state = QuantumState(self.num_qubits) # Keep last spike time for refractory period self._refractory_timer = 5.0 # ms def get_membrane_potential(self) -> float: """Estimate membrane potential from state vector.""" return np.sum( np.arange(2 ** self.num_qubits) * np.abs(self.state.state) ** 2 ) ``` ## Multi-Reality Network ```python class MultiRealityNetwork: """ Network that spans multiple parallel realities. Each reality maintains its own quantum state, and entanglement allows correlation between realities. """ def __init__( self, num_realities: int = 4, neurons_per_reality: int = 20, entanglement_strength: float = 0.1, ) -> None: self.num_realities = num_realities self.neurons_per_reality = neurons_per_reality self.entanglement_strength = entanglement_strength self.neurons: list[list[QuantumSpikingNeuron]] = [] self.entanglement_matrix: np.ndarray self._initialize_network() def _initialize_network(self) -> None: """Initialize neurons in each reality.""" for r in range(self.num_realities): reality_neurons = [ QuantumSpikingNeuron( num_qubits=4, coherence_time=100.0, tunneling=0.1, ) for _ in range(self.neurons_per_reality) ] self.neurons.append(reality_neurons) self.entanglement_matrix = np.eye(self.num_realities) def evolve_cycle(self, dt: float) -> list[list[bool]]: """ Evolve all neurons across all realities. Returns: Matrix of spike events (reality × neuron) """ spike_matrix = [] for r in range(self.num_realities): reality_spikes = [] for neuron in self.neurons[r]: inputs = self._get_inputs(r, neuron) _, spiked = neuron.evolve(inputs, dt) reality_spikes.append(spiked) spike_matrix.append(reality_spikes) self._apply_entanglement(spike_matrix) return spike_matrix def _get_inputs( self, reality: int, target_neuron: QuantumSpikingNeuron ) -> np.ndarray: """Get inputs from neurons in same reality.""" inputs = np.zeros(target_neuron.num_qubits) for i, neuron in enumerate(self.neurons[reality]): if neuron is not target_neuron: inputs[i] = neuron.get_membrane_potential() return inputs def _apply_entanglement(self, spike_matrix: list[list[bool]]) -> None: """ Apply quantum entanglement between realities. Correlates activity across realities based on entanglement matrix. """ spike_array = np.array(spike_matrix) for i in range(self.num_realities): for j in range(i + 1, self.num_realities): correlation = self.entanglement_matrix[i, j] if correlation > 0: self._entangle_realities( spike_array[i], spike_array[j], correlation ) def _entangle_realities( self, spikes_a: np.ndarray, spikes_b: np.ndarray, strength: float ) -> None: """ Entangle activity between two realities. Adjusts spike probabilities based on correlated activity patterns. """ agreement = np.sum(spikes_a == spikes_b) / len(spikes_a) if agreement > 0.8: # Strong correlation - reinforce adjustment = strength * (1 - agreement) elif agreement < 0.2: # Strong anti-correlation adjustment = -strength * (0.5 - agreement) else: adjustment = 0 self.entanglement_matrix = np.clip( self.entanglement_matrix + adjustment * 0.01, 0, 1 ) ```
Voir sur GitHub