UNPKG

1cbyc-quantum-npm

Version:

A sophisticated, modular quantum computing simulator for real-world algorithm prototyping, state management, and quantum research.

20 lines (19 loc) 653 B
import QuantumAlgorithm from './QuantumAlgorithm.js' import QuantumGates from '../gates/QuantumGates.js' class QuantumTeleportation extends QuantumAlgorithm { constructor(circuit, state) { super(circuit) this.state = state } run() { this.circuit.addGate(QuantumGates.H, [0]) this.circuit.addGate((s) => QuantumGates.CNOT(s), [0, 1]) this.circuit.run(this.state) const m0 = this.state.measure() const m1 = this.state.measure() if (m1 === 1) this.state.applyOperator(QuantumGates.X) if (m0 === 1) this.state.applyOperator(QuantumGates.Z) return this.state.getState() } } export default QuantumTeleportation