All Projects → aviggiano → qcl

aviggiano / qcl

Licence: GPL-2.0 license
Quantum Computation Language port from http://tph.tuwien.ac.at/~oemer/qcl.html

Programming Languages

C++
36643 projects - #6 most used programming language
Yacc
648 projects
Lex
420 projects
Makefile
30231 projects

Projects that are alternatives of or similar to qcl

Teach Me Quantum
⚛ 10 week Practical Course on Quantum Information Science and Quantum Computing - with Qiskit and IBMQX
Stars: ✭ 118 (+306.9%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Qpanda 2
QPanda 2 is an open source quantum computing framework developed by OriginQC that can be used to build, run, and optimize quantum algorithms.
Stars: ✭ 128 (+341.38%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-44.83%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-48.28%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (+531.03%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Grove
Quantum algorithms built using pyQuil.
Stars: ✭ 332 (+1044.83%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (+106.9%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (+113.79%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
qibo
A framework for quantum computing with hardware acceleration.
Stars: ✭ 120 (+313.79%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Blueqat
Quantum Computer Library for Everyone
Stars: ✭ 298 (+927.59%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Strawberryfields
Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
Stars: ✭ 505 (+1641.38%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Awesome Quantum Computing
A curated list of awesome quantum computing learning and developing resources.
Stars: ✭ 1,350 (+4555.17%)
Mutual labels:  quantum, quantum-computing
public research
Publicly available research done by BOHR.TECHNOLOGY.
Stars: ✭ 16 (-44.83%)
Mutual labels:  quantum-computing, quantum-algorithms
Qmlt
The Quantum Machine Learning Toolbox (QMLT) is a Strawberry Fields application that simplifies the optimization of variational quantum circuits (also known as parametrized quantum circuits).
Stars: ✭ 106 (+265.52%)
Mutual labels:  quantum, quantum-computing
Q
Quantum Computation Simulator written in golang
Stars: ✭ 99 (+241.38%)
Mutual labels:  quantum, quantum-computing
qc portfolio optimization
A program that implements the portfolio optimization experiments using a hybrid quantum computing algorithm from arXiv:1911.05296. The code was developed as part of the 2020 Quantum mentorship program. Many thanks to my mentor Guoming Wang from Zapata Computing!
Stars: ✭ 21 (-27.59%)
Mutual labels:  quantum, quantum-computing
Quantum Nc
Microsoft Quantum Computing Libraries for noncommercial use
Stars: ✭ 126 (+334.48%)
Mutual labels:  quantum, quantum-computing
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (+206.9%)
Mutual labels:  quantum, quantum-computing
Awesome Quantum Machine Learning
Here you can get all the Quantum Machine learning Basics, Algorithms ,Study Materials ,Projects and the descriptions of the projects around the web
Stars: ✭ 1,940 (+6589.66%)
Mutual labels:  quantum, quantum-computing
Interlin-q
A Quantum Interconnect Simulator for Distributed Quantum Algorithms
Stars: ✭ 32 (+10.34%)
Mutual labels:  quantum, quantum-computing

QCL (Quantum Computing Language)

QCL is one of the first implemented quantum programming languages

Intro

This is a github port from the project's official homepage. The idea is to ease the contribution of programmers interested in quantum computing, through guides, documentation, tests and the development of the core language itself.

Original README by Bernhard Oemer [email protected]

Despite many common concepts with classical computer science, quantum computing is still widely considered as a special discipline within the broad field of theoretical physics. One reason for the slow adoption of QC by the computer science community is the confusing variety of formalisms (Dirac notation, matrices, gates, operators, etc.), none of which has any similarity with classical programming languages, as well as the rather "physical" terminology in most of the available literature.

QCL (Quantum Computation Language) tries to fill this gap: QCL is a high level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal. This allows for the complete implementation and simulation of quantum algorithms (including classical components) in one consistent formalism.

Features:

  • a classical control language with functions, flow-control, interactive i/o and various classical data types (int, real, complex, boolean, string)
  • 2 quantum operator types: general unitarian (operator) and reversible pseudo-classic gates (qufunct)
  • inverse execution, allowing for on-the-fly determination of the inverse operator though caching of operator calls
  • various quantum data types (qubit registers) for compile time information on access modes (qureg, quconst, quvoid, quscratch)
  • convenient functions to manipulate quantum registers (q[n] - qubit, q[n:m] - substring, q&p - combined register)
  • Quantum memory management (quheap) allowing for local quantum variables
  • Transparent integration of Bennet-style scratch space management
  • Easy adaption to individual sets of elementary operators
  • graphical output for (X11 and Postscript) (v0.5)
  • conditional operators and quantum if-statements (v0.5, experimental)

Availability:

QCL has been developed under Linux; version 0.5.1 is tested to compile with the GNU C++ compiler 2.95.3 under SuSE 7.3. It should - however - compile under any Unix system with minor modifications (see the Makefile for details).

The current version of QCL (sources and i386 Linux binaries) is available from my homepage:

Documentation:

The reference documentation for QCL is my master thesis in technical physics "A Procedural Formalism for Quantum Computing". It gives a complete reference to QCL with many examples and also features a brief introduction into Quantum Computing. Some knowledge about Quantum Physics and familiarity with the braket-formalism is required.

A more basic introduction esp. for computing scientists to quantum computing, quantum algorithms and QCL is included in my CS master thesis "Quantum Programming in QCL" which also features an introductory chapter to quantum physics in general.

Both documents are available online in Postscript or HTML format:

Installation:

Besides the usual C++ development tools, you will need to have flex, bison and (optionally) GNU readline installed on your system.

Untar the source package, then cd to the QCL directory, edit the Makefile for your needs and type

  make
  make install

This will, by default, install the binary qcl to /usr/local/bin and the QCL include files to /usr/local/lib/qcl.

For plotting support, libplotter (the C++ bindings of of GNU libplot) is required. GNU libplot is part of the the GNU plotutils; see

Since version 0.4.3, QCL also includes support for the TeXmacs mathematical text editor. Recent TeXmacs distributions (1.0.0.6 or newer) already provide the necessary interfaces, so no additional installation is required. You can get the latest TeXmacs sources from

Credits:

Andrey G. Grozin [email protected]

  • initial TeXmacs support
  • color XTerm support

Muhammad Hussain Yusuf [email protected]

  • maintainer of the debian QCL package
  • testing of QCL on many hardware plattforms

Feedback:

If you encounter any bugs or miss any particular feature or just like QCL, please let me know. My email address is

The QCL interpreter is Open Source(tm) software, so please feel free to write your own ports and extentions. If you send me patches, I will most probably include them in future versions of QCL and maintain them to the best of my abilities. ;-) Since English isn't my native language, I also appreciate any orthographic and grammatical corrections.

Bernhard Oemer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].