{"id":1691,"date":"2017-07-09T21:59:44","date_gmt":"2017-07-10T05:59:44","guid":{"rendered":"http:\/\/antoine.wojdyla.fr\/blog\/?p=1691"},"modified":"2017-07-09T22:01:17","modified_gmt":"2017-07-10T06:01:17","slug":"qubit","status":"publish","type":"post","link":"http:\/\/antoine.wojdyla.fr\/blog\/2017\/07\/09\/qubit\/","title":{"rendered":"Qubit"},"content":{"rendered":"<p>I&#8217;ve run my first quantum computation!<\/p>Since I was working on the latest iteration of classical computer manufacturing techniques (EUV lithography), everyone asked me what were my thought on the <strong>future of Moore&#8217;s law,<\/strong> and what did I think about <strong>quantum computing<\/strong>. To the first question, I could mumble things about transistor size and the fact that we&#8217;re getting awfully close to the atomic size; to the latter question&#8230; I just had to go figure out myself!<\/p>Back in April, I&#8217;ve invited Irfan Siddiqi (<a href=\"http:\/\/qnl.berkeley.edu\/\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/qnl.berkeley.edu\/', 'qnl.berkeley.edu']);\" >qnl.berkeley.edu<\/a>), founding director of the brand new <a href=\"http:\/\/cqcs.berkeley.edu\/\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/cqcs.berkeley.edu\/', 'Center for Quantum Coherent Science']);\" >Center for Quantum Coherent Science<\/a>, and his postdocs at Berkeley lab to give a talk to postdocs, and last the lab announced the first <a href=\"http:\/\/cs.lbl.gov\/news-media\/news\/2017\/record-breaking-45-qubit-quantum-computing-simulation-run-at-nersc\/\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/cs.lbl.gov\/news-media\/news\/2017\/record-breaking-45-qubit-quantum-computing-simulation-run-at-nersc\/', '45-qubits quantum simulations']);\" >45-qubits quantum simulations<\/a> on the NERSC&#8230; things are going VERY fast! (read the <a href=\"http:\/\/qurope.eu\/system\/files\/u7\/93056_Quantum%20Manifesto_WEB.pdf\" onclick=\"_gaq.push(['_trackEvent','download','http:\/\/qurope.eu\/system\/files\/u7\/93056_Quantum%20Manifesto_WEB.pdf']);\" >Quantum manifesto<\/a>)<\/p>\n<div id=\"attachment_1692\" style=\"width: 437px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/antoine.wojdyla.fr\/blog\/wp-content\/uploads\/forumMSD_quantum_computing_23.jpg\" rel=\"attachment wp-att-1692\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1692\" class=\" wp-image-1692\" src=\"http:\/\/antoine.wojdyla.fr\/blog\/wp-content\/uploads\/forumMSD_quantum_computing_23-1024x768.jpg\" alt=\"Kevin O'Brien on multiplexing qubit readouts\" width=\"427\" height=\"320\" srcset=\"http:\/\/antoine.wojdyla.fr\/blog\/wp-content\/uploads\/forumMSD_quantum_computing_23-1024x768.jpg 1024w, http:\/\/antoine.wojdyla.fr\/blog\/wp-content\/uploads\/forumMSD_quantum_computing_23-300x225.jpg 300w, http:\/\/antoine.wojdyla.fr\/blog\/wp-content\/uploads\/forumMSD_quantum_computing_23-768x576.jpg 768w\" sizes=\"auto, (max-width: 427px) 100vw, 427px\" \/><\/a><\/p>\n<p id=\"caption-attachment-1692\" class=\"wp-caption-text\">Kevin O&#8217;Brien on multiplexing qubit readouts<\/p>\n<\/div><p>This is thanks to <a href=\"http:\/\/rigetti.com\/\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/rigetti.com\/', 'Rigetti']);\" >Rigetti<\/a>, a full-stack quantum computer startup based in Berkeley (<a href=\"https:\/\/www.wired.com\/story\/quantum-computing-factory-taking-on-google-ibm\/\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/www.wired.com\/story\/quantum-computing-factory-taking-on-google-ibm\/', 'Wired']);\" >Wired<\/a>, <a href=\"http:\/\/spectrum.ieee.org\/tech-talk\/computing\/software\/rigetti-launches-fullstack-quantum-computing-service-and-quantum-ic-fab\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/spectrum.ieee.org\/tech-talk\/computing\/software\/rigetti-launches-fullstack-quantum-computing-service-and-quantum-ic-fab', 'IEEE Spectrum']);\" >IEEE Spectrum<\/a>).<\/p><!--more--><\/p>The way to do this is to use Forest (you can get an API key by registering <a href=\"http:\/\/www.rigetti.com\/index.php\/forest\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/www.rigetti.com\/index.php\/forest', 'here']);\" >here<\/a>), which is a quantum computing environment that either simulate quantum computer, or send the result to a real quantum computer and send back the results.<\/p>To get started you can use <a href=\"http:\/\/pyquil.readthedocs.io\/en\/latest\/getting_started.html#installation-and-getting-started\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'http:\/\/pyquil.readthedocs.io\/en\/latest\/getting_started.html#installation-and-getting-started', 'PyQuil']);\" >PyQuil<\/a> (on <a href=\"https:\/\/github.com\/rigetticomputing\/pyquil\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/github.com\/rigetticomputing\/pyquil', 'github']);\" >github<\/a>, or by running <code class=\"docutils literal\"><span class=\"pre\">pip install pyquil<\/span><\/code> in your terminal, if you have a Mac, though I had to modify line 318 in api.py to <em>raise DeprecationWarning(&#8220;Version checks&#8230;)<\/em>, because it was using Python 2.7 syntax); if you want to use the API, you need to have a <code class=\"docutils literal\"><span class=\"pre\">.pyquil_config <\/span><\/code>file in your home folder with the API information.<\/p>You can also use the @quilbot on twitter to perform your simulation :<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"en\">\n<p dir=\"ltr\" lang=\"ht\"><a href=\"https:\/\/twitter.com\/quilbot\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/twitter.com\/quilbot', '@quilbot']);\" >@quilbot<\/a><br \/>\nX 0<br \/>\nX 1<br \/>\nX 2<br \/>\nH 2<br \/>\nCPHASE(pi\/2) 1 2<br \/>\nH 1<br \/>\nCPHASE(pi\/4) 0 2<br \/>\nCPHASE(pi\/2) 0 1<br \/>\nH 0<br \/>\nSWAP 0 2<br \/>\nMEASURE 0 [0]<br \/>\nMEASURE 1 [1]<br \/>\nMEASURE 2 [2]<\/p>\u2014 Antoine Wojdyla (@awojdyla) <a href=\"https:\/\/twitter.com\/awojdyla\/status\/883588554248536064\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/twitter.com\/awojdyla\/status\/883588554248536064', 'July 8, 2017']);\" >July 8, 2017<\/a><\/p><\/blockquote><p><script src=\"\/\/platform.twitter.com\/widgets.js\" async=\"\" charset=\"utf-8\"><\/script><\/p>It&#8217;s actually quite interesting to play around with qubits; I was really suprise to deal with non-zero entities all the time (basically, you can have <strong>|1&gt;<\/strong> or <strong>|0&gt;<\/strong> state, but the <strong>|0&gt;<\/strong> is not really a zero state, in the sense that it still has a unitary amplitude. For example, if you perform a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Quantum_Fourier_transform\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Quantum_Fourier_transform', 'quantum Fourier Transform']);\" >quantum Fourier Transform<\/a> of an array of <strong>|0&gt;<\/strong>&#8216;s, you actually get a Dirac of\u00a0 <strong>|0&gt;<\/strong> &#8212; pretty weird, and exciting!)<\/p>The wikipedia page on <a href=\"https:\/\/en.wikipedia.org\/wiki\/Quantum_gate\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Quantum_gate', 'quantum gates']);\" >quantum gates<\/a> is quite good, and I am quite surprised by the deep relations it bears with polarization in optics: Bloch sphere really is only an other name for the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Polarization_(waves)#Poincar.C3.A9_sphere\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Polarization_(waves)#Poincar.C3.A9_sphere', 'Poincare sphere']);\" >Poincare sphere<\/a>, while <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pauli_matrices\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Pauli_matrices', 'Pauli matrices']);\" >Pauli matrices<\/a> are just canonical <a href=\"https:\/\/en.wikipedia.org\/wiki\/Jones_calculus\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Jones_calculus', 'Jones matrices']);\" >Jones matrices<\/a>. Things get very strange when you start playing entanglement and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Controlled_NOT_gate\" onclick=\"_gaq.push(['_trackEvent', 'outbound-article', 'https:\/\/en.wikipedia.org\/wiki\/Controlled_NOT_gate', 'CNOT']);\" >CNOT<\/a> gates&#8230;<\/p>Just getting started, but wow, there&#8217;s a lot fun ahead!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve run my first quantum computation!Since I was working on the latest iteration of classical computer manufacturing techniques (EUV lithography), everyone asked me what were my thought on the future of Moore&#8217;s law, and what did I think about quantum computing. To the first question, I could mumble things about transistor size and the fact [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,16,9,5],"tags":[],"class_list":["post-1691","post","type-post","status-publish","format-standard","hentry","category-english","category-resources","category-science","category-science-life"],"_links":{"self":[{"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/posts\/1691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/comments?post=1691"}],"version-history":[{"count":2,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/posts\/1691\/revisions"}],"predecessor-version":[{"id":1694,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/posts\/1691\/revisions\/1694"}],"wp:attachment":[{"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/media?parent=1691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/categories?post=1691"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/antoine.wojdyla.fr\/blog\/wp-json\/wp\/v2\/tags?post=1691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}