# Cleve's Corner

## 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.

Get the MATLAB code

Published with MATLAB® R2012b

### 6 Responses to “Quantum Matrix Processor”

1. Steve Eddins replied on :

Hi, Cleve. How well does the zero-time result scale with the number of QMPs used simultaneously?

2. Doug Eastman replied on :

I’m glad to see support for MAGIC, I’ll need to use that quite frequently

3. lars replied on :

Cleve, thanks. Quite interesting and intriguing.

Saddened however by the fact that we have to wait an infinite time for the Answer, let me suggest another approach. It still draws on the advantages of using a (finite) string of qubits but limits the precision to some finite number (IEEE: get the standards committee going before we have a battle going between competing vendors regarding alternative representations.)

Qureals are basically a string of qubits (the length may vary, but by for historical reasons and following the gist of Matlab we may expect 32 or 64 qubits in each qureal.) The advantage of a qubit over an ordinary bit is that this is a superposition of the fundamental states 0 and 1, i.e. it is a linear combinations of these two fundamental states , or even a mixed state, which a all may be visualised as a Bloch 2-sphere (http://en.wikipedia.org/wiki/Qubit) instead of two points on the real line. Now, ponder that each double precision qureal represents a (2-sphere)^64 times the memory. With soon to be available in of-the-shelf QMPs (not even 640kqb might cover all future needs) this is indeed a big number. With the capabilities of the Stat Toolbox this should allow us to begin exploring the fifth dimension that Douglas Adams explains as being probability (http://en.wikipedia.org/wiki/Five-dimensional_space) in one of his later works titled Mostly Harmless.

A positive side-effect of the limited precision is that we may have an instant answer, thus in practice doing away with the time dimension and effectively replacing it with probability.

Lars

4. Sam Nazari replied on :

Hi Cleve, congratulations. You got me good.

5. Michal Kvasnicka replied on :

Hi Cleve,

are there any relevant references or this is just a hoax?

Startup you mentioned above (Quantum Research Partners, Santa Fe) is completely untraceble.

6. Michal Kvasnicka replied on :

Grhhrr … 1st april … of course

Cleve Moler is the author of the first MATLAB, one of the founders of MathWorks, and is currently Chief Mathematician at the company. He is the author of two books about MATLAB that are available online. He writes here about MATLAB, scientific computing and interesting mathematics.

These postings are the author's and don't necessarily represent the opinions of MathWorks.