Quantum Bayesian Networks

February 4, 2019

Translating Between Quantum Programming Languages, The Importance of Being Qubiter

Filed under: Uncategorized — rrtucci @ 7:05 am

The United Nations has 6 official languages: English, French, Spanish, Chinese, Russian and Arabic. I think the more languages you learn, the smarter you become. Don’t you?

Qubiter, a computer program/quantum programming language that I wrote, can translate from itself to the 3 most popular quantum languages that currently have a hardware backend: IBM Qiskit, Rigetti Pyquil, and Google Cirq. Here is a Jupyter notebook illustrating this feature of Qubiter.

https://github.com/artiste-qb-net/qubiter/blob/master/jupyter-notebooks/translating-qubiter-english-file-to-AnyQasm.ipynb

I’ve recently noticed that others, both in Academia and in Industry, are attempting to write their own translators between quantum languages, so there seems to be a lot of interest out there for this sort of thing. Many quantum computerists are interested in running the same quantum program side by side on the 3 hardware devices just mentioned (and others soon to come) to compare performance and final results, a worthy scientific goal.

I want to argue briefly here that Qubiter does it better 😎

Qubiter has ALL the features that each of the big 3 quantum programming languages has and then some. This makes it the most expressive tool in town. You get a more succinct, efficient translation if you using a more expressive computer language to express a command in a less expressive one. For example, if you

use more expressive to express less expressive,
less expressive -> more expressive
you might find
10 lines of code -> 10 lines of code,

whereas if you go in the opposite direction,

use less expressive to express more expressive,
more expressive -> less expressive
you might find
10 lines of code -> 30 lines of code,

because you are “trying to reinvent the wheel” in the second case.

So if Qubiter is to maintain its edge as a translator of quantum programming languages, it must always try to surpass all the other languages in expressiveness. This is what I have done so far and will try to do in the future. (For example, I recently added to Qubiter, placeholders and loops at the English file level. And take a look at the feature comparison table that I gave in a previous, recent blog post).

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

Blog at WordPress.com.

%d bloggers like this: