Esiste una guida allo studio che parte da un "background puramente CS" e avanza verso "la creazione di un nuovo linguaggio di programmazione quantistica"?


12

Vengo da un background informatico e trovo difficile decidere le risorse su cui concentrarmi mentre apprendo l'informatica quantistica, poiché c'è così tanto da leggere / guardare. Il mio obiettivo finale è creare un linguaggio di programmazione che funga da interfaccia tra i computer quantistici e la persona simile al 1972 quando fu creato il C. Come stadio intermedio realistico, vorrei arrivare al punto di scrivere programmi su QISKit di IBM.

Per questo, avrei bisogno di una guida di studio schematica al fine di acquisire il necessario background in Fisica e i campi correlati richiesti per tuffarsi nel campo dell'informatica quantistica. Esiste già: un elenco ordinato di concetti e abilità indispensabili da padroneggiare, che se possibile menziona anche materiale adeguato per acquisirli ?

Assumi una conoscenza fisica di livello superiore. Fornire una guida allo studio, ad esempio da guida per principianti a esperta. Cerca di elencare le risorse di video / libri che dovresti seguire in un ordine cronologico in modo da diventare un esperto nel campo dell'informatica quantistica al livello in cui posso scrivere il mio linguaggio di informatica quantistica (supponendo che abbia già altre competenze CS per scrivere la lingua) .



3
Benvenuti in Quantum Computing SE! Attualmente, il titolo di questa domanda fa sembrare che stai chiedendo qualcosa di ampio e basato sull'opinione (che è qualcosa per cui il formato di domande e risposte SE non è progettato), sebbene il corpo principale della domanda chiarisca che questo è in realtà un richiesta di risorse (che è accettabile). Pertanto, sarebbe molto utile se modifichi il titolo della domanda per essere più specifico su ciò che vuoi sapere. Inoltre, potrebbe essere utile se includessi esattamente ciò che manca alle risposte alla domanda collegata nei commenti, così possiamo aiutarti meglio. Grazie!
Mithrandir24601

1
Vedi in particolare la nostra politica relativa alle domande sulla richiesta di risorse . Questo è troppo vasto.
erica

1
Stai pensando a qualcosa come nand2tetris, ma quantico? O qualcosa come il libro "Quantum Computing for Computer Scientists"?
James Wootton,

1
Grazie alle tue modifiche, credo che questo soddisfi i requisiti di richiesta delle risorse, quindi ho riaperto.
erica

Risposte:


11

Non penso che ci sia un'unica risorsa d'oro che possa fornirti tutte le conoscenze necessarie. Ma potrei suggerire un percorso (o una guida di studio schematica nelle tue parole):

Se il tuo obiettivo è quello di creare un nuovo linguaggio di programmazione quantistica, preferirei dire che prima dovresti imparare a fondo un linguaggio di programmazione quantistica esistente insieme ai concetti di base dell'informatica quantistica, sia dal lato della fisica che da quello dell'informatica (forse anche la matematica lato!).

  • Microsoft ha il suo linguaggio di programmazione quantistica chiamato Q # (che fa parte del loro Quantum Development Kit ). La documentazione completa-cum-guide è sul loro sito Web: https://docs.microsoft.com/en-us/quantum . Se vieni dal lato CS, spero che tu abbia già qualche conoscenza di vettori, matrici e algebra lineare in generale. In tal caso, puoi iniziare direttamente a leggere la guida articolo per articolo. Inizialmente, iniziano con una breve revisione di matrici, vettori, ecc. Seguita da una breve introduzione ai qubit. Questo è sufficiente per almeno iniziare a scrivere un programma quantistico di base, con una comprensione minima della fisica dietro di esso. A proposito, se i tuoi concetti di algebra lineare sono deboli, puoi sempre provareLe lezioni di Khan Academy sullo stesso.

  • Successivamente, vorresti imparare almeno alcune basi della meccanica quantistica. Personalmente adoro le lezioni del professor Vazirani , che ora sono su Youtube. In circa 60 lezioni di dieci minuti copre tutte le basi necessarie della meccanica quantistica e degli algoritmi di calcolo quantistico. Dopo questo, saresti in buona forma per raccogliere nuovi algoritmi da solo.

  • Come terzo passo, suggerirei di raccogliere " Calcolo quantistico e informazioni quantistiche di Isaac Chuang e Michael Nielsen " e anche " Calcolo quantistico per informatici di Mirco A. Mannucci e Noson S. Yanofsky " per aver trattato gli argomenti importanti che voi perso.

Questo dovrebbe essere sufficiente per ottenere una solida base per iniziare a scrivere il proprio linguaggio di programmazione quantistica. Puoi anche guardare tutorial per altri linguaggi di calcolo quantistico comuni per avere un'idea di come scrivere programmi quantistici e progettare linguaggi di programmazione quantistica.


6

Suggerirei di riflettere sull'obbiettivo di "creare un nuovo linguaggio di programmazione quantistica" a questo punto nello sviluppo del calcolo quantistico. Non è l'approccio più comune, dal momento che per lo più siamo ancora nella fase di pensiero in termini di ciò che è essenzialmente un linguaggio macchina. Quando creiamo algoritmi, il livello al quale viene fatto è simile all'espressione di algoritmi classici in termini di porte logiche (come questo esempio per la moltiplicazione). Gli SDK quantistici, come QISKit, sono essenzialmente modi di creare posti di lavoro da inviare a hardware o simulatori quantistici. Ciò include strumenti per l'esecuzione di simulazioni, l'ottimizzazione del tempo di esecuzione o dei livelli di rumore, ecc. In realtà non sono linguaggi nel senso alto a cui siamo abituati per il calcolo classico.

Per un'introduzione a ciò che sta succedendo a questo livello dello stack quantistico, Q è per Quantum di Terry Rudolph potrebbe essere utile.

Per il tuo obiettivo intermedio di scrivere programmi con QISKit, ti consiglio il tutorial di QISKit . Ha molti esempi funzionanti di implementazione di brevi programmi quantistici. C'è anche una pubblicazione QISKit su Medium in cui alcune delle cose del tutorial sono spiegate in modo più dettagliato. C'è anche un tutorial gamified su QISKit , che potrebbe essere utile come warm-up per il tutorial completo di QISKit.

Rivelazione completa: ho contribuito a tutte le cose menzionate nel paragrafo finale.


3
Vorrei essere in disaccordo con questo. Non appena è stato sviluppato FORTRAN (quando i computer digitali erano ancora piuttosto primitivi), le persone hanno iniziato a usarlo al posto del linguaggio macchina, e questo è stato probabilmente il più grande salto nei linguaggi di programmazione nella storia dei computer classici. Perché dovremmo costringere le persone a programmare in linguaggio macchina per computer quantistici? (Sono sicuro che lo faranno, per efficienza, ma non dovrebbero essere costretti a farlo.)
Peter Shor,

1
Ottimo punto! Direi che al momento l'hardware non sta pensando molto oltre il linguaggio macchina. Ma sarebbe bello essere smentito.
James Wootton,

Ho modificato un po 'la mia risposta per attenuare la negatività e ho appena sottolineato che non è il solito modo di fare le cose al momento (anche se ciò non significa che sia sbagliato)
James Wootton,
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.