KR102658003B1 - 효율성이 향상된 양자 가산기 및 가산 방법 - Google Patents

효율성이 향상된 양자 가산기 및 가산 방법 Download PDF

Info

Publication number
KR102658003B1
KR102658003B1 KR1020200070096A KR20200070096A KR102658003B1 KR 102658003 B1 KR102658003 B1 KR 102658003B1 KR 1020200070096 A KR1020200070096 A KR 1020200070096A KR 20200070096 A KR20200070096 A KR 20200070096A KR 102658003 B1 KR102658003 B1 KR 102658003B1
Authority
KR
South Korea
Prior art keywords
qubit
carry
digit
gate
lowest
Prior art date
Application number
KR1020200070096A
Other languages
English (en)
Other versions
KR20210065822A (ko
Inventor
서승현
서창배
조성민
김애영
Original Assignee
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 에리카산학협력단 filed Critical 한양대학교 에리카산학협력단
Publication of KR20210065822A publication Critical patent/KR20210065822A/ko
Application granted granted Critical
Publication of KR102658003B1 publication Critical patent/KR102658003B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Logic Circuits (AREA)

Abstract

메르센 수의 특성을 이용하여 효율성을 향상시킨 양자 가산기 및 가산 방법이 개시된다. 본 발명의 실시 예에 따른 양자 가산기는 N자리(N은 2 이상의 자연수) 큐비트들에 N자리 클래식 비트들을 가산하는 가산기로서 최하위 캐리 큐비트를 '1'로 설정하고 상기 큐비트들과 상기 클래식 비트들을 가산하여 최상위 캐리 큐비트를 산출하는 전처리부, 상기 산출된 최상위 캐리 큐비트를 상기 최하위 캐리 큐비트로 재설정하는 최하위 캐리 재설정부 및 상기 설정된 최하위 캐리 큐비트를 적용하여 상기 큐비트들에 상기 클래식 비트들을 가산하는 가산부를 포함할 수 있다.

Description

효율성이 향상된 양자 가산기 및 가산 방법{Quantum adder and method of adding with improved efficiency}
본 발명은 양자 가산기 및 가산 방법에 관한 것으로, 특히, 메르센 수의 특성을 이용하여 효율성을 향상시킨 양자 가산기 및 가산 방법에 관한 것이다.
양자역학 원리와 양자 현상에 의해 작동하는 양자 컴퓨터는 정보처리의 기본 단위로 0과 1이 동시에 존재할 수 있는 큐비트를 사용한다. 이러한 큐비트의 사용으로 인해 양자 컴퓨터는 적은 큐비트로도 굉장히 많은 경우의 수를 동시에 표현할 수 있으며, 이를 계산할 수 있다. 양자 컴퓨터가 이러한 특성으로 인해 기존 컴퓨터 대비 월등한 연산속도를 보일 것으로 기대되면서 IT 분야뿐만이 아니라 화학, 의료, 제약 등 다양한 분야에서의 활용이 기대되고 있다.
현재 양자 컴퓨터의 개발은 여러 IT 기업들의 주도하에 이루어지고 있다. D-WAVE Systems는 양자 어닐링(Quantum Annealing) 기법을 이용한 128 큐비트 양자 컴퓨터를 개발하였으며, 최근에는 IBM, Google(구글) 등의 기업을 주축으로 개발이 진행되고 있다. 특히 구글은 최근 현존 최고 성능의 슈퍼컴퓨터로 1만 년이 걸릴 문제를 200초 만에 풀어낸 양자컴퓨터 칩 ‘시카모어’를 개발하여 네이처지에 발표하였다.
이러한 양자 컴퓨팅을 효율적으로 사용할 수 있게 하는 양자 알고리즘 중 대표적인 것이 큰 수에 대한 소인수분해 문제와 이산대수 문제를 다항 시간 내에 풀 수 있도록 하는 Shor 알고리즘이다. 이 Shor 알고리즘은 수많은 유한체 상에서의 지수승 연산으로 구성되어 있으며, 이때 유한체 상에서의 지수승 연산을 수행하는 복잡도는 유한체 상에서의 덧셈과 곱셈과 같은 더 간단한 산술 연산을 수행하는 복잡도에 달려 있다. 또한 이러한 연산들은 큐비트의 양자적 특성을 보존하기 위해 양자 게이트를 이용하여 계산되어야 한다. 이를 위한 양자 덧셈 회로에는 carry-sum adder와 Φ-adder가 있다. 그러나 이러한 양자 덧셈 회로들은 간단한 덧셈 연산을 위해 입력되는 큐비트 대비 많은 기본 양자 게이트 수와 양자 회로 깊이를 갖는다.
carry-sum adder는 CNOT 게이트와 Toffoli 게이트만을 사용하여 클래식한 덧셈 방법을 양자 회로로 구현한 것으로서 오버플로우 없이 비트의 두 값을 더하기 위해 캐리(carry)를 위한 여분의 큐비트를 포함하여 개의 큐비트를 필요로 하며, (8n-7)개의 기본 양자 게이트수가 필요하다.
Φ-adder는 Hadamard 게이트와 Conditional Rotation 게이트, QFT(Quantum Fourier Transform)을 이용한 것으로서 중간 캐리를 위한 여분의 큐비트를 필요로 하지 않아서 개의 큐비트만을 필요로 하며, 개의 기본 양자 게이트수가 필요하다.
양자 회로 상으로 덧셈을 구현한 기존 carry-sum adder와 -adder는 가장 간단한 연산인 덧셈 연산을 하기 위해 상당한 기본 양자 게이트 수와 큰 양자 회로 깊이를 갖는다. 따라서 덧셈 연산을 기반으로 하는 곱셈 연산 및 지수승 연산에서는 필요한 기본 양자 게이트 수와 양자 회로 깊이가 기하급수적으로 늘어나게 된다.
본 발명이 이루고자 하는 기술적인 과제는 메르센 수의 특성을 이용하여 효율성을 향상시킨 양자 가산기 및 가산 방법를 제공하는 것이다.
본 발명의 실시 예에 따른 양자 가산기는 N자리(N은 2 이상의 자연수) 큐비트들에 N자리 클래식 비트들을 가산하는 가산기로서 최하위 캐리 큐비트를 '1'로 설정하고 상기 큐비트들과 상기 클래식 비트들을 가산하여 최상위 캐리 큐비트를 산출하는 전처리부, 상기 산출된 최상위 캐리 큐비트를 상기 최하위 캐리 큐비트로 재설정하는 최하위 캐리 재설정부 및 상기 설정된 최하위 캐리 큐비트를 적용하여 상기 큐비트들에 상기 클래식 비트들을 가산하는 가산부를 포함할 수 있다.
실시 예에 따라, 상기 큐비트들 및 상기 클래식 비트들에 저장된 값들은 메르센 수(Mersenne number)를 표수(characteristic)로 갖는 유한체(finite field)에 포함되는 수일 수 있다.
실시 예에 따라, 상기 전처리부는 상기 최하위 캐리 큐비트를 '1'로 설정하는 제1 NOT 게이트, M번째 자리(M은 N 보다 작거나 같은 자연수) 클래식 비트와 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리의 캐리 큐비트를 출력으로 하는 제1 토폴리 게이트들, 상기 M번째 자리 클래식 비트를 입력으로 하고 상기 M번째 자리 큐비트를 출력으로 하는 제1 CNOT 게이트들, M번째 자리 캐리 큐비트와 상기 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리 캐리 큐비트를 출력으로 하는 제2 토폴리 게이트들, N번째 자리 클래식 비트를 입력으로 하고 N번째 자리 큐비트를 출력으로 하는 제2 CNOT 게이트 및 상기 P번째 자리(P는 (N-1) 보다 작거나 같은 자연수) 캐리 큐비트와 상기 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 하는 제3 토폴리 게이트들을 포함할 수 있다.
실시 예에 따라, 상기 제1 NOT 게이트, 상기 제1 토폴리 게이트들, 상기 제1 CNOT 게이트들, 상기 제2 토폴리 게이트들, 상기 제2 CNOT 게이트 및 상기 제3 토폴리 게이트들은 기재된 순서대로 연산될 수 있다.
실시 예에 따라, 상기 제2 토폴리 게이트들은 낮은 자리부터 높은 자리 순서로 연산될 수 있다.
실시 예에 따라, 상기 제3 토폴리 게이트들은 높은 자리부터 낮은 자리 순서로 연산될 수 있다.
실시 예에 따라, 상기 최하위 캐리 재설정부는 (N+1)번째 자리 캐리 큐비트를 반전하는 제2 NOT 게이트, 상기 반전된 (N+1)번째 자리 캐리 큐비트를 입력으로 하고 상기 최하위 캐리 큐비트를 출력으로 하는 제3 CNOT 게이트 및 상기 반전된 (N+1)번째 자리 캐리 큐비트를 재반전하는 제3 NOT 게이트를 포함할 수 있다.
실시 예에 따라, 상기 가산부는 P번째 자리 캐리 큐비트와 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 하는 제4 토폴리 게이트들, N번째 자리 캐리 큐비트를 입력으로 하고 상기 N번째 자리 큐비트를 출력으로 하는 제4 CNOT 게이트, (N-1)번째 자리부터 최하위까지 순차적으로 연산되는 게이트 세트들 및 상기 (N+1)번째 자리 캐리 큐비트를 입력으로 하고 상기 최하위 캐리 큐비트를 출력으로 하는 제5 CNOT 게이트를 포함하며, 상기 게이트 세트들 각각은 현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 하는 제5 토폴리 게이트, 현재 자리 클래식 비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제6 CNOT 게이트, 상기 현재 자리 클래식 비트와 상기 현재 자리 큐비트를 입력으로 하고 상기 상위 캐리 큐비트를 출력으로 하는 제6 토폴리 게이트, 상기 현재 자리 클래식 비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제7 CNOT 게이트 및 상기 현재 자리 캐리 큐비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제8 CNOT 게이트를 포함할 수 있다.
실시 예에 따라, 상기 제4 토폴리 게이트는 낮은 자리부터 높은 자리 순서로 연산될 수 있다.
본 발명의 실시 예에 따른 양자 가산 방법은 N자리(N은 2 이상의 자연수) 큐비트들에 N자리 클래식 비트들을 가산하는 양자 가산 방법으로서 최하위 캐리 큐비트를 '1'로 설정하는 단계, 상기 큐비트들과 상기 클래식 비트들을 가산하여 최상위 캐리 큐비트를 산출하는 단계, 상기 산출된 최상위 캐리 큐비트를 상기 최하위 캐리 큐비트로 재설정하는 단계 및 상기 설정된 최하위 캐리 큐비트를 적용하여 상기 큐비트들과 상기 클래식 비트들을 가산하여 결과 큐비트들을 출력하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 양자 가산기 및 가산 방법은 메르센 수의 특성을 이용함으로써 필요한 양자 게이트의 개수와 양자 회로의 깊이를 감소시킬 수 있다.
본 발명의 실시 예에 따른 양자 가산기 및 가산 방법을 활용하여 곱셈 연산 및 지수승 연산의 효율성도 향상될 수 있어 양자 알고리즘의 성능을 크게 향상시킬 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 양자 가산 방법을 설명하기 위한 플로우 차트(flow chart)이다.
도 2는 본 발명의 실시 예에 따른 양자 가산기를 나타내는 블록도이다.
도 3은 도 2에 도시된 전처리부를 보다 상세하게 나타내는 회로도이다.
도 4는 도 2에 도시된 최하위 캐리 재설정부를 보다 상세하게 나타내는 회로도이다.
도 5는 도 2에 도시된 가산부를 보다 상세하게 나타내는 회로도이다.
도 6는 도 5에 도시된 게이트 세트를 보다 상세하게 나타내는 회로도이다.
도 7은 도 2에 도시된 양자 가산기 전체를 보다 상세하게 나타내는 회로도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
본 명세서에서는 큐비트 레지스터(qubit register, z)는 N개(N은 2 이상의 자연수)의 큐비트들(qubits)로 구성되어 있고 클래식 값(a)은 N개의 클래식 비트들로 구성되어 있는 것을 전제로 양자 가산기(100)의 기능 및 동작을 설명한다. 여기서, 클래식 값과 클래식 비트는 양자 컴퓨터가 아닌 고전적인(전통적인) 컴퓨터에서 사용되는 저장단위를 의미한다.
도 1은 본 발명의 실시 예에 따른 양자 가산 방법을 설명하기 위한 플로우 차트(flow chart)이다.
도 1을 참조하면, 양자 가산기(100)는 N개의 큐비트들(도 3 내지 도 5에서 |z1 내지 |zN〉), (N+1)개의 캐리 큐비트들(도 3 내지 도 5에서 |c1 내지 |cN+1〉) 및 N개의 비트들(도 3 내지 도 5에서 a1 내지 aN)을 이용해 가산을 수행한다.
양자 가산기(100)는 큐비트 레지스터(z)에 클래식 값(a)과 '1'을 가산하고 최상위 캐리의 발생 여부를 저장한다.
최상위 캐리가 발생하였으면, 양자 가산기(100)는 큐비트 레지스터(z)에 클래식 값(a)과 '1'을 더하는 방식으로 가산 동작을 수행한다.
반대로, 최상위 캐리가 발생하지 않았으면, 양자 가산기(100)는 큐비트 레지스터(z)에 클래식 값(a)만을 더하는 방식으로 가산 동작을 수행한다.
이는 모듈러(modular) 연산이 빠르게 이루어지는 메르센 수(Mersenne number)의 특성일 이용한 것으로서 알고리즘적으로 보다 상세하게 다시 설명하면 아래와 같다.
양자 가산기(100)는 최하위 캐리 큐비트를 '1'로 설정하고 설정된 최하위 캐리 큐비트를 적용하면서 큐비트 레지스터(z)에 클래식 값(a)를 가산하여 최상위 캐리의 발생 여부를 산출한다(S100).
양자 가산기(100)는 산출된 최상위 캐리 큐비트를 반전하여 최하위 캐리 큐비트로 재설정한다(S200).
이후, 양자 가산기(100)는 재설정된 최하위 캐리 큐비트를 적용하면서 큐비트 레지스터(z)에 클래식 값(a)를 가산한다(S300).
큐비트 레지스터(z)에 저장된 값과 클래식 값(a)은 메르센 수를 표수(characteristic)로 갖는 유한체(finite field)에 포함되는 수이다.
다시 말해, 큐비트들에 저장된 값과 클래식 비트들에 저장된 값은 메르센 수를 표수로 갖는 유한체에 포함되는 수이다.
양자 가산기(100)의 구체적인 구조, 기능 및 동작은 도 2 내지 도 7을 통해 보다 상세하게 설명된다.
도 2는 본 발명의 실시 예에 따른 양자 가산기를 나타내는 블록도이다.
도 2를 참조하면, 양자 가산기(100)는 전처리부(110), 최하위 캐리 재설정부(130) 및 가산부(150)를 포함할 수 있다.
전처리부(110)는 최하위 캐리 큐비트를 '1'로 설정하고 큐비트 레지스터(z)에 클래식 값(a)을 가산하여 최상위 캐리 큐비트를 산출할 수 있다.
최상위 캐리 큐비트가 산출된 이후, 전처리부(110)는 큐비트 레지스터(z)의 초기화, 즉, 전처리부(110)에서 연산을 수행하기 전의 상태로 복구할 수 있다.
전처리부(110)의 구체적인 구조, 기능 및 동작은 도 3을 통해 보다 상세하게 설명될 것이다.
최하위 캐리 재설정부(130)는 전처리부(110)에 의해 산출된 최상위 캐리 큐비트에 기초하여 최하위 캐리 큐비트를 재설정할 수 있다.
구체적으로, 최하위 캐리 재설정부(130)는 상기 산출된 최상위 캐리 큐비트를 반전하여 최하위 캐리 큐비트로 재설정할 수 있다.
즉, 최하위 캐리 재설정부(130)는, 전처리부(110)에서의 처리 결과 최상위 캐리 큐비트가 발생한 경우. 즉, '1'인 경우, 최하위 캐리 큐비트를 '0'으로 설정할 수 있다.
반대로, 최하위 캐리 재설정부(130)는, 전처리부(110)에서의 처리 결과 최상위 캐리 큐비트가 발생하지 않은 경우, 즉, '0'인 경우, 최하위 캐리 큐비트를 '1'로 설정할 수 있다.
최하위 캐리 재설정부(130)의 구체적인 구조, 기능 및 동작은 도 4를 통해 보다 상세하게 설명될 것이다.
가산부(150)는 최하위 캐리 재설정부(130)에 의해 재설정된 최하위 캐리 큐비트를 적용하여 큐비트들에 클래식 비트들을 가산함으로써 가산 동작을 종료한다.
가산부(150)의 구체적인 구조, 기능 및 동작은 도 5 및 도 6을 통해 보다 상세하게 설명될 것이다.
도 3은 도 2에 도시된 전처리부를 보다 상세하게 나타내는 회로도이다.
도 3을 참조하면, 전처리부(110)는 1개의 제1 NOT 게이트(NG1), N개의 제1 토폴리 게이트들(TG1), N개의 제1 CNOT 게이트들(CNG1), N개의 제2 토폴리 게이트들(TG2), 1개의 제2 CNOT 게이트(CNG2) 및 (N-1)개의 제3 토폴리 게이트들(TG3)을 포함할 수 있다.
여기서, 'NOT 게이트'는 해당 큐비트의 상태를 반전하는 게이트로서 아래와 같은 수학식 1의 행렬로 표현될 수 있다.
[수학식 1]
Figure 112020059540177-pat00005
'CNOT 게이트'는 controlled-not 게이트를 의미하며 입력이 '1'일 때 출력 큐비트의 상태를 반전하는 게이트로서 아래와 같은 수학식 2의 행렬로 표현될 수 있다.
[수학식 2]
Figure 112020059540177-pat00006
'토폴리 게이트'는 Toffoli 게이트 또는 controlled-controlled-not 게이트를 의미하며 두 개의 입력들이 모두 '1'일 때 출력 큐비트의 상태를 반전하는 게이트로서 아래와 같은 수학식 3의 행렬로 표현될 수 있다.
[수학식 3]
Figure 112020059540177-pat00007
제1 NOT 게이트(NG1)는 최하위 캐리 큐비트(|c1〉)를 반전하여 '1'로 설정할 수 있다.
제1 토폴리 게이트들(TG1-1 내지 TG1-N, 이하 통칭하여 TG1) 각각은, 첫번째 자리부터 N번째 자리까지, 현재 자리 클래식 비트와 현재 자리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 한다.
다시 말해, M번째(M은 N 보다 작거나 같은 자연수) 제1 토폴리 게이트는 M번째 자리 클래식 비트와 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리 캐리 큐비트를 출력으로 한다.
이에 따라, M번째 제1 토폴리 게이트는 M번째 자리 클래식 비트와 M번째 자리 큐비트가 모두 '1'일 때 (M+1)번째 자리 캐리 큐비트를 반전한다.
예를 들어, N번째 제1 토폴리 게이트(TG1-N)는 N번째 자리 클래식 비트(aN)과 N번째 자리 큐비트(|zN〉)가 모두 '1'일 때 최상위 캐리 큐비트인 (N+1)번째 자리 캐리 큐비트(|cN+1〉)를 반전한다.
제1 CNOT 게이트들(CNG1-1 내지 CNG1-N, 이하 통칭하여 CNG1) 각각은, 첫번째 자리부터 N번째 자리까지, 현재 자리 클래식 비트를 입력으로 하고 현재 자리 큐비트를 출력으로 한다.
다시 말해, M번째 제1 CNOT 게이트는 M번째 자리 클래식 비트를 입력으로 하고 M번째 자리 큐비트를 출력으로 한다.
이에 따라, M번째 제1 CNOT 게이트는 M번째 자리 클래식 비트가 '1'일 때 M번째 자리 큐비트를 반전한다.
예를 들어, N번째 제1 CNOT 게이트(CNG1-N)는 N번째 자리 클래식 비트(aN)가 '1'일 때 N번째 자리 큐비트(|cN〉)를 반전한다.
제2 토폴리 게이트들(TG2-1 내지 TG2-N, 통칭하여 TG2) 각각은, 첫번째 자리부터 N번째 자리까지, 현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 한다.
다시 말해, M번째 제2 토폴리 게이트는 M번째 자리 캐리 큐비트와 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리 캐리 큐비트를 출력으로 한다.
이에 따라, M번째 제2 토폴리 게이트는 M번째 자리 캐리 큐비트와 M번째 자리 큐비트가 모두 '1'일 때 (M+1)번째 자리 캐리 큐비트를 반전한다.
예를 들어, N번째 제2 토폴리 게이트(TG2-N)는 N번째 자리 캐리 큐비트(|cN〉)와 N번째 자리 큐비트(|zN〉)가 모두 '1'일 때 최상위 캐리 큐비트인 (N+1)번째 자리 캐리 큐비트(|cN+1〉)를 반전한다.
제2 토폴리 게이트들(TG2)은 첫번째 자리부터 N번째 자리까지의 순서대로 연산을 수행한다.
제2 CNOT 게이트(CNG2)는 N번째 자리 클래식 비트(aN)를 입력으로 하고 N번째 자리 큐비트(|zN〉)를 출력으로 한다.
이에 따라, 제2 CNOT 게이트(CNG2) N번째 자리 클래식 비트(aN)가 '1'일 때 N번째 자리 큐비트(|zN〉)를 반전한다.
제3 토폴리 게이트들(TG3-1 내지 TG3-(N-1), 이하 통칭하여 TG3) 각각은, (N-1)번째 자리부터 첫번째 자리까지, 현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 자리 캐리 큐비트를 출력으로 한다.
다시 말해, P번째(P는 (N-1)보다 작거나 같은 자연수) 제3 토폴리 게이트는 P번째 자리 캐리 큐비트와 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 한다.
이에 따라, P번째 제3 토폴리 게이트는 P번째 자리 캐리 큐비트와 P번째 자리 큐비트가 모두 '1'일 때 (P+1)번째 자리 캐리 큐비트를 반전한다.
예를 들어, (N-1)번째 제3 토폴리 게이트(TG3)는 (N-1)번째 자리 캐리 큐비트(|cN-1〉)와 (N-1)번째 자리 큐비트(|zN-1〉)가 모두 '1'일 때 N번째 자리 캐리 큐비트(|cN〉)를 반전한다.
제3 토폴리 게이트들(TG3)은 (N-1)번째 자리부터 첫번째 자리까지의 순서대로 연산을 수행한다.
제1 NOT 게이트(NG1), 제1 토폴리 게이트들(TG1), 제1 CNOT 게이트들(CNG1),제2 토폴리 게이트들(TG2), 제2 CNOT 게이트(CNG2) 및 제3 토폴리 게이트들(TG3)은 기재된 순서에 따라 연산을 수행한다.
이와 같은 전처리부(110)에 의해 최하위 캐리 큐비트를 '1'로 설정했을 때 최상위 캐리의 발생 여부를 산출할 수 있다.
도 4는 도 2에 도시된 최하위 캐리 재설정부를 보다 상세하게 나타내는 회로도이다.
도 4를 참조하면, 최하위 캐리 재설정부(130)는 제2 NOT 게이트(NG2), 제3 CNOT 게이트(CNG3) 및 제3 NOT 게이트(NG3)를 포함할 수 있다.
제2 NOT 게이트(NG2)는 최상위 캐리 큐비트인 (N+1)번째 자리 캐리 큐비트(|cN+1〉)를 반전한다.
제3 CNOT 게이트(CNG3)는 (N+1)번째 자리 캐리 큐비트(|cN+1〉)를 입력으로 하고 최하위 캐리 큐비트(|c1〉)를 출력으로 한다.
이에 따라, 제3 CNOT 게이트(CNG3) (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 '1'일 때 최하위 캐리 큐비트(|c1〉)를 반전한다.
전처리부(110)에 의해 (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 '1'로 산출되었다면 최하위 캐리 재설정부(130)에서 (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 '0'으로 반전하게 되어 최하위 캐리 큐비트(|c1〉)가 그대로 '1'로 유지될 수 있다.
반대로, 전처리부(110)에 의해 (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 '0'으로 산출되었다면 최하위 캐리 재설정부(130)에서 (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 '0'으로 반전하게 되어 최하위 캐리 큐비트(|c1〉)는 '0'로 반전될 수있다.
즉, 전처리부(110)에 의해 산출된 (N+1)번째 자리 캐리 큐비트(|cN+1〉)가 최하위 캐리 큐비트(|c1〉)로 설정된다.
제3 NOT 게이트(NG3)는 최상위 캐리 큐비트인 (N+1)번째 자리 캐리 큐비트(|cN+1〉)를 다시 반전한다.
제2 NOT 게이트(NG2), 제3 CNOT 게이트(CNG3) 및 제3 NOT 게이트(NG3)는 기재된 순서에 따라 연산을 수행한다.
도 5는 도 2에 도시된 가산부를 보다 상세하게 나타내는 회로도이며, 도 6는 도 5에 도시된 게이트 세트를 보다 상세하게 나타내는 회로도이다.
도 5 및 도 6을 참조하면, 가산부(150)는 (N-1)개의 제4 토폴리 게이트들(TG4), 1개의 제4 CNOT 게이트(CNG4), (N-1)개의 게이트 세트들(GS) 및 1개의 제5 CNOT 게이트(CNG5)를 포함한다.
제4 토폴리 게이트들(TG4-1 내지 TG4-(N-1)) 각각은, 첫번째 자리부터 (N-1)번째 자리까지, 현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 한다.
다시 말해, P번째 제4 토폴리 게이트는 P번째 자리 캐리 큐비트와 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 한다.
이에 따라, P번째 제4 토폴리 게이트는 P번째 자리 캐리 큐비트와 P번째 자리 큐비트가 모두 '1'일 때 (P+1)번째 자리 캐리 큐비트를 반전한다.
예를 들어, (N-1)번째 제4 토폴리 게이트(TG4-(N-1))는 (N-1)번째 자리 캐리 큐비트(|cN-1〉)와 (N-1)번째 자리 큐비트(|zN-1〉)가 모두 '1'일 때 N번째 자리 캐리 큐비트(|cN〉)를 반전한다.
제4 토폴리 게이트들(TG4)은 첫번째 자리부터 (N-1)번째 자리까지의 순서대로 연산을 수행한다.
제4 CNOT 게이트(CNG4)는 N번째 캐리 큐비트(|cN〉)를 입력으로 하고 N번째 큐비트(|zN〉)를 출력으로 한다.
이에 따라, 제4 CNOT 게이트(CNG4)는 N번째 캐리 큐비트(|cN〉)가 '1'일 때, N번째 큐비트(|zN〉)를 반전한다.
게이트 세트들(GS-1 내지 GS-(N-1), 이하 통칭하여 GS)은, (N-1)번째 자리부터 첫번째 자리까지, 게이트 세트들(GS) 각각에 포함된 양자 게이트들을 순차적으로 연산한다.
게이트 세트들(GS) 각각은 제5 토폴리 게이트(TG5), 제6 CNOT 게이트(CNG6), 제6 토폴리 게이트(TG6), 제7 CNOT 게이트(CNG7) 및 제8 CNOT 게이트(CNG8)을 포함한다.
제5 토폴리 게이트(TG5)는 현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 자리 캐리 큐비트를 출력으로 한다.
P번째 게이트 세트(GS)를 예로 들면, 제5 토폴리 게이트(TG5)는 P번째 자리 캐리 큐비트(|cP〉)와 P번째 자리 큐비트(|zP〉)를 입력으로 하고 (P+1)번째 자리 캐리 큐비트(|cP+1〉)를 출력으로 한다.
이에 따라, 제5 토폴리 게이트(TG5)는 P번째 자리 캐리 큐비트(|cP〉)와 P번째 자리 큐비트(|zP〉)가 모두 '1'일 때 (P+1)번째 자리 캐리 큐비트(|cP+1〉)를 반전한다.
제6 CNOT 게이트(CNG6)는 현재 자리 클래식 비트를 입력으로 하고 현재 자리 큐비트를 출력으로 한다.
P번째 게이트 세트(GS)를 예로 들면, 제6 CNOT 게이트(CNG6)는 P번째 자리 클래식 비트(aP)를 입력으로 하고 P번째 자리 큐비트(|zP〉)를 출력으로 한다.
이에 따라, 제6 CNOT 게이트(CNG6)는 P번째 자리 클래식 비트(aP)가 '1'일 때 P번째 자리 큐비트(|zP〉)를 반전한다.
제6 토폴리 게이트(TG6)는 현재 자리 클래식 비트와 현재 자리 캐리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 한다.
P번째 게이트 세트(GS)를 예로 들면, 제6 토폴리 게이트(TG6)는 P번째 자리 클래식 비트(aP)와 P번째 자리 캐리 큐비트(|cP〉)를 입력으로 하고 (P+1)번째 자리 캐리 큐비트(|cP+1〉)를 출력으로 한다.
이에 따라, 제6 토폴리 게이트(TG6)는 P번째 자리 클래식 비트(aP)와 P번째 자리 캐리 큐비트(|cP〉)가 모두 '1'일 때 (P+1)번째 자리 캐리 큐비트(|cP+1〉)를 반전한다.
제7 CNOT 게이트(CNG7)는 현재 자리 클래식 비트를 입력으로 하고 현재 자리 큐비트를 출력으로 한다.
P번째 게이트 세트(GS)를 예로 들면, 제7 CNOT 게이트(CNG7)는 P번째 자리 클래식 비트(aP)를 입력으로 하고 P번째 자리 큐비트(|zP〉)를 출력으로 한다.
이에 따라, 제7 CNOT 게이트(CNG7)는 P번째 자리 클래식 비트(aP)가 '1'일 때 P번째 자리 큐비트(|zP〉)를 반전한다.
제8 CNOT 게이트(CNG8)는 현재 자리 캐리 큐비트를 입력으로 하고 현재 자리 큐비트를 출력으로 한다.
P번째 게이트 세트(GS)를 예로 들면, 제8 CNOT 게이트(CNG8)는 P번째 자리 캐리 큐비트(|cP〉)를 입력으로 하고 P번째 자리 큐비트(|zP〉)를 출력으로 한다.
이에 따라, 제8 CNOT 게이트(CNG8)는 P번째 자리 캐리 큐비트(|cP〉)가 '1'일 때 P번째 자리 큐비트(|zP〉)를 반전한다.
게이트 세트들(GS) 각각에서 제5 토폴리 게이트(TG5), 제6 CNOT 게이트(CNG6), 제6 토폴리 게이트(TG6), 제7 CNOT 게이트(CNG7) 및 제8 CNOT 게이트(CNG8)는 순차적으로 연산된다.
제5 CNOT 게이트(CNG5)는 (N+1)번째 캐리 큐비트(|cN+1〉)를 입력으로 하고 첫번째 캐리 큐비트(|c1〉)를 출력으로 한다.
이에 따라, 제5 CNOT 게이트(CNG5)는 (N+1)번째 캐리 큐비트(|cN+1〉)가 '1'일 때 첫번째 캐리 큐비트(|c1〉)를 반전한다.
제4 토폴리 게이트들(TG4), 제4 CNOT 게이트(CNG4), 게이트 세트들(GS) 및 제5 CNOT 게이트(CNG5)은 기재된 순서에 따라 연산된다.
이와 같은 연산을 통해 가산부(150)는 큐비트 레지스터(z)에 클래식 값(a)를 가산할 수 있다.
도 7은 도 2에 도시된 양자 가산기 전체를 보다 상세하게 나타내는 회로도이다.
도 7은 도 3 내지 도 6에 도시된 전처리부(110), 최하위 캐리 재설정부(130) 및 가산부(150)를 함께 도시한 것으로서 중복되는 설명은 생략한다.
도 7에 도시된 바와 같이, 연산 과정 이후 큐비트들(|z1〉 내지 |zN〉)로부터 가산 결과를 독출(read)할 수 있다.
이와 같이 양자 가산기(100)는 메르센 수(Mersenne number)의 특성일 이용함으로써 큐비트 레지스터에 클래식 값을 가산하는 과정의 하드웨어적 및/또는 소프트웨어적 효율성을 향상시킬 수 있다.
구체적으로, 본 발명의 실시 예에 따른 양자 가산기(100)는 (2N+1)개의 큐비트 개수, (10N-1)개의 양자 게이트 개수 및 (8N-2)의 양자 회로 깊이가 필요하여 종래의 가산기(carry-sum adder) 대비 양자 게이트 개수에서 1/3 이상, 양자 회로 깊이에서 1/2 이상 효율성이 향상된다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 양자 가산기
110; 전처리부
130; 최하위 캐리 재설정부
150; 가산부

Claims (10)

  1. N자리(N은 2 이상의 자연수) 큐비트들에 N자리 클래식 비트들을 가산하는 가산기에 있어서,
    최하위 캐리 큐비트를 '1'로 설정하고 상기 큐비트들과 상기 클래식 비트들을 가산하여 최상위 캐리 큐비트를 산출하는 전처리부;
    상기 산출된 최상위 캐리 큐비트를 상기 최하위 캐리 큐비트로 재설정하는 최하위 캐리 재설정부; 및
    상기 설정된 최하위 캐리 큐비트를 적용하여 상기 큐비트들에 상기 클래식 비트들을 가산하는 가산부를 포함하되,
    상기 전처리부는,
    상기 최하위 캐리 큐비트를 '1'로 설정하는 제1 NOT 게이트;
    M번째 자리(M은 N 보다 작거나 같은 자연수) 클래식 비트와 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리의 캐리 큐비트를 출력으로 하는 제1 토폴리 게이트들;
    상기 M번째 자리 클래식 비트를 입력으로 하고 상기 M번째 자리 큐비트를 출력으로 하는 제1 CNOT 게이트들;
    M번째 자리 캐리 큐비트와 상기 M번째 자리 큐비트를 입력으로 하고 (M+1)번째 자리 캐리 큐비트를 출력으로 하는 제2 토폴리 게이트들;
    N번째 자리 클래식 비트를 입력으로 하고 N번째 자리 큐비트를 출력으로 하는 제2 CNOT 게이트; 및
    P번째 자리(P는 (N-1) 보다 작거나 같은 자연수) 캐리 큐비트와 상기 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 하는 제3 토폴리 게이트들을 포함하는 양자 가산기.
  2. 제1항에 있어서,
    상기 큐비트들 및 상기 클래식 비트들에 저장된 값들은 메르센 수(Mersenne number)를 표수(characteristic)로 갖는 유한체(finite field)에 포함되는 수인 양자 가산기.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 NOT 게이트, 상기 제1 토폴리 게이트들, 상기 제1 CNOT 게이트들, 상기 제2 토폴리 게이트들, 상기 제2 CNOT 게이트 및 상기 제3 토폴리 게이트들은 기재된 순서대로 연산되는 양자 가산기.
  5. 제1항에 있어서,
    상기 제2 토폴리 게이트들은 낮은 자리부터 높은 자리 순서로 연산되는 양자 가산기.
  6. 제1항에 있어서,
    상기 제3 토폴리 게이트들은 높은 자리부터 낮은 자리 순서로 연산되는 양자 가산기.
  7. 제1항에 있어서,
    상기 최하위 캐리 재설정부는,
    (N+1)번째 자리 캐리 큐비트를 반전하는 제2 NOT 게이트;
    상기 반전된 (N+1)번째 자리 캐리 큐비트를 입력으로 하고 상기 최하위 캐리 큐비트를 출력으로 하는 제3 CNOT 게이트; 및
    상기 반전된 (N+1)번째 자리 캐리 큐비트를 재반전하는 제3 NOT 게이트를 포함하는 양자 가산기.
  8. 제7항에 있어서,
    상기 가산부는,
    P번째 자리 캐리 큐비트와 P번째 자리 큐비트를 입력으로 하고 (P+1)번째 자리 캐리 큐비트를 출력으로 하는 제4 토폴리 게이트들;
    N번째 자리 캐리 큐비트를 입력으로 하고 상기 N번째 자리 큐비트를 출력으로 하는 제4 CNOT 게이트;
    (N-1)번째 자리부터 최하위까지 순차적으로 연산되는 게이트 세트들; 및
    상기 (N+1)번째 자리 캐리 큐비트를 입력으로 하고 상기 최하위 캐리 큐비트를 출력으로 하는 제5 CNOT 게이트를 포함하며,
    상기 게이트 세트들 각각은,
    현재 자리 캐리 큐비트와 현재 자리 큐비트를 입력으로 하고 상위 캐리 큐비트를 출력으로 하는 제5 토폴리 게이트;
    현재 자리 클래식 비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제6 CNOT 게이트;
    상기 현재 자리 클래식 비트와 상기 현재 자리 큐비트를 입력으로 하고 상기 상위 캐리 큐비트를 출력으로 하는 제6 토폴리 게이트;
    상기 현재 자리 클래식 비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제7 CNOT 게이트; 및
    상기 현재 자리 캐리 큐비트를 입력으로 하고 상기 현재 자리 큐비트를 출력으로 하는 제8 CNOT 게이트를 포함하는 양자 가산기.
  9. 제8항에 있어서,
    상기 제4 토폴리 게이트는 낮은 자리부터 높은 자리 순서로 연산되는 양자 가산기.
  10. 양자 가산기의 N자리(N은 2 이상의 자연수) 큐비트들에 N자리 클래식 비트들을 가산하는 양자 가산 방법에 있어서,
    최하위 캐리 큐비트를 '1'로 설정하는 단계;
    상기 큐비트들과 상기 클래식 비트들을 가산하여 최상위 캐리 큐비트를 산출하는 단계;
    상기 산출된 최상위 캐리 큐비트를 상기 최하위 캐리 큐비트로 재설정하는 단계; 및
    상기 설정된 최하위 캐리 큐비트를 적용하여 상기 큐비트들과 상기 클래식 비트들을 가산하여 결과 큐비트들을 출력하는 단계를 포함하되,
    상기 최하위 캐리 큐비트로 재설정하는 단계는 상기 양자 가산기의 최하위 캐리 재설정부에 의해 수행되며,
    상기 최하위 캐리 재설정부는
    (N+1)번째 자리 캐리 큐비트를 반전하는 제2 NOT 게이트;
    상기 반전된 (N+1)번째 자리 캐리 큐비트를 입력으로 하고 상기 최하위 캐리 큐비트를 출력으로 하는 제3 CNOT 게이트; 및
    상기 반전된 (N+1)번째 자리 캐리 큐비트를 재반전하는 제3 NOT 게이트를 포함하는, 양자 가산 방법.
KR1020200070096A 2019-11-27 2020-06-10 효율성이 향상된 양자 가산기 및 가산 방법 KR102658003B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190154133 2019-11-27
KR20190154133 2019-11-27

Publications (2)

Publication Number Publication Date
KR20210065822A KR20210065822A (ko) 2021-06-04
KR102658003B1 true KR102658003B1 (ko) 2024-04-17

Family

ID=76391877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200070096A KR102658003B1 (ko) 2019-11-27 2020-06-10 효율성이 향상된 양자 가산기 및 가산 방법

Country Status (1)

Country Link
KR (1) KR102658003B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118512A (ja) * 2002-09-26 2004-04-15 Japan Science & Technology Corp 半導体演算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480997B1 (ko) * 2002-12-21 2005-04-07 한국전자통신연구원 GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치
US10534607B2 (en) * 2017-05-23 2020-01-14 Google Llc Accessing data in multi-dimensional tensors using adders

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118512A (ja) * 2002-09-26 2004-04-15 Japan Science & Technology Corp 半導体演算装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Stephane Beauregard et al. "Quantum arithmetic on Galois fields." arXiv preprint quant-ph/0301163(2003.) 1부.*
서창배 등 "ProjectQ 로 설계한 양자 Carry-Sum Adder." 한국정보처리학회 학술대회논문집 Vol. 26(2), pp. 487-490(2019.10.30.) 1부.*

Also Published As

Publication number Publication date
KR20210065822A (ko) 2021-06-04

Similar Documents

Publication Publication Date Title
Thapliyal et al. Design of efficient reversible logic-based binary and BCD adder circuits
Poduval et al. Graphd: Graph-based hyperdimensional memorization for brain-like cognitive learning
Xia et al. Novel multi-bit quantum comparators and their application in image binarization
CN107180013B (zh) 一种量子d(4)小波变换实现量子线路设计的方法
US20190138922A1 (en) Apparatus and methods for forward propagation in neural networks supporting discrete data
Immareddy et al. A survey paper on design and implementation of multipliers for digital system applications
Penchalaiah et al. Design and Implementation of Low Power and Area Efficient Architecture for High Performance ALU
Yuan et al. An adaptive threshold-based quantum image segmentation algorithm and its simulation
Reis et al. A fast and energy efficient computing-in-memory architecture for few-shot learning applications
Ahn et al. Deeper weight pruning without accuracy loss in deep neural networks: Signed-digit representation-based approach
Rahmati et al. Novel designs of a carry/borrow look-ahead adder/subtractor using reversible gates
Noorallahzadeh et al. A new design of parity-preserving reversible multipliers based on multiple-control toffoli synthesis targeting emerging quantum circuits
Asadi et al. Towards designing quantum reversible ternary multipliers
Wang et al. An improved two-threshold quantum segmentation algorithm for NEQR image
KR102658003B1 (ko) 효율성이 향상된 양자 가산기 및 가산 방법
Chaurra-Gutierrez et al. QIST: One-dimensional quantum integer wavelet S-transform
US20230289501A1 (en) Reducing Resources in Quantum Circuits
Selianinau Computationally efficient approach to implementation of the Chinese Remainder Theorem algorithm in minimally redundant Residue Number System
Li et al. A Quantum CAD Accelerator based on Grover's algorithm for finding the minimum Fixed Polarity Reed-Muller form
Thapliyal et al. A new CRL gate as super class of Fredkin gate to design reversible quantum circuits
Pal et al. Properties of carry value transformation
Hendry Comparator trees for winner-take-all circuits
CN113570053A (zh) 一种神经网络模型的训练方法、装置以及计算设备
Bhardwaj et al. Low-Complex and Low-Power n-dimensional Gram–Schmidt Orthogonalization Architecture Design Methodology
KR20230028625A (ko) 양자 컴퓨터 상의 곱셈 장치 및 곱셈 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right