Programmazione di computer quantistici per major non fisici


44

Provengo da un background non fisico e sono molto interessato a perseguire il calcolo quantistico, in particolare come programmarli. Qualsiasi guida su come iniziare sarà molto utile.


Un programmatore classico non ha bisogno di capire il funzionamento dell'elettrone. Questo vale anche per QED.
tgm1024

A proposito, il meccanismo di formattazione qui sembra orribilmente rotto rispetto ad altri siti di scambio di stack. Ho cercato di creare una risposta reale e ho dovuto rinunciare, ricorrendo quindi a un commento molto semplice. Gli elenchi qui non si comportano tra virgolette. Avevo pensato che tutti i siti stackexchange condividessero lo stesso codice UI.
tgm1024,

@ tgm1024 a cosa ti riferisci esattamente? Quale formattazione non funziona qui ma funziona su altri siti? Le liste tra virgolette funzionano perfettamente per me
glS

Risposte:


22

Potresti iniziare con un'introduzione ai computer quantistici come questa dei Voxxed Days Vienna 2018 : è pensata per le persone con un background di programmazione ma poca o nessuna conoscenza precedente nella meccanica quantistica. Successivamente è possibile consultare le guide in IBM Quantum Experience o quelle per il Microsoft Quantum Development Kit .

Inoltre, ci sono molti video su YouTube, ad esempio, che possono aiutarti a capire l'argomento in modo più approfondito.


17

Penso che i programmatori quantistici non dovranno necessariamente conoscere la fisica quantistica e l'algebra lineare. Queste sono certamente cose che aiuteranno ad ampliare la conoscenza di un programmatore quantistico, ma non dovrebbero essere considerati prerequisiti.

Anche così, la maggior parte delle risorse per aiutare un programmatore quantistico in erba inizia con un'ipotesi di algebra lineare. Quelli che non si concentrano principalmente su QISKit, l'SDK per il dispositivo quantistico di IBM (e alcuni di essi sono stati scritti da me).

Il programma più semplice che puoi trovare è un "Hello World". Come si fa per i computer quantistici? La mia proposta è una sovrapposizione di emoticon .

Una volta passato oltre "Hello World" nella programmazione quantistica, ti consigliamo di fare qualcosa di più complesso. Spesso le persone creano giochi semplici. Quindi facciamolo con un computer quantistico. Ho fatto navi da guerra .

Troverai questi e molti altri esempi di programmazione quantistica nel tutorial di QISKit . Penso che sia probabilmente il posto migliore per i nuovi programmatori quantistici per vedere cosa si può fare e come farlo.


5

pyQuil è una libreria di programmazione quantistica open source in Python. La documentazione include un'introduzione pratica al calcolo quantico in cui apprendi programmando. Non presuppone alcun background fisico.

Ecco alcuni link agli argomenti principali:


5

Non è necessario comprendere appieno la meccanica quantistica per comprendere la teoria alla base del controllo di qualità. Sono una laurea in matematica / programmatore e ho letto sull'argomento e ho anche fatto il vecchio corso di controllo qualità edX (purtroppo non è disponibile, ma ce ne sono altri). Penso di poter dire di aver capito l'essenza del controllo qualità, ma non so quasi nulla della Meccanica Quantistica.

La parte fondamentale è che Quantum Computing utilizza algebra prevalentemente lineare, che si basa sulla matematica comunemente insegnata negli studi universitari di ingegneria / informatica. Contrastalo con la vera Meccanica Quantistica che usa spazi di dimensione infinita (o analisi funzionale, se lo desideri).

Se ti senti a tuo agio con questi argomenti di matematica universitari, puoi dare un'occhiata alla Meccanica quantistica di Susskind : minimo teorico - in realtà non si tratta di meccanica quantistica "reale", è soprattutto roba utile per il controllo qualità. A proposito, l'intera serie di libri teorici minimi è rivolta a persone che conoscono la matematica (come gli informatici o specialisti in ingegneria) e vorrebbero saperne di più sulla fisica. Ci sono anche molti corsi online, ad esempio, ci sono nuovi corsi su edX, ma non ho fatto nessuno di essi, quindi non posso consigliarne uno.


4

Se vuoi andare oltre l'apprendimento di come scrivere circuiti quantistici nei vari framework di programmazione quantistica come Q # , pyQuil e QISKit , consiglio vivamente questo recente articolo con il titolo Quantum Algorithm Implementations for Beginners del Los Alamos National Laboratory. È un'ottima risorsa per comprendere come compilare e implementare vari algoritmi quantistici, nonché i loro oracoli e subroutine specifiche come circuiti quantistici con IBM Q Experience. Ti consiglierei di implementarli in uno dei suddetti framework di programmazione e di apprendere i dettagli chiacchieroni man mano che procedi.


4

I computer quantistici sono programmati da (in evoluzione linguaggi di programmazione che rappresentano) i cosiddetti circuiti quantistici. Queste sono una sequenza di porte quantiche più le informazioni su quali bit quantici (qubit) agiscono.

L'unica cosa che devi veramente sapere sulle porte quantistiche è che rappresentano rotazioni (in uno spazio dimensionale superiore, il cosiddetto spazio di Hilbert). Quindi sono reversibili: i computer quantistici sono programmati con logica reversibile.

Cosa ruotano le porte quantiche? Sono gli ipersferi su cui vivono gli stati di qubit di superficie. Ogni stato della base computazionale (|00, |01, |10, |11per un sistema a 2 qubit nella solita notazione di Dirac) ottiene un numero complesso come coefficiente o come cosiddetta ampiezza di probabilità. I vettori di base sono ortogonali e abbracciano lo spazio di Hilbert dello stato, le ampiezze di probabilità possono essere viste come coordinate in esso. Questa è l'immagine in cui le porte quantiche effettuano rotazioni. Scoprirai che i fisici usano spesso un'immagine diversa, la sfera di Bloch, per i sistemi a singolo qubit, in cui anche le porte quantistiche causano rotazioni (ma a volte da un angolo più ampio o da uno che è omesso del tutto in quell'immagine).

Tutta la logica convenzionale può essere implementata da un computer quantistico esprimendolo prima in logica reversibile (che può richiedere bit ancilla). La porta NOT classica corrisponde alla porta quantistica X, ma a differenza del caso classico in cui le uniche porte reversibili a 1 bit sono l'identità e la porta NOT, un computer quantistico ha quattro porte corrispondenti (X, Y, Z in base alle rotazioni sulla Sfera Bloch, oltre all'identità). Inoltre, puoi avere rotazioni che ruotano solo di una frazione di quanto ruotano queste porte; alcuni particolarmente interessanti hanno nomi e abbreviazioni speciali come la porta Hadamard o la porta H che crea la sovrapposizione uguale di tutti gli stati.

Sfortunatamente, i primi ingegneri del software quantistico probabilmente dovranno sapere un po 'dell'hardware quantistico che useranno: a causa dell'angolo arbitrariamente e continuamente selezionabile della rotazione effettiva di una porta quantistica, esiste una sorta di elemento analogico rispetto ai computer quantistici che crea necessariamente errori (e i computer quantistici fisici hanno ancora più fonti di errore di questo). C'è un modo per affrontarlo, la correzione quantistica dell'errore che discretizza gli errori e corregge le discretizzazioni più probabili di essi per ottenere calcoli (idealmente) arbitrariamente complessi con errori associati. Ma l'ottimizzazione probabilmente significherà che un computer quantistico con una scelta di correzione dell'errore quantico sarà più adatto a determinati gate quantici o persino algoritmi rispetto ad altri,


Qualcun altro si sta chiedendo se gli unici che capiranno come scrivere facilmente algoritmi quantistici saranno le IA quantistiche auto-evolute?
tgm1024,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.