izpis_h1_title_alt

Primerjava programskih jezikov za programiranje sodobnih kvantnih računalnikov
ID Likar, Roni (Author), ID Mraz, Miha (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (1,58 MB)
MD5: 5FCA05D4F22F269D6E7108D783177BBF

Abstract
Jedro magistrske naloge vsebuje opis in primerjavo programskih jezikov za programiranje sodobnih kvantnih računalnikov. Podrobneje smo predstavili in primerjali programske jezike Q#, Cirq, Qiskit in Ocean. Za lažje razumevanje kvantnih programskih jezikov smo v magistrski nalogi najprej razložili osnovne koncepte kvantnega računalništva, kot so kubit, kvantna logična vrata in razlike med tehnologijami za realizacijo kvantnih računalnikov. Jezike smo podrobneje opisali in izpostavili njihove glavne značilnosti. Ena izmed vidnejših razlik je, da je Q# samostojen jezik, medtem ko so preostali trije razširitve programskega jezika Python. Zaradi tega je morda jezik Q# nekoliko kompleksnej ši v primerjavi z ostalimi, ki temeljijo na jeziku Python. Programski jeziki Q#, Cirq, Qiskit so namenjeni za programiranje kvantnih računalnikov, ki temeljijo na kvantnih logičnih vratih in uporabljajo imperativni način programiranja. Jezik Ocean je namenjen za programiranje adiabatnih kvantnih računalnikov, ki lahko rešujejo le določene optimizacijske probleme in uporablja deklarativni način programiranja. Magistrska naloga vsebuje tudi podroben opis Shorovega algoritma, s katerim lahko na kvantnih računalnikih faktoriziramo števila v logaritemski časovni kompleksnosti. Za boljšo primerjavo med programskimi jeziki smo algoritem tudi implementirali v programskih jezikih Q#, Cirq in Qiskit. Ker jezik Ocean ne podpira implementacije tega algoritma, smo namesto tega implementirali faktorizacijo števil z uporabo kriterijske funkcije, ki se bistveno razlikuje od predhodno navedenih implementacij. Na koncu smo predstavili izvajanje Shorovega algoritma na kvantnih računalnikih in izzive s katerimi smo se pri izvajanju programov srečali.

Language:Slovenian
Keywords:kvantno računalništvo, primerjava kvantnih programskih jezikov, implementacija Shorovega algoritma, Q#, Cirq, Qiskit, Ocean
Work type:Master's thesis/paper
Typology:2.09 - Master's Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2023
PID:20.500.12556/RUL-150181 This link opens in a new window
COBISS.SI-ID:168258051 This link opens in a new window
Publication date in RUL:14.09.2023
Views:348
Downloads:34
Metadata:XML RDF-CHPDL DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Comparison of programming languages for modern quantum computers
Abstract:
The core of the master’s thesis comprises the description and comparison of programming languages for modern quantum computers. We provided a detailed presentation and comparison of the programming languages Q#, Cirq, Qiskit and Ocean. To facilitate understanding of quantum programming languages, we initially explained the fundamental concepts of quantum computing, such as qubits, quantum logic gates and differences between technologies for quantum computer implementation. We have described the languages in more detail and highlighted their main features. One of the most noticeable differences is that Q# is a stand-alone language, while the other three are extensions of the Python programming language. Consequently, Q# might be slightly more complex compared to the others based on Python. The programming languages Q#, Cirq and Qiskit are intended for programming quantum computers based on quantum logic gates, utilizing an imperative programming style. The Ocean language is designed for programming adiabatic quantum computers that can only solve certain optimisation problems and uses a declarative programming style. The thesis also includes a detailed description of Shor’s algorithm, which enables the factorization of numbers on quantum computers in logarithmic time complexity. For a better comparison between programming languages, we also implemented the algorithm in the programming languages Q#, Cirq and Qiskit. Since Ocean does not support an implementation of this algorithm, we instead implemented the factorisation of the numbers using a objective function that differs significantly from the previously mentioned implementations. Lastly, we presented the execution of Shor’s algorithm on quantum computers and the challenges encountered during program execution.

Keywords:quantum computing, comparison of quantum programming languages, implementation of Shor’s algorithm, Q#, Cirq, Qiskit, Ocean

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back