Skip to content

brs96/qdot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Unitary Fund

Qdot

This project is new and under initial development. Qdot is a Scala 3 library (QASM-transpiler) that allows Scala/Java developers write native quantum/hybrid programs.

Motivations

  1. Run hybrid programs on JVM directly, by sending transpiled QASM to quantum computers directly through IBM qiskit python. Currnet impl include: quantum Fourier transform/phase estimation, QAOA.

  2. Leverage Scala syntax + type system for concise and correct programs.

  3. Compile-time checks - which becomes particularly important as size of hybrid programs increases. To be implemented with Scala3 macros.

For any question please ask in #qdot channel in http://discord.unitary.fund/

sbt project compiled with Scala 3

Usage

This is a normal sbt project. You can compile code with sbt compile, run it with sbt run, and sbt console will start a Scala 3 REPL.

For more information on the sbt-dotty plugin, see the scala3-example-project.

To run written quantum programs on IBMQ, you will need to have Python and Qiskit install Install qiskit with pip install qiskit, use a new separate environment if you wish (e.g conda create -n ENV_NAME python=3 and conda activate ENV_NAME) You need to provide you IBMQ api token to scala.qdot.backend.IBMQBackend class.

About

A Scala library to write quantum programs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published