★이책에서다루는내용★
■양자컴퓨팅의핵심개념과원리
■양자원리를적용할수있는영역
■양자논리로프로그램디자인
■양자컴퓨터가계산하는방법과원리
■쇼어와그로버의알고리즘을포함한중요한양자계산알고리즘
■산업영역에서의양자컴퓨팅잠재성분석
★이책의대상독자★
양자컴퓨팅을배우길원하는개발자나데이터과학자에게좋은참고서가될것이다.이책을읽기전에파이썬언어를기본적으로이해하고있어야하지만물리학,양자역학,고급수학관련지식이꼭필요한것은아니다.
★이책의구성★
1장,‘양자컴퓨팅이란무엇인가?’에서는전통적인컴퓨팅방식의컴퓨터와비교했을때양자컴퓨터의잠재적인장점을무엇인지설명한다.전통적인컴퓨팅과양자컴퓨팅의역사를을알아보고,컴퓨팅의최신기술을살펴본다.
2장,‘큐비트’에서는블로흐스피어(Blochsphere)를소개하고개별큐비트의중첩과측정을설명한다.큐비트가왜양자컴퓨팅의기본개념이되는지알아보고,파이썬에서시뮬레이션해직접코드를살펴본다.여기서중첩(superposition)에관해논의하고,하나의큐비트가나타내는세개의다른표현을살펴보는파이썬코드를사용한다.
3장,‘양자상태,양자레지스터그리고측정’에서는전통적인레지스터의양자버전인양자레지스터와양자상태를보관하는방법을알아본다.나아가분리가능한상태와얽힘(entanglement)에관해논의하고,얽혀있는여러개의큐비트에대한양자를측정하고,파이썬으로구현해봄으로써집중적으로다룬다.
4장,‘양자게이트로양자상태전개하기’에서는양자컴퓨팅을실행하기위해합쳐질수있는일반적인게이트집합을형성하고가장흔하게사용되는게이트인I,X,Y,Z,H,S,S†,T,T†,CNOT를설명한다.또한이렇게사용되는양자게이트의파이썬구현을제공하고,지금껏살펴본양자상태에적용되는게이트의파이썬예제를살펴본다.
5장,‘양자회로’에서는전통적인회로와같은양자회로를소개하기위해양자게이트의개념을확장한다.이장에서는어떻게전통적인게이트가양자회로에서재생산될수있는지확인하고,복잡한수학이나프로그래밍언어를사용하지않고양자회로를쉽게정의하는데사용할수있는양자회로를시각적으로표현한다.
6장,‘양자컴포저’에서는양자회로를시각적으로보여주는양자스코어(scores)를통해양자회로를만드는데사용되는IBMQX의사용자인터페이스를알아본다.양자컴포저로IBMQX하드웨어나소프트웨어시뮬레이터에구현할자신의양자회로를정의할수있다.더불어이전에사용한파이썬코드를양자컴포저표현으로변환하고,이를IBMQX하드웨어에서구동할기회를제공한다.
7장,‘OpenQASM다루기’에서는오픈양자어셈블리언어(OpenQuantumAssemblyLanguage)를설명한다.줄여서오픈카즘(openkazm)으로발음한다.이언어는IBMQX내에서사용될수있다.이장에서는이전에정의한양자회로를다시확인하고,OpenQASM언어에서다시정의한다.이렇게OpenQASM으로재정의된양자회로는IBMQX에서실행할기회를제공한다.
8장,‘키스킷과양자컴퓨터시뮬레이션’에서는키스킷(QuantumInformationSoftwareKit)을소개한다.클라우드를통해IBMQX에서키스킷으로프로그램을구동하는방법과양자시뮬레이션의기능에초점을두고설명한다.양자회로,측정,키스킷사용개념을키스킷을사용하는프로젝트에서확인하면서양자컴퓨터를사용해음악화음을표현하는유용한데모를만든다.
9장,‘양자AND(토폴리)게이트와양자OR게이트’에서는양자컴퓨터로그로버(Grover)나다른알고리즘의논리적인문제를해결하기위해,이진논리게이트와동일한양자게이트를살펴본다.
10장,‘그로버알고리즘’에서는전통적인구현과양자구현을비교해그로버의알고리즘을설명한다.이후해당알고리즘을OpenQASM,키스킷,양자스코어로구현한다.
11장,‘양자푸리에변환’에서는양자푸리에변환을설명한다.이는쇼어(Shor)의알고리즘을포함한많은중요한양자알고리즘의하위루틴이된다.이에비교해전통적인컴퓨터에서표현되는신호의푸리에변환이되는불연속형푸리에변환을계산하는전통적인알고리즘을보여준다.마지막으로양자푸리에변환알고리즘을OpenQASM,키스킷,양자스코어로구현한다.
12장,‘쇼어알고리즘’에서는쇼어알고리즘을설명하고소인수분해를사용하는전통적인알고리즘구현과비교해살펴본다.그리고키스킷에서쇼어알고리즘을구현한다.
13장,‘양자오류정정’에서는양자오류전파문제를설명하고,양자오류정정(QEC,QuantumErrorCorrection)의필요성을알아본뒤간단한QEC알고리즘을구현한다.
14장,‘결론?양자컴퓨터의미래’에서는배운내용을다시살펴보고양자컴퓨팅의명확한이해를돕는다.그리고양자계산과양자컴퓨팅프로그램능력이필요한곳을검토해본다.또한왜양자물리학자가아닌일반기업가,프로그래머,기술자등이양자컴퓨팅에관심을가질가능성이높은지알아본다.
★옮긴이의말★
현재여러분야에서사용하고있는컴퓨터의구조는0과1로나타내는비트조합을레지스터라는하드웨어를기초로해컴퓨팅에사용하고있다.지금까지는컴퓨터하나의계산능력,즉컴퓨팅의한계를극복하기위해병렬처리,분산처리,슈퍼컴퓨팅,그래픽프로세싱유닛등의방법을점증적으로발전시켜왔다.하지만머신러닝이나암호학과같이현재의방법으로는단시간내에처리할수없는새로운컴퓨팅에대한요구가계속되고있다.이에대한대안으로양자컴퓨팅이떠오르고있는것이다.
이론적인관점에서양자컴퓨터는잠재된컴퓨팅계산능력에있어서근본적인변화를제시한다.하지만현재양자컴퓨팅전문가들은전통적인컴퓨터에비해양자컴퓨터가더낫다는것을증명하기위해복잡한컴퓨팅문제를찾고있는중이다.과학자들의이런노력은양자컴퓨터의발전을이끌것이다.머지않은미래에상용화된양자컴퓨터를만날수있기를기대해본다.
양자컴퓨팅은물리적으로여러방식으로실행할수있다.개발방식에따라양자가열냉각컴퓨터(Quantumannealingcomputers)와보편적인게이트양자컴퓨팅(universalgatequantumcomputing)이대표적인예다.예를들어전자의양자컴퓨터는디-웨이브(D-Wave)컴퓨터가있고,후자는IBM과리게티(Rigetti)의양자컴퓨터가있다.이책은보편적인게이트양자컴퓨팅에초점을맞춘다.게이트양자컴퓨팅은모든양자연산을수행할수있고,전통적인컴퓨터의개념인비트,게이트,회로와동일한개념의가장일반적인형태의양자연산형태다.일반목적의양자컴퓨터는안정적으로디자인하기더욱어렵지만,양자가열냉각컴퓨터와같은특수목적의양자컴퓨터는결국사용이제한될수밖에없을것이다.
IBM연구소는세계최초로양자컴퓨팅을일반인에공개해누구나데스크톱이나모바일기기로클라우드에접속해사용할수있게했다.이책은최첨단의실제시나리오를완성해실세계에적합한프로그래밍을통해양자컴퓨팅의강력함을이해할수있게도울것이다.그리고양자컴포저(Composer)와키스킷(Qiskit)과같은사용자툴의도움으로양자개발을용이하게하는IBM의생태계를살펴볼것이다.이책을끝까지읽는다면자신의양자프로그램을만드는방법을알고,자신이속한사업과미래경력에서양자컴퓨터가가진영향력을가늠해볼수있을것이다.
물리학이아닌컴퓨터공학의관점에서보면양자컴퓨팅은이제한걸음뗀것이나다름없다.양자프로그래밍은아직완전히정의된것도아니고계속발전중이다.양자컴퓨팅전문가들은양자컴퓨터가머지않은미래에특별한분야에사용되기시작해,점점개인이사용할수준까지도달할것으로내다보기도한다.지금부터양자컴퓨팅에관심을갖고서적을읽어두는것은분명미래에도움이될것이다.이책에나오는기본개념과적용예제는현재의양자컴퓨팅을이해하기에충분한학습이될것이다.이책을통해독자여러분이양자컴퓨팅에관한개념을완전히이해하고기본적인사용법을익히길바란다.