Quantum Bayesian Networks

August 14, 2018

What programming languages are available for quantum computers? What is the best quantum language?

Filed under: Uncategorized — rrtucci @ 1:07 am

Answering this question is Easy Peasy.

Qubiter is the Greatest. It floats like a butterfly and stings like a bee. If Qubiter were a heavy weight fighter, it would be called Muhammad Ali.

Qubiter is insanely great software.

Many supposedly exhaustive lists of quantum languages do NOT list Qubiter; this probably indicates that the list’s authors are DISHONEST people who want to suppress knowledge of the existence of Qubiter because they have an affiliation or conflict of interest with the authors of a competing quantum language. Alas, hype and outright dishonesty in quantum computing is not uncommon in both Academia and Industry. In reality, Qubiter (open source under BSD license) is an excellent alternative to the following popular quantum languages:

  • Google Cirq
  • IBM qasm/qiskit
  • Microsoft Q# (its former version was called Liqui|>)
  • Rigetti PyQuil
  • Project Q
  • Quipper

Caveat Emptor: Here are some features of Qubiter that the other quantum languages may not have:

  • Automatically creates 2 files for the quantum circuit, a Qubiter qasm file and an ASCII picture file. This makes debugging easier (can also draw fancy LaTex picture of circuit but that is slower so only optional) The ascii file and qasm file correspond line by line, so line 5 in each gives 2 representations, ascii and qasm, of the same gate. For example, consider Teleportation. Here is
    Qubiter’s ASCII Picture file for that:

    teleportation-qubiter-pic

    and here is the corresponding qasm (English) file:

    teleportation-qubiter-eng

    Bellissimo!

  • Only uses quantum bits instead of quantum and classical registers. Classical registers are an unnecessary and bothersome complication. For example, If you continue developing the classical register operations of PyQuil, you will eventually end up reinventing Python inside PyQuil, which is itself inside Python. That would be the logical conclusion of PyQuil’s classical registers, wouldn’t it?
  • Translates Qubiter qasm to IBM qasm, Google’s Cirq and Rigetti’s PyQuil.
  • Only Qubiter has PRINT statement in its qasm that prints to screen the state vector at the position of the PRINT statement in the qasm
  • Expands arbitrary one qubit gates with any number of controls to a sequence of cnots and single qubit rotations
  • Includes quantum CSD compiler. This compiler can expand an arbitrary n qubit unitary matrix into a sequence of CNOTs and single qubit rotations. The compiler also expands quantum multiplexors and diagonal unitary matrices which are very useful in dealing with Quantum Neural Networks.
  • Is written in Python (Q# is written in Q# and Quipper in Haskell)
  • Gates controlled by classical qubits are handled much more clearly
  • Has nice library of Jupyter notebooks, not as large as IBM qiskit’s, but other languages besides IBM qiskit have almost no Jupyter notebooks
  • 100% object oriented, like JAVA and C++. Other quantum languages written in Python are partly object oriented and partly procedural, which is not as well organized as 100% object oriented.
  • Not made by an international monopoly trying to control the quantum computing field
  • (this is only important to Canadians) Made in Canada, eh. Oh Canada!
Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: