Jednym z głównych powodów dlaczego komputery kwantowe rozbudzają wyobraźnie i nadzieje wielu osób na całym świecie jest możliwość znacznego zwiększenia prędkości wykonywanych obliczeń w porównaniu do komputerów klasycznych. Niestety zanim ujrzymy komputery kwantowe w codziennym życiu minie zapewne wiele lat. Niemniej już teraz istnieją algorytmy które potrafią wykonywać określone zadania szybciej niż klasyczne komputery. Jednym z takich algorytmów jest Grover search algorythm.
quantum programming
Q# Splątanie kwantowe
Jednym z fundamentalnych zjawisk występujących w fizyce kwantowej oraz w programowaniu na komputerach jest splątanie kwantowe. Zjawisko to występuję w przypadku dwóch kwantów które są splątane i powoduję ze dokonanie pomiaru na jednym z tych kubitów nie tylko określi wartość dla tego kubita ale również spowoduje określenie wartości dla drugiego kubita i to natychmiastowo. Niezależnie od odległości jaka się między nimi znajduję. Do splątania kubitów najczęściej wykorzystuję się bramkę CNOT opisaną we wcześniejszym artykule. Niemniej nic nie stoi na przeszkodzie by dokonać splątania większej liczby kubitów w bardziej zaawansowanych algorytmach.
Q# konfiguracja środowiska i pierwszy program
Zanim przejdziemy bezpośrednio do pisania kodu i zaczniemy tworzyć nasze pierwsze programy kwantowe konieczne jest przygotowanie środowiska. Q# można uruchomić w Visual Studio, Visual Studio Code czy też przy wykorzystaniu pythona i Jupyter Notebooks. W niniejszym instruktażu praca będzie wykonywana przy użyciu Visual Studio 2022.
Q# krótka składnia
Q# jest językiem programowania wykorzystywanym przez Microsoft do wykonywania obliczeń kwantowych. Język ten jest podobny do pod wieloma względami podobny do języka C# tego samego producenta niemniej posiada operacje umożliwiające prace na obiektach kwantowych. Poniżej znajduję się skrótowa składnia tego języka.