# 차례 #
1장. 양자 컴퓨팅이란 무엇인가?
기술적인 필요 사항
양자 컴퓨터란 무엇인가?
양자 컴퓨터의 사용
전문가 의견?왜 양자 컴퓨터가 중요한가?
양자 컴퓨팅의 역사, 현재 그리고 미래
양자 컴퓨팅의 역사
양자 컴퓨팅의 현재 상황
양자 컴퓨팅의 미래
파이썬 코드 예제 설정과 실행
책에서 사용된 코드 다운로드하기
주피터 노트북 설정
IBM QX 예제 설정과 실행
헬로 양자 월드
API 키
키스킷 예제 설정과 실행
요약
연습 문제
2장. 큐빗
기술적인 필요 조건
큐빗
큐빗 저장하기
큐빗 시뮬레이션
|“0”>과 |“1”>
|“0”>과 |“1”>의 조합
큐빗의 세 가지 다른 형태의 표현
0과 1 기초?추가적인 설명
플러스 마이너스 기초
시계 방향과 반시계 방향 기초
블로흐 구
블로흐 구에 표현된 |“0”>과 |“1”> 그리고 다른 기초
큐빗에서 블록 좌표
블로흐 구에 블록 좌표 나타내기
큐빗의 중첩과 측정
큐빗의 양자 중첩
큐빗의 양자 측정
블로흐 구에서 하나의 큐빗 측정
요약
연습 문제
3장. 양자 상태, 양자 레지스터 그리고 측정
기술적인 필요 조건
양자 상태와 레지스터
분리 가능한 상태
얽힘
양자 측정과 얽힘
파이썬에서 양자 측정 시뮬레이션하는 알고리즘
결잃음, T1 그리고 T2
결잃음
T1과 T2
요약
연습 문제
4장. 양자 게이트로 양자 상태 전개하기
기술적인 필요 조건
게이트
전통적인 게이트
양자 게이트
상태에 대한 게이트 동작
하나의 큐빗 게이트
하다마드 게이트(H
폴리(Pauli 게이트(X, Y, Z
페이즈 게이트(S와 π/8 게이트(T
다수 큐빗 게이트
CNOT 게이트
요약
연습 문제
5장. 양자 회로
기술적인 필요 조건
양자 회로와 양자 회로 도표
양자 회로를 만들기 위해 키스킷 사용하기
키스킷에서 하나의 큐빗 회로
키스킷의 양자 회로 클래스와 보편적인 게이트 메소드
키스킷에서 다수 큐빗 게이트
키스킷
이 책의 대상 독자
양자 컴퓨팅을 배우길 원하는 개발자나 데이터 과학자에게 좋은 참고서가 될 것이다. 이 책을 읽기 전에 파이썬 언어를 기본적으로 이해하고 있어야 하지만 물리학, 양자역학, 고급 수학 관련 지식이 꼭 필요한 것은 아니다.
이 책의 구성
1장, ‘양자 컴퓨팅이란 무엇인가?’에서는 전통적인 컴퓨팅 방식의 컴퓨터와 비교했을 때 양자 컴퓨터의 잠재적인 장점을 무엇인지 설명한다. 전통적인 컴퓨팅과 양자 컴퓨팅의 역사를을 알아보고, 컴퓨팅의 최신 기술을 살펴본다.
2장, ‘큐빗’에서는 블로흐 스피어(Bloch sphere를 소개하고 개별 큐빗의 중첩과 측정을 설명한다. 큐빗이 왜 양자 컴퓨팅의 기본 개념이 되는지 알아보고, 파이썬에서 시뮬레이션해 직접 코드를 살펴본다. 여기서 중첩(superposition에 관해 논의하고, 하나의 큐빗이 나타내는 세 개의 다른 표현을 살펴보는 파이썬 코드를 사용한다.
3장, ‘양자 상태, 양자 레지스터 그리고 측정’에서는 전통적인 레지스터의 양자 버전인 양자 레지스터와 양자 상태를 보관하는 방법을 알아본다. 나아가 분리 가능한 상태와 얽힘(entanglement에 관해 논의하고, 얽혀있는 여러 개의 큐빗에 대한 양자를 측정하고, 파이썬으로 구현해봄으로써 집중적으로 다룬다.
4장, ‘양자 게이트로 양자 상태 전개하기’에서는 양자 컴퓨팅을 실행하기 위해 합쳐질 수 있는 일반적인 게이트 집합을 형성하고 가장 흔하게 사용되는 게이트인 I, X, Y, Z, H, S, S†, T, T†, CNOT를 설명한다. 또한 이렇게 사용되는 양자 게이트의 파이썬 구현을 제공하고, 지금껏 살펴본 양자 상태에 적용되는 게이트의 파이썬 예제를 살펴본다.
5장, ‘양자 회로’에서는 전통적인 회로와 같은 양자 회로를 소개하기 위해 양자 게이트의 개념을 확장한다. 이 장에서는 어떻게 전통적인 게이트가 양자 회로에서 재생산될 수 있는지 확인하고, 복잡한 수학이나 프로그래밍 언어를 사용하지 않고 양자 회로를 쉽게 정의하 는데 사용할