Content deleted Content added
No edit summary Tags: Mobile edit Mobile web edit |
No edit summary |
||
(12 intermediate revisions by 5 users not shown) | |||
Line 1:
{{refimprove|date=March 2018}}
'''Quantum Computation Language''' ('''QCL''') is one of the first implemented [[quantum programming]] [[programming languages|languages]].<ref>{{cite web|url=http://tph.tuwien.ac.at/~oemer/qcl.html |title=QCL - A Programming Language for Quantum Computers |website=tuwien.ac.at |access-date
The language was created before there were multi-qubit quantum computers and the only implementation of QCL uses an interpreter with a built-in classically simulated quantum computer.
The QCL standard library provides standard quantum operators used in quantum algorithms such as:▼
QCL was created to explore programming concepts for quantum computers.<ref>{{cite thesis|last=Ömer |first=Bernhard |date=2000-01-20 |title=Quantum Programming in QCL|publisher=Institute for Theoretical Physics, Vienna University of Technology|url=http://tph.tuwien.ac.at/~oemer/doc/quprog.pdf |access-date=2021-05-24}}</ref><ref>{{cite journal|last=Ömer|first=Bernhard|title=Classical Concepts in Quantum Programming|journal=International Journal of Theoretical Physics|date=29 Apr 2003|volume=44|issue=7|pages=943–955|doi=10.1007/s10773-005-7071-x|arxiv=quant-ph/0211100|s2cid=119373370}}</ref><ref>{{cite web|title=Structured Quantum Programming|last=Ömer|first=Bernhard|url=http://tph.tuwien.ac.at/~oemer/doc/structquprog.pdf|date=2 September 2009|publisher=Institute for Theoretical Physics, Vienna University of Technology}}</ref>
▲The QCL
* Controlled-not with many target qubits,
* [[Hadamard operation]] on many qubits,
* Phase and controlled phase.
* Quantum algorithms for addition
* The [[Quantum Fourier transform|quantum fourier transform]]
Line 16 ⟶ 20:
**Classical - int, real, complex, boolean, string, vector, matrix, tensor
*Function types
**qufunct - Pseudo-classic operators. Can only change the permutation of
**operator - General unitary operators. Can change the amplitude.
**procedure - Can call measure, print, and dump inside this function. This function is non-invertible.
Line 58 ⟶ 62:
}
</syntaxhighlight>
defines inverse about the mean operator used in [[Grover's algorithm]] (it is sometimes called ''Grover's diffusion operator''). This allows one to define algorithms on a higher level of abstraction and extend the library of functions available for programmers.
== References ==
|