Czy jest jakiś sposób emulacji komputera kwantowego na moim normalnym komputerze, aby móc testować i wypróbować kwantowe języki programowania (takie jak Q # )? Mam na myśli coś, co naprawdę mogę przetestować moją hipotezę i uzyskać najbardziej dokładne wyniki.
Aktualizacja: Tak naprawdę nie szukam symulacji komputera kwantowego, ale nie jestem pewien, czy można go skutecznie emulować na zwykłym komputerze nieopartym na kwantach.
Odpowiedzi:
Tak, jest to możliwe (ale powolne). Istnieje kilka istniejących emulatorów (to tylko częściowa lista):
(Ponadto Q # działa tylko z QDK MS , dzięki @Pavel)
Wada tych wszystkich jest prosta: nadal działają na obwodach binarnych (nie kwantowych). Według mojej najlepszej wiedzy nie ma łatwo dostępnego komputera kwantowego do uruchamiania tych rzeczy. A ponieważ do wyrażenia pojedynczego kubita potrzeba wielu bitów binarnych, ilość mocy obliczeniowej potrzebnej do symulacji programu kwantowego bardzo szybko rośnie.
Zacytuję artykuł na ten temat ( J. Allcock, 2010 ):
str. 89, sekcja 5.1
Gdy nasze wdrożenia stają się coraz bardziej dokładne, stają się również wolniejsze.
TL; DR: jest to możliwe, i istnieją pewne emulatory, ale żaden nie jest bardzo wydajny dla dużych ilości kubitów.
źródło
Tak, można symulować komputer kwantowy na normalnym - ale najprawdopodobniej musisz poświęcić wydajność.
Zasoby
Możesz być zainteresowany Q #, jak zauważyły inne odpowiedzi. Kilka innych emulatorów:
Plac zabaw komputerowych
Symulator QX
Quantum ++
Kwantowy język komputerowy
Bardziej odpowiednie emulatory można znaleźć na stronie Quantiki
źródło
Tak, można symulować obliczenia kwantowe na klasycznym komputerze. Ale koszt symulacji rośnie wykładniczo wraz z liczbą kubitów i / lub głębokością obwodu i / lub liczbą operacji.
Do szybkiego testowania pomysłów mój symulator Quirk jest świetny. Jest to symulator obwodu kwantowego typu „ przeciągnij i upuść”, działający w przeglądarce internetowej. Dostęp do wersji na żywo można uzyskać na stronie algassert.com/quirk .
Oto zrzut ekranu z przykładowego obwodu Quirka Grovera, który jest wyposażony w wyświetlacze stanu pośredniego w celu śledzenia prawdopodobieństwa stanu „ukrytego”:
źródło
Jeśli szczególnie patrzysz na Q #, to jest bardzo łatwy w użyciu z emulatorem - w rzeczywistości nie można mieć Q #, ale nie mieć emulatora, są one połączone w pakiet.
Aby rozpocząć, najpierw musisz pobrać .NET Core ze strony Microsoft .
Gdy pobierasz Quantum Development Kit
dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"
firmy Microsoft za pośrednictwem strony internetowej firmy Microsoft, pobiera ona zarówno język, jak i własny emulator Microsoft.Utworzenie nowego projektu Q # (
dotnet new console -lang Q#
) automatycznie skonfiguruje go do korzystania z emulatora, więc po wpisaniu Q Q i uruchomieniu projektu „po prostu działa”.źródło
Tak. Jeśli sam go zbudujesz, znajdź komputer innej firmy o takich samych parametrach jak BullSequana M9600 lub wymyśl 100 000 € + i kup system od Atos.
Zwróć uwagę na podobieństwo między serią BullSequana M9600 a Atos QLM .
To samo pudełko (i prawdopodobnie wewnętrzne komponenty) z innym oprogramowaniem (ale chciałeś użyć własnego, Q #). Atos twierdzi: „Najskuteczniejszy symulator kwantowy na świecie”. Nie jestem tego pewien, ale specyfikacje dla wersji 30 kubitów są osiągalne, tylko dwa procesory Intel i 1 TB pamięci.
Broszura Atos QLM .PDF .
Jeśli użyjesz tylko 256 GB pamięci i 1-24 TB Swap Drive, będzie on wolny, ale będzie działał.
Cytat z broszury:
„Kwantowa maszyna edukacyjna Atos oblicza dokładne wykonanie programu kwantowego z dwucyfrową precyzją. Symuluje prawa fizyki , które stanowią sedno obliczeń kwantowych. Jest to bardzo różne od istniejących procesorów kwantowych, które cierpią na kwant hałas, kwantowe dekoherencje i uprzedzenia produkcyjne, a także wąskie gardła wydajności. Symulacja na maszynie kwantowej Atos umożliwia programistom skupienie się na swoich aplikacjach i algorytmach bez konieczności oczekiwania na dostępność maszyn kwantowych ”.
Twierdzą, że mają wysoką dokładność, ponieważ jest to symulator, który nie jest narażony na hałas - ani nie będzie tak szybki ani tak drogi. Teoretycznie możesz dodać do komputera trochę pamięci, napędów i oprogramowania ...
źródło
Myślę, że ładny „przegląd” na ten temat można znaleźć na stronie: Quantiki
Mają listę kwantowych symulatorów komputerowych w kilku językach, niektóre z tych symulatorów były już tutaj cytowane. Prowadzą jednak listę, którą aktualizują, aby poinformować (lub spróbować poinformować) o stanie projektu. Istnieje kilka „bibliotek”, takich jak:
Haskell
qchas (qchas: biblioteka do implementacji algorytmów kwantowych) - biblioteka przydatna do implementacji algorytmów kwantowych. Zawiera definicje bram kwantowych, kubitów.
Pyton
qubiter : Projekt Qubiter ma na celu zapewnienie pełnego zestawu narzędzi, napisanych głównie w języku Python, do projektowania i symulacji układów kwantowych na klasycznych komputerach.
JavaScript
jsqis : jsqis, w swej istocie, to kwantowy symulator komputerowy napisany w JavaScript. Umożliwia inicjalizację rejestrów kwantowych i manipulowanie nimi za pomocą bramek kwantowych.
źródło