quaco.js
Version:
A lightweight modular Quantum Computing Simulator in JavaScript. Supports qubits, quantum gates, entanglement, circuits, algorithms, and visualization.
29 lines (23 loc) • 1.15 kB
JavaScript
// demo-runner.js
import { Simulator } from './src/Simulator.js';
import { QuantumGate } from './src/QuantumGate.js';
import { Visualizer } from './src/Visualizer/Visualizer.js';
import { DeutschJozsa } from './src/Algorithms/DeutschJozsa.js';
import { Grover } from './src/Algorithms/Grover.js';
console.log("===== Superposition Example =====");
const sim1 = new Simulator(1);
sim1.addGate(QuantumGate.hadamard(), 0);
Visualizer.showHistogram(sim1.run(1000));
console.log("\n===== Entanglement Example (Bell State) =====");
const sim2 = new Simulator(2);
sim2.addGate(QuantumGate.hadamard(), 0);
sim2.addCNOT(0, 1);
Visualizer.showHistogram(sim2.run(1000));
console.log("\n===== Deutsch-Jozsa Example =====");
const resultConstant = DeutschJozsa.run(3, 'constant');
console.log("Deutsch-Jozsa (constant):", resultConstant);
const resultBalanced = DeutschJozsa.run(3, 'balanced');
console.log("Deutsch-Jozsa (balanced):", resultBalanced);
console.log("\n===== Grover's Search Example =====");
const found = Grover.run(3, 5);
console.log("Grover found marked item:", found, "(decimal:", parseInt(found, 2) + ")");