Existe-t-il un guide d'étude qui part d'un «arrière-plan purement CS» et évolue vers «la création d'un nouveau langage de programmation quantique»?

12

Je suis issu de l'informatique et j'ai du mal à décider des ressources sur lesquelles je dois me concentrer pour apprendre l'informatique quantique, car il y a tellement de choses à lire / regarder. Mon but ultime est de créer un langage de programmation agissant comme une interface entre les ordinateurs quantiques et la personne similaire à 1972 quand C a été créé. En tant qu'étape intermédiaire réaliste, j'aimerais en arriver à écrire des programmes sur QISKit d'IBM.

Pour cela, j'aurais besoin d'un guide d'étude schématique afin d'acquérir les connaissances nécessaires en physique et les domaines connexes nécessaires pour plonger dans le domaine de l'informatique quantique. Cela existe-t-il déjà: une liste ordonnée des concepts et des capacités indispensables à maîtriser, qui si possible mentionne également le matériel adéquat pour acquérir chacun d'eux ?

Supposons une connaissance en physique de niveau secondaire. Fournir un guide d'étude, c'est-à-dire du type de guide débutant à expert. Essayez d'énumérer les ressources vidéo / livres que l'on doit suivre dans un ordre chronologique afin de devenir un expert dans le domaine de l'informatique quantique au niveau où je peux écrire mon propre langage informatique quantique (en supposant déjà d'autres compétences en CS pour écrire la langue) .

Kushajveer
la source
Avez-vous vérifié cela? quantumcomputing.stackexchange.com/questions/1367/…
agaitaarino
3
Bienvenue dans Quantum Computing SE! Actuellement, le titre de cette question donne à penser que vous demandez quelque chose de large et basé sur l'opinion (ce qui n'est pas conçu pour le format SE Q&A), bien que le corps principal de la question indique clairement qu'il s'agit en fait d'un demande de ressources (ce qui est acceptable). En tant que tel, il serait très utile de modifier le titre de votre question pour être plus précis sur ce que vous voulez savoir. De plus, il pourrait être utile de préciser exactement ce qui manque aux réponses à la question liée dans les commentaires, afin que nous puissions mieux vous aider. Merci!
Mithrandir24601
1
Voir en particulier notre politique sur les questions de demande de ressources . C'est beaucoup trop large.
bruyère
1
Pensez-vous à quelque chose comme nand2tetris, mais quantique? Ou quelque chose comme le livre «Quantum Computing for Computer Scientists»?
James Wootton
1
Grâce à vos modifications, je crois que cela répond maintenant aux exigences de demande de ressources, j'ai donc rouvert.
bruyère

Réponses:

11

Je ne pense pas qu'il existe une seule ressource en or qui puisse vous fournir toutes les connaissances nécessaires. Mais je pourrais suggérer une voie (ou un guide d'étude schématique dans vos mots):

Si votre objectif est de créer un nouveau langage de programmation quantique, je dirais plutôt que vous devriez d'abord apprendre à fond un langage de programmation quantique existant ainsi que les concepts de base de l'informatique quantique, à la fois du côté physique et du côté informatique (peut-être même les mathématiques côté!).

  • Microsoft a son langage de programmation quantique nommé Q # (qui fait partie de leur kit de développement quantique ). La documentation complète-guide est sur leur site Web: https://docs.microsoft.com/en-us/quantum . Si vous êtes du côté CS, j'espère que vous avez déjà une connaissance des vecteurs, des matrices et de l'algèbre linéaire en général. Si c'est le cas, vous pouvez directement commencer à lire le guide article par article. Dans un premier temps, ils commencent par une brève révision des matrices, vecteurs, etc. suivie d'une brève introduction aux qubits. Cela suffit pour au moins commencer à écrire un programme quantique de base, avec une compréhension minimale de la physique derrière. Soit dit en passant, si vos concepts d'algèbre linéaire sont faibles, vous pouvez toujours essayerLes conférences de la Khan Academy sur le même sujet.

  • Ensuite, vous voudriez apprendre au moins quelques bases de la mécanique quantique. J'aime personnellement les conférences du professeur Vazirani , qui sont maintenant sur Youtube. Dans environ 60 conférences de dix minutes, il couvre toutes les bases nécessaires de la mécanique quantique et des algorithmes de calcul quantique. Après cela, vous seriez en bonne forme pour choisir vous-même de nouveaux algorithmes.

  • Dans une troisième étape, je suggère de choisir " Calcul quantique et informations quantiques par Isaac Chuang et Michael Nielsen " et également " Calcul quantique pour les informaticiens par Mirco A. Mannucci et Noson S. Yanofsky " pour couvrir les sujets importants que vous manqué.

Cela devrait vous suffire pour obtenir une base solide pour commencer à écrire votre propre langage de programmation quantique. Vous pouvez également consulter des didacticiels pour les autres langages informatiques quantiques courants pour avoir une idée de la façon d'écrire des programmes quantiques et de concevoir des langages de programmation quantique.

Sanchayan Dutta
la source
6

Je vous suggère de réfléchir à la question de savoir si l'objectif de «créer un nouveau langage de programmation quantique» convient à ce stade du développement du calcul quantique. Ce n'est pas l'approche la plus courante, car la plupart du temps, nous en sommes encore au stade de la réflexion en termes de langage essentiellement machine. Lorsque nous créons des algorithmes, le niveau auquel cela se fait est similaire à l'expression d'algorithmes classiques en termes de portes logiques (comme cet exemple pour la multiplication). Les SDK quantiques, comme QISKit, sont essentiellement des moyens de créer des tâches à envoyer au matériel quantique ou aux simulateurs. Cela inclut des outils pour effectuer des simulations, optimiser le temps d'exécution ou les niveaux de bruit, etc. Ce ne sont pas vraiment des langages au sens haut auquel nous sommes habitués pour le calcul classique.

Pour une introduction à ce qui se passe à ce niveau de la pile quantique, Q est pour Quantum par Terry Rudolph pourrait être utile.

Pour votre objectif intermédiaire d'écrire des programmes avec QISKit, je recommanderais le tutoriel QISKit . Il a de nombreux exemples concrets de mise en œuvre de programmes quantiques courts. Il existe également une publication QISKit sur Medium dans laquelle certaines des choses du tutoriel sont expliquées plus en détail. Il existe également un didacticiel gamifié sur QISKit , qui pourrait être utile comme préchauffage pour le didacticiel QISKit complet.

Disclosure complète: J'ai contribué à toutes les choses mentionnées dans le dernier paragraphe.

James Wootton
la source
3
Je ne suis pas d'accord avec cela. Dès que FORTRAN a été développé (alors que les ordinateurs numériques étaient encore assez primitifs), les gens ont commencé à l'utiliser à la place du langage machine, et c'était probablement le plus grand bond en avant des langages de programmation dans l'histoire des ordinateurs classiques. Pourquoi devrions-nous forcer les gens à programmer en langage machine pour les ordinateurs quantiques? (Je suis sûr qu'ils le feront, pour plus d'efficacité, mais ils ne devraient pas être obligés de le faire.)
Peter Shor
1
Bon point! Je dirais que le matériel n'est pas en mesure de penser bien au-delà du langage machine pour le moment. Mais ce serait formidable de se tromper.
James Wootton
J'ai un peu édité ma réponse pour atténuer la négativité, et je souligne simplement que ce n'est pas la façon habituelle de faire les choses en ce moment (bien que cela ne signifie pas que c'est faux)
James Wootton