# Quantum Matrix Processor

The Quantum Matrix Processor, being announced today, is the world's first viable quantum array processor. Basic matrix operations are done instantaneously, with infinite procession. The programming environment is classic MATLAB.

### Contents

#### Quantum Research Partners

I am pleased to be involved in today's announcement of the QMP, the Quantum Matrix Processor. This new device has been developed by Quantum Research Partners, a startup here in Santa Fe that was formed two years ago by a team from Los Alamos National Lab. I have been a consultant from the beginning of their project because they have based their design on classic MATLAB.

#### QMP

The QMP is similar conceptually to a GPU, or Graphics Processing Unit. It is a coprocessor that interfaces with the motherboard via an expansion slot such as PCI Express or Accelerated Graphics Port. Matrices are transferred between the memories and registers of the CPU, or central processor, and the coprocessor. Once the data is available in the QMP, quantum computing can take place.

#### Qureal

Traditional quantum computing involves "qubits", where a quantum circuit represents a single bit and quantum arithmetic operations are similar to digital arithmetic operations. The primary innovative aspect of the QMP is the "qureal" where a single quantum circuit represents a real number. The five basic arithmetic operations of addition, subtraction, multiplication, division, and square root, can be carried out instantaneously, according to the rules of real arithmetic.

Quantities are stored in qureal registers and qureal memory as real numbers. There is no representation error. Arithmetic operations are carried out exactly. There is no roundoff error. Arithmetic operations are done instantaneously. If it could be measured, the execution time of an addition or multiplication operation would be found to be zero.

#### Uncertainty Principle

Heisenberg's uncertainty principle implies that it is not possible to access an infinitely precise real number in finite time. It would take an infinite amount of time, for example, to access the binary or decimal representation of a real result.

#### Programming Environment

The programming environment of the QMP is based on MATLAB. The beta release of the environment is an implementation of what is now called "classic MATLAB", the simple interactive matrix calculator that I developed before we started MathWorks. The available features include basic MATLAB matrix management and command processing. Each of the following functions has been implemented as a single QMP instruction, so it is executed essentially instantaneously on a matrix of qureals.

   ABS   ATAN  BASE  CHAR  CHOL  CHOP  COND  CONJ
COS   DET   DIAG  DIAR  DISP  EIG   EPS   EXEC
EXP   EYE   FLOP  HESS  HILB  IMAG  INV   KRON
LINE  LOAD  LOG   LU    MAGI  NORM  ONES  ORTH
PINV  PLOT  POLY  PRIN  PROD  QR    RAND  RANK
RAT   RCON  REAL  ROOT  ROUN  RREF  SAVE  SCHU
SIN   SIZE  SQRT  SUM   SVD   TRIL  TRIU  USER
CLEA  ELSE  END   EXIT  FOR   HELP  IF    LONG
RETU  SEMI  SHOR  WHAT  WHIL  WHO   WHY

#### LINPACK Benchmark

This processor can solve a system of simultaneous linear equations instantaneously. Does that qualify the QMP as the faster computer in the world? My colleague Jack Dongarra and the other folks running the top 500 list will have two concerns when we submit our benchmark results. First, we can't access the computed solution in zero time. And, second my program is written in MATLAB, not Fortran.

Published with MATLAB® R2012b

|