Scotty

Scotty is a quantum computing framework for 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 complete quantum computer simulator.

Quantum Circuits

Build quantum circuits with custom gates and topologies.

State Tools

Explore qubit superpositions and collapsed classical states.

Quantum Experiments

Get statistical data from multiple trials of the same experiment run in parallel.

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)

assert(
  QubitProbabilityReader(register, QuantumSimulator().run(circuit))
    .read("there")
    .fold(false)(_.probabilityOfOne ~= msg.probabilityOfOne))