Scotty 0.4.0 Released
This release focuses on adding new gates, a new StateReader
for single qubits that generates Bloch sphere vector coordinates and angles, and a multi-trial abstraction that lets developers run the same circuit many times in parallel. Changes since 0.3.0
:
- Remove Scala 2.11 support. Now Scotty only runs on Scala 2.12 and 2.13.
- Add
BlochSphereReader
that works for any superposition of a single qubit. The reader shows $\phi$ and $\theta$ angles and $x$, $y$, and $z$ coordinates of the qubit superposition on the Bloch sphere. - Change
SuperpositionReader
toStateReader
that now works with superpositions and collapsed states. This change is mainly about convenience, so developers don’t have to pattern match on circuit results in order to use state readers. - Drop custom complex number implementation in favor of the Apache Commons Math implementation.
- Add
densityMatrix
for qubits andouterProduct
for superpositions toQuantumContext
. - Add several new gates to completely match the Quil gate set:
ISWAP
,PSWAP
,CPHASE
,CPHASE00
,CPHASE10
, andCPHASE01
. - Add usability helpers to
Bit
,Qubit
, andState
abstractions. - Add a multiple trial abstraction called
ExperimentResult
that can be used with a new variation of therunAndMeasure
method that allows to specify a custom number of experiment trials as well as the level of parallelism. The Scotty simulator uses aForkJoinPool
to run multiple simulations in parallel.
Next version will be focused on (actually) improving simulator performance and adding better DSL abstractions for multi-qubit gates.