Scotty
Scotty is a quantum computing framework for Java and Scala developers. It comes with a quantum computer simulator and tools for exploring superpositions and circuits.
Top Features
Flexible Structure
All quantum components can be used separately or in unison.
Powerful Simulator
Scotty comes with a quantum circuit simulator for up to 29 qubits.
Quantum Circuits
Build quantum circuits with custom and composite gates.
State Tools
Explore qubit superpositions and collapsed classical states.
Quantum Experiments
Get statistical data from multiple trials of the same experiment.
Qubits on Steroids
Define flexible quantum registers with labeled qubits.
Show Me the Code!
Here's a fully working example of a quantum teleportation algorithm implemented with Scotty:
def entangle(q1: Int, q2: Int) = Circuit(H(q1), CNOT(q1, q2))
val msg = Qubit(Complex(0.8), Complex(0.6), "message")
val here = Qubit.zero("here")
val there = Qubit.zero("there")
val register = QubitRegister(msg, here, there)
val circuit = entangle(1, 2)
.combine(CNOT(0, 1), H(0))
.combine(CNOT(1, 2), Controlled(0, Z(2)))
.withRegister(register)
implicit val sim = QuantumSimulator()
assert(
QubitProbabilityReader(register, sim.run(circuit))
.read("there")
.fold(false)(_.probabilityOfOne ~= msg.probabilityOfOne))