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 (Qubiter 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

4 Comments »

  1. Hello.

    Which one is the most advanced and easier to design new algorithms and simulate them?
    What about others such as LIQUi|>, QML, Q# or some Julia packages such as Yao.jl?
    I studied physics and electronics but I work as a data analyst. I’d like to go back to my roots, physics, and I’d like to learn Quantum Computing and maybe find a job related with it.

    Comment by juan — November 18, 2018 @ 5:07 pm

  2. Hi Juan, I am obviously biased but I think Qubiter is the most advanced, clearest, easiest to use, easiest to modify. I list my reasons for saying so in the above post. Of course, if you are forced to use a language other than Python, then that eliminates Qubiter. What kind of programming and Data Science experience do you have? Do you have a linkedin page? Are you latino? My mother was Puertorrican

    Comment by rrtucci — November 18, 2018 @ 6:52 pm

  3. Hello.
    I’m from Spain, I prefer not to leave show my linkedin on a public site. I can send it to you if you want.
    I worked a little bit programming algorithms for high frequency trading. And now I’m doing my PhD on biostatistics and big data with medical data.

    Comment by ampar — December 10, 2018 @ 2:16 am

  4. Fantástico. Nuestra compañía tiene vínculos cercanos con muchos programadores Venezolanos. Muy talentosos y necesitan nuestra ayuda. Algún día nos gustaría aplicar las redes bayesianas y la computación cuántica al fintech. Puedes leer mis comentarios en Wilmott en mi blog post más reciente. Las redes bayesianas son muy populares en la bioestadística

    Comment by rrtucci — December 10, 2018 @ 3:00 am


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

Blog at WordPress.com.

%d bloggers like this: