Úvod do kvantové numerické knihovnyIntroduction to the Quantum Numerics Library

Mnoho kvantových algoritmů je založeno na orákulu, které vyhodnocuje matematické funkce v superpozici vstupů.Many quantum algorithms rely on oracles that evaluate mathematical functions on a superposition of inputs. Například hlavní součást Shorova algoritmu vyhodnocuje $f(x) = a^x\název_operátoru{mod} N$ pro pevné $a$, faktorizované číslo $N$ a $x$ $2n$qubitové celé číslo v jednotné superpozici nad všemi $2n$bitovými řetězci.The main component of Shor's algorithm, for example, evaluates $f(x) = a^x\operatorname{mod} N$ for a fixed $a$, the number to factor $N$, and $x$ a $2n$-qubit integer in a uniform superposition over all $2n$-bit strings.

Aby bylo možné spustit Shorův algoritmus na skutečném kvantovém počítači, musí být tato funkce zapsána v rámci nativních operací cílového počítače.To run Shor's algorithm on an actual quantum computer, this function has to be written in terms of the native operations of the target machine. Pomocí binární reprezentace $x$ s $x_i$ označující $i$tý bit počítaný od nejméně významného bitu lze $f(x)$ zapsat jako $f(x) = a^{\sum_{i=0}^{2n-1} x_i 2^i} \název_operátoru{mod} N$.Using the binary representation of $x$ with $x_i$ denoting the $i$-th bit counting from the least-significant bit, $f(x)$ can be written as $f(x) = a^{\sum_{i=0}^{2n-1} x_i 2^i} \operatorname{mod} N$. Toto lze potom zapsat jako součin (mod N) $a^{2^i x_i}=(a^{2^i})^{x_i}$.In turn, this can be written as a product (mod N) of terms $a^{2^i x_i}=(a^{2^i})^{x_i}$. Funkci $f(x)$ lze proto implementovat pomocí sekvence $2n$ (modulárního) vynásobení $a^{2^i}$ za podmínky, že $x_i$ není nula.The function $f(x)$ can thus be implemented using a sequence of $2n$ (modular) multiplications by $a^{2^i}$ conditional on $x_i$ being nonzero. Konstanty $a^{2^i}$ lze před spuštěním algoritmu předem vypočítat a zmenšit o modulo N.The constants $a^{2^i}$ can be precomputed and reduced modulo N before running the algorithm.

Tuto posloupnost řízených modulárních násobení lze dále zjednodušit: Každé násobení lze provést pomocí sekvence $n$ řízených modulárních sčítání a každé modulární sčítání lze vytvořit z obyčejného sčítání a komparátoru.This sequence of controlled modular multiplications can be simplified further: Each multiplication can be performed using a sequence of $n$ controlled modular additions; and each modular addition can be built from a regular addition and a comparator.

Vzhledem k tomu, že k dosažení skutečné implementace je potřeba provést tak velký počet kroků, by bylo velmi užitečné mít tuto funkci k dispozici od začátku.Given that so many steps are necessary to arrive at an actual implementation, it would be extremely helpful to have such functionality available from the start. A proto sada Quantum Development Kit poskytuje podporu pro širokou řadu numerických funkcí.This is why the Quantum Development Kit provides support for a wide range of numerics functionality.

FunkceFunctionality

Kromě zatím zmíněné celočíselné aritmetiky poskytuje numerická knihovna takéBesides the integer arithmetic mentioned thus far, the numerics library provides

  • Funkce celého čísla se znaménkem (bez znaménka) (násobení, druhá mocnina, dělení se zbytkem, inverze) s jedním nebo dvěma kvantovými celými čísly jako vstupem(Un)signed integer functionality (multiply, square, division with remainder, inversion, ...) with one or two quantum integer numbers as input
  • Funkce s pevnou desetinnou čárkou (sčítání, odečítání, násobení, druhá mocnina, 1/x, vyhodnocení polynomů) s jedním nebo dvěma kvantovými čísly s pevnou desetinnou čárkou jako vstupemFixed-point functionality (add / subtract, multiply, square, 1/x, polynomial evaluation) with one or two quantum fixed-point numbers as input

ZačínámeGetting started

Pokud chcete začít pracovat s numerickou knihovnou, přečtěte si průvodce instalací a další informace týkající se používání numerické knihovny.To get started with the Numerics Library, check out the installation guide and more information on using the Numerics Library.