Top

양자 컴퓨팅: 이론에서 응용까지

  • 원서명Quantum Computing An Applied Approach (ISBN 9783030239213)
  • 지은이잭 히더리(Jack D. Hidary)
  • 옮긴이이태휘
  • ISBN : 9791161754529
  • 35,000원
  • 2020년 09월 28일 펴냄
  • 페이퍼백 | 532쪽 | 188*235mm
  • 시리즈 : 데이터 과학, 양자 컴퓨팅

책 소개

요약

최근 떠오르는 분야인 양자 컴퓨팅의 기초 이론을 코딩 실습과 함께 설명한다. 동떨어져 있던 이론과 구현을 최신 내용에 맞게 한데 모아 설명하는 최초의 책이다. 대학에서 수업을 진행하는 데도 알맞고 회사에서 기술 교육에 사용하기에도 알맞은 책이다.

추천의 글

"양자 컴퓨팅은 세상을 예상치 못한 방식으로 변화시킬 겁니다. 이 책에는 양자 컴퓨팅이라는 새로운 플랫폼에서 프로그래밍하는 방법과 실습 코드를 비롯해 기술 리더, 엔지니어, 대학원생들에게 필요한 모든 것이 들어 있습니다."
- 에릭 슈미트(Eric Schmidt), 공학박사, 前 구글 회장 겸 CEO, 이노베이션 인데버스(Innovation Endeavors) 창립자

이 책의 구성

이 책은 3개의 부로 구성했다. 1부 ‘기초’에서는 양자 컴퓨터와 양자 회로를 설계하는 데 필요한 프레임워크를 다룬다. 또한 복잡도 계급을 다루면서 어떤 종류의 문제들을 양자 계산으로 처리할 수 있는지 살펴본다.
2부 ‘하드웨어와 응용’에서는 이러한 프로그래밍에 깊이 파고들어 새로운 기계를 움직이게 만들고 싶은 사람들을 위한 내용을 다룬다. 이미 양자역학과 양자 정보 이론, 컴퓨터 과학 이론에 대한 배경 지식이 있다면 2부로 바로 넘어가 코드를 파헤쳐도 좋다.
3부 ‘수학 도구 모음’에서는 양자 컴퓨팅을 정복하기 위한 여정에 쓰일 중요한 도구들을 다룬다. 선형 대수의 핵심 개념을 다지고 이것이 구체적으로 양자 컴퓨팅에서 어떻게 쓰이는지 연결 짓는다. 14장의 연산자와 회로 요소들을 정리한 표는 자신의 양자 컴퓨팅 프로토콜을 설계할 때 유용한 참고 자료가 될 것이다.
온라인에서 더 많은 예제와 코드 튜토리얼을 지속적으로 제공할 것이다.

이 책의 대상 독자

이 책을 가장 잘 활용하는 방법은 다음과 같다.
1. 대학 강사: 이 책의 내용으로 여러 가지 과정을 만들 수 있다. 이 책의 모든 코드는 책의 웹 사이트에 있다. 수학을 다루는 장에는 곳곳에 연습문제가 들어 있다. 그 외의 장에 관한 코딩 실습이나 각종 문제는 온라인 사이트를 참조하기 바란다.
(a) STEM1 전공자를 위한 양자 컴퓨팅 과정
(b) 물리학 대학원생을 위한 양자 컴퓨팅 과정
마이클 닐슨(Michael Nielsen)과 아이작 추앙(Isaac Chuang)의 『Quantum Computation and Quantum Information』 또는 이론 개념을 깊이 있게 다루는 알맞은 텍스트를 곁들여 이 책을 사용하기를 권장한다.
이 책은 『Quantum Computation and Quantum Information』을 다음의 몇 가지 측면에서 보완하려고 했다.
A. 이 책은 코딩에 더 중점을 둔다. 당연하게도 수년 전에 쓰여진 책에서는 지금 나와 있는 양자 컴퓨팅 개발 도구와 파이썬 기반 접근법을 다룰 수가 없었다.
B. 이 책에서는 『Quantum Computation and Quantum Information』만큼 정보 이론 개념에 깊이 들어가지 않는다.
C. 수학 도구를 다룬 절에는 본격적인 선형 대수 과정을 수강하지 않은 학생을 위해 더 자세한 보충 내용이 있다. 경험에 비춰 보면 양자역학 교과서에 나오는 선형 대수나 그 외의 필요한 수학 도구 내용이 짤막하게 요약된 내용만으로는 충분치 않은 경우가 많다.
(c) 컴퓨터 과학 대학원생을 위한 양자 컴퓨팅 과정

  1. 물리학자: 양자 컴퓨팅 분야를 빠르게 보충하고 싶은 물리학자라면 이 책에 나와 있는 양자 컴퓨팅의 간략한 역사가 일반적으로 다루는 내용보다 좀 더 자세하므로 이를 읽은 다음 2부에 나오는 양자 하드웨어 개관과 그 응용을 다루면 된다.

  2. 소프트웨어 공학자: 먼저 첫 두 장을 읽은 다음, 3부의 도구 모음을 살펴보기를 권장한다. 그런 다음 1부로 돌아와 큐비트와 유니타리 연산자를 다룬 다음 거기서부터 진행해 나가길 권한다.

  3. 공학 및 비즈니스 리더: 실습 코딩을 하지 않을 독자는 1~4장에 초점을 두는 편이 좋다. 일부 예시 코드를 따라가며 알고리즘에 대한 실질적인 감을 잡아도 좋다.

  4. 독학: 독학 교재로 사용하기 좋다. 이 책을 온라인 자료와 함께 활용하는 편이 좋다. 업데이트된 자료를 깃허브 사이트에서 참조하기 바란다.
    깃허브 사이트에는 깃허브 사이트 한국어판도 함께 제공한다.

상세 이미지

저자/역자 소개

지은이의 말

과학 기술 분야의 발견을 앞당길 새로운 컴퓨팅 시대에 접어들고 있다. 독창적인 컴퓨팅 플랫폼은 우주의 근본 법칙을 밝혀내기도 하고, 우리 모두에게 영향을 미치는 어려운 문제를 해결하는 데 도움이 된다. 전용 칩으로 구동되는 머신러닝 프로그램은 이미 획기적인 발전을 거듭하고 있다.
이 책에서는 현재의 디지털 플랫폼과는 계산 방식이 근본적으로 다른 양자 컴퓨팅이라는 떠오르는 플랫폼을 살펴보려 한다. 물론 규모 있는 양자 컴퓨터가 나오려면 몇 년은 걸릴 것이다. 그러나 이제는 그런 시스템이 실현 가능하다는 것을 알고 있다. 공학 기술이 발전할수록 우리는 큰 충격을 받게 될 것이다.
양자 컴퓨팅은 양자 정보 과학이라는 더 큰 분야의 일부다. 양자 정보 과학의 세 갈래, 즉 계산, 통신, 센싱(sensing) 분야는 급속도로 발전하고 있으며 한 분야에서 나온 발견이 다른 분야의 발전에 박차를 가하기도 한다. 양자 통신에서는 양자 시스템의 특이한 특성을 활용해 도청자가 읽을 수 없는 방식으로 정보를 전송한다. 양자 컴퓨팅으로 인해 포스트 양자 암호화 체제로 넘어오면서 양자 통신 분야는 점점 더 중요해지고 있다. 양자 특화 프로토콜인 양자 순간 이동과 초밀집 부호화는 7장에서 다룬다.
양자 센싱은 자기장 혹은 다른 장의 감지에 양자 장치를 사용해 고전적인 한계를 뛰어 넘고자 하는 왕성한 연구 분야다. 예를 들면 원자 스케일에서 위치, 내비게이션, 타이밍을 감지하는 PNT(Position, Navigation, and Timing)라는 새로운 유형의 센서가 있다. 이 마이크로 PNT 장치는 GPS가 꼼짝하지 않거나 사용이 불가능할 때 매우 정확한 위치 데이터를 제공할 수 있다.
이 책에서는 양자 계산에 중점을 둔다. 양자 계산과 고전 계산의 중요한 차이점 하나는 양자 계산에서는 양자 상태(quantum states) 자체를 조작한다는 점이다. 이 때문에 고전적인 컴퓨터보다 계산 공간이 훨씬 더 크다. 고전 컴퓨터에서 실세계의 양자 물리계를 모델링하려면 그런 양자 물리계를 어떤 표현으로 바꿔 모델링하는 수밖에 없으며, 양자 물리계 자체를 구현하지는 못한다.
이 중요한 차이가 컴퓨팅과 과학의 미래에 흥미진진한 기회를 낳았다. 이 모든 것은 20세기 전반의 양자역학 혁명 동안 개발된 우리 세계에 대한 근본적인 진실에서 시작된다. 이러한 여러 가지 핵심 개념을 1장에서 살펴본다.
이 책에서는 지금까지 인류가 만들어온 것과는 매우 다른 종류의 컴퓨터를 만드는 법을 탐구할 것이다. 이 책이 다른 책들과 다른 점은 이론을 넘어 이러한 컴퓨터를 실제로 어떻게 만들고 이러한 시스템을 위한 응용 프로그램을 어떻게 작성하는지까지 다룬다는 점이다. 현재 클라우드 기반 양자 시스템을 프로그래밍하는 데 사용할 만한 개발 라이브러리가 몇 가지 있다. 이 책에서는 예시 코드를 살펴보고 일련의 연산자로 이뤄진 양자 회로를 구축해 특정 문제를 해결하는 방법을 알아본다. 이 책에서는 주로 파이썬(Python)을 사용한다.
우리는 현재 노이즈 있는 중규모 양자(NISQ, Noisy Intermediate-Scale Quantum) 컴퓨터 시대에 있는데, NISQ라는 용어는 캘리포니아 공과 대학(CalTech)의 존 프레스킬(John Preskill)이 만든 용어다. NISQ 컴퓨터란 아직 완전히 오류를 정정하지 못하고(따라서 노이즈가 있으며) 큐비트가 수십에서 수천 개인 시스템을 의미하는데, 규모 있는 결함 허용 컴퓨팅에 106개 이상의 큐비트가 필요한 것과 비교하면 훨씬 적은 수준이다. 초기 시스템에 이러한 한계가 있기는 하지만, 이 책에서 다루는 이론과 알고리즘, 코딩 기법들은 향후에 더 큰 시스템으로 전환할 때 도움이 될 것이다.
양자 컴퓨팅에 대한 문헌은 계속해서 늘어나고 있으며, 이 책은 그리로 향하는 입구이기도 하다. 참고 문헌을 이용해 이 분야의 기초 논문과 최신 논문을 모두 살펴보기를 권한다.
온라인에서 더 많은 예제와 코드 튜토리얼을 지속적으로 제공할 것이다. 이 책은 양자 컴퓨팅 기술의 발전에 따라 계속 진화할 살아있는 텍스트다. 우리 모두는 이 새로운 모험을 함께하는 여행자다. 이 새로운 플랫폼과 도구들을 사용해 여러분이 개발한 것을 보게 될 것이라 생각하니 흥분된다. 여러분의 의견을 기다리고 있을 테니 깃허브 사이트를 통해 연락주기 바란다.

지은이 소개

잭 히더리(Jack D. Hidary)

알파벳 X(전 구글 X)에서 AI와 양자 컴퓨팅을 연구하고 있다. 그의 그룹은 노이즈 있는 중규모 양자(NISQ) 프로세서용 알고리즘을 개발하고, 새로운 양자 컴퓨팅 소프트웨어 라이브러리를 만들고 있다. AI 분야에서는 응용 AI 기술뿐 아니라 심층망의 일반화와 같은 기초 연구에도 주력하고 있다.

옮긴이의 말

그저 먼 얘기 같았다. ‘양자 컴퓨팅’이라는 말은 극소수의 연구자에게나 의미 있는 얘기 같았는데, 어느새 주변에서 양자 컴퓨팅 얘기가 심심치 않게 들려온다. 물론 아직 양자 컴퓨팅의 경이로운 계산 능력을 적용할 수 있는 문제는 지극히 제한적이며, 실용화까지 20~30년은 걸릴 것으로 예측되고 있다. 하지만 하드웨어 측면에서는 점차 다룰 수 있는 큐비트 수가 늘어나는 추세고, 소프트웨어 측면에서는 고전적인 컴퓨팅을 이용해 양자 컴퓨팅을 시뮬레이션해볼 수 있는 환경에 이르렀다. 공룡 기업들은 이미 IBM Q 익스피리언스(Q Experience), 마이크로소프트 애저 퀀텀(Azure Quantum), 아마존 브라켓(Amazon Braket)과 같은 클라우드 양자 컴퓨팅 서비스를 내놓으면서 사용자를 선점하려 발 빠르게 움직이고 있다.
양자 컴퓨팅에 관심을 갖고 도전해 보려는 이들이 많아졌지만, 그만큼 양자 컴퓨팅 이론의 벽을 넘지 못하고 포기하는 사람도 많다. 이 책은 『Quantum Computing: An Applied Approach』라는 원제에 걸맞게 실용적인 관점에서 양자 컴퓨팅이 작동하는 과정을 익힐 수 있게 해준다. 이 책의 백미는 2부에서 시뮬레이션 라이브러리를 활용해 파이썬(Python) 언어로 작성한 소스코드와 함께 양자 컴퓨팅을 설명함으로써 이해도를 높인 부분이다. 최근 2020년 3월에 구글에서 머신러닝 플랫폼인 텐서플로와 양자 컴퓨팅 라이브러리인 서큐(Cirq)를 통합한 텐서플로 퀀텀(TensorFlow Quantum)을 발표했는데, 이 책에서 주로 서큐 라이브러리를 사용하기 때문에 머신러닝에 관심이 있는 독자라면 다음 단계로 나아가기에도 좋을 듯하다. 3부에서 양자 컴퓨팅의 기초를 이루는 대수학 내용을 차근차근 설명한 부분도 유익한데, 특히 각 개념이 양자 컴퓨팅에 쓰이는 이유를 잘 설명하고 있다. 저자의 의도상 양자 컴퓨팅 이론 내용은 상대적으로 간략히 다루고 있는데, 더 자세한 내용을 원하는 독자라면 이 분야의 대표적인 교과서인 마이클 닐슨(Michael Nielsen)과 아이작 추앙(Isaac Chuang)의 『Quantum Computation and Quantum Information』(Cambridge University Press), 데이비드 맥마혼의 『양자 컴퓨팅 이론 해설(Quantum Computing Explained)』(에이콘, 2020) 등 다른 이론서를 참고하면 좋겠다.

옮긴이 소개

이태휘

산업체와 학교, 연구기관을 거치며 여러 시스템 소프트웨어 개발 프로젝트를 수행했다. 2007년부터 2010년까지 티맥스소프트에서 근무하며 티베로 관계형 데이터베이스 개발에 참여했다. 2014년에 서울대학교 컴퓨터공학부에서 박사 학위를 받았으며, 현재 한국전자통신연구원에서 선임연구원으로 재직 중이다. 번역서로는 에이콘출판사에서 펴낸 『퀄리티 코드』(2017), 『블록체인 완전정복 2/e』(2019), 『양자 컴퓨팅 입문』(2020)이 있다.

목차

목차

  • 1부. 기초
  • 1장. 중첩, 얽힘, 가역성

  • 2장. 양자 컴퓨팅의 간략한 역사

  • 3장. 큐비트, 연산자, 측정
    • 양자 회로도
    • 양자 연산자
  • 3.1 단항 연산자
    • 이진 연산자
    • 삼항 연산자
  • 3.2 고전 게이트와의 비교
  • 3.3 양자 연산자의 범용성
  • 3.4 고테스만-닐과 솔로베이-키타예프
  • 3.5 블로흐 구
  • 3.6 측정 공준
  • 3.7 인플레이스 계산

  • 4장. 복잡도 이론
  • 4.1 문제와 알고리즘
  • 4.2 시간 복잡도
  • 4.3 복잡도 클래스
  • 4.4 양자 컴퓨팅과 처치-튜링 논제

  • 2부. 하드웨어와 응용
  • 5장. 양자 컴퓨터 구축
  • 5.1 양자 컴퓨터 평가
  • 5.2 중성 원자
  • 5.3 NMR
  • 5.4 다이아몬드 내 NV 중심
  • 5.5 광자학
    • 반도체 양자 트랜지스터
    • 위상 광자 칩
  • 5.6 스핀 큐비트
  • 5.7 초전도 큐비트
  • 5.8 위상학적 양자 계산
  • 5.9 이온 트랩
  • 5.10 요약

  • 6장. 양자 컴퓨터 프로그래밍용 개발 라이브러리
  • 6.1 양자 컴퓨터와 양자 컴퓨팅 시뮬레이터
  • 6.2 서큐
  • 6.3 키스킷
  • 6.4 포레스트
  • 6.5 QDK
  • 6.6 개발 라이브러리 요약
    • 라이브러리 사용
    • 기타 개발 라이브러리
  • 6.7 추가적인 양자 프로그램
    • 벨 상태
    • 파라미터를 갖는 게이트

  • 7장. 양자 순간 이동, 초고밀도 코드화, 벨 부등식
  • 7.1 양자 순간 이동
  • 7.2 초밀집 부호화
  • 7.3 양자 순간 이동과 초밀집 통신을 위한 코드
  • 7.4 벨 부등식 테스트
  • 7.5 요약

  • 8장. 주요 양자 알고리즘: 코드로 알아보기
  • 8.1 도이치-조사 알고리즘
  • 8.2 번스타인-바지라니 알고리즘
    • 번스타인-바지라니 알고리즘
  • 8.3 사이먼의 문제
  • 8.4 양자 푸리에 변환
  • 8.5 쇼어 알고리즘
    • RSA 암호화
    • 함수의 주기
    • 인수분해 알고리즘에 대한 입력으로서의 함수 주기
  • 8.6 그로버의 검색 알고리즘
  • 8.7 요약

  • 9장. 다양한 양자 컴퓨팅 기법
  • 9.1 변분 양자 고윳값 계산기
    • 노이즈를 고려한 VQE
    • 더 정교한 가설 풀이
  • 9.2 양자 화학
  • 9.3 양자 근사 최적화 알고리즘(QAOA)
    • QAOA의 구현 예
  • 9.4 양자 프로세서에서의 머신러닝
  • 9.5 양자 위상 추정
    • QPE 구현
  • 9.6 선형계 풀이
    • HHL 알고리즘 설명
    • HHL 알고리즘의 구현 예
  • 9.7 양자 난수 생성기
  • 9.8 양자 보행
    • 양자 보행의 구현
  • 9.9 요약

  • 10장. 응용과 양자 우위
  • 10.1 응용
    • 양자 시뮬레이션과 화학
    • 확률 분포 샘플링
    • 양자 컴퓨터를 이용한 선형 대수 속도 향상
    • 최적화
    • 텐서망
  • 10.2 양자 우위
    • 무작위 회로 샘플링
    • 양자 우위를 보이는 기타 문제
    • 양자 이점
  • 10.3 향후 연구 방향
    • 양자 오류 정정
    • 양자 컴퓨터로 물리학하기
  • 10.4 결론

  • 3부. 수학 도구 모음
  • 11장. 양자 컴퓨팅에 쓰이는 수학 I
  • 11.1 서론, 자가 진단
  • 11.2 선형 대수
    • 벡터와 표기법
    • 기초 벡터 연산
    • 벡터의 노름
    • 점곱
  • 11.3 복소수와 내적
    • 복소수
    • 점곱을 확장한 내적
    • 복소수의 극좌표 표현
  • 11.4 행렬 기초
    • 기초 행렬 연산
    • 항등 행렬
    • 전치, 켤레, 대각합
    • 행렬의 지수 연산
  • 11.5 외적과 텐서곱
    • 행렬을 만드는 외적 수단으로서의 외적
    • 텐서곱
  • 11.6 집합론
    • 집합론의 기초
    • 데카르트 곱
    • 관계와 함수
    • 함수의 중요한 성질
  • 11.7 선형 변환의 정의
  • 11.8 사전 지식 없이 벡터 공간 만들기
    • 벡터 공간의 정의
    • 부분공간
  • 11.9 생성 공간, 선형 독립, 기저, 차원
    • 생성 공간
    • 선형 독립
    • 기저와 차원
    • 정규직교 기저

  • 12장. 양자 컴퓨팅에 쓰이는 수학 Ⅱ
  • 12.1 행렬로서의 선형 변환
  • 12.2 연산자로서의 행렬
    • 행렬식에 대한 소개
    • 행렬식의 기하학적 설명
    • 행렬의 역변환
  • 12.3 고유벡터와 고윳값
    • 기저의 변경
  • 12.4 내적 심층 탐구
    • 내적으로서의 크로네커 델타 함수
  • 12.5 에르미트 연산자
    • 복소수로 측정하지 못하는 이유
    • 에르미트 연산자는 고윳값이 실수다
  • 12.6 유니타리 연산자
  • 12.7 직합과 텐서곱
    • 직합
    • 텐서곱
  • 12.8 힐베르트 공간
    • 계량, 코시열, 완전성
    • 내적의 공리적 정의
    • 힐베르트 공간의 정의
  • 12.9 힐베르트 공간으로서의 큐비트
  • 13장. 양자 컴퓨팅에 쓰이는 수학 Ⅲ
  • 13.1 불리언 함수
  • 13.2 로그와 지수
  • 13.3 오일러 공식
  • 14장. 양자 연산자와 주요 회로 목록

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안