izpis_h1_title_alt

Primerjava programskih jezikov za programiranje sodobnih kvantnih računalnikov
ID Likar, Roni (Avtor), ID Mraz, Miha (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (1,58 MB)
MD5: 5FCA05D4F22F269D6E7108D783177BBF

Izvleček
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.

Jezik:Slovenski jezik
Ključne besede:kvantno računalništvo, primerjava kvantnih programskih jezikov, implementacija Shorovega algoritma, Q#, Cirq, Qiskit, Ocean
Vrsta gradiva:Magistrsko delo/naloga
Tipologija:2.09 - Magistrsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2023
PID:20.500.12556/RUL-150181 Povezava se odpre v novem oknu
COBISS.SI-ID:168258051 Povezava se odpre v novem oknu
Datum objave v RUL:14.09.2023
Število ogledov:738
Število prenosov:81
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Comparison of programming languages for modern quantum computers
Izvleček:
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.

Ključne besede:quantum computing, comparison of quantum programming languages, implementation of Shor’s algorithm, Q#, Cirq, Qiskit, Ocean

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj