ブログ

量子ソフトウェア - 定義は簡単だが実装は難しい

18
7月
,
2022

I'd like you to draw a picture, please. Draw a group of adults - perhaps a man and three women - working in the field. They are harvesting apples from an apple tree in mid-day. The man is shaking apples loose from the tree while some of the women collect the apples that fall to the ground. The group should be dressed in 19th century work clothes. The scene is in the apple orchard, but I'd like the focus to be on the tree near which the group is working. Try to capture colors that might be typical in an orchard: yellowish red-orange, green, violet, and pink.

That's it!

Simple, right? It took about 100 words and a few minutes to express what I'd like to see.

But implementing this description, certainly to the level of Camille PIssaro's Apple Harvest (painted in 1888) is extremely difficult.

Apple Picking at Eragny-sur-Epte, Camille Pissaro, 1888

While writing quantum software is much removed from impressionist paintings, one could argue that writing quantum software suffers from the same problem: quantum algorithms are easy to describe yet difficult to implement. It is relatively easy to explain how popular quantum algorithms work - how to perform a Grover search, how to optimize an asset portfolio, and even how Shor's algorithm works. It is much more difficult, however, to implement them.

Why?

One reason is that it's the difficulty in generalization. Coding an oracle that detects the number "3" is a lot easier than coding an oracle that accepts an arbitrary 8-bit number, or a set of numbers, and matches it.

Another reason is scale. As the size of each algorithmic block grows, it becomes more challenging to implement. A 20-qubit QFT is harder to write out than a 3-qubit QFT.

Then, one wants to make these circuits efficient and optimized. This is done to fit a circuit within the available quantum resources, or to get better results. There are so many ways to optimize and so many system-wide parameters to account for, that this step alone might take a very long time. Things become even more complex when you wish to optimize for a particular type of hardware, or to port the algorithm from one hardware to another.

That's why Classiq created a platform that allows the designer to specify the behavior - the functional model - of the circuit, and then automatically translates that into a high-quality quantum circuit. Shortening the path from definition to execution is important, and will become critical as quantum computers grow in scale and capability.

I'd like you to draw a picture, please. Draw a group of adults - perhaps a man and three women - working in the field. They are harvesting apples from an apple tree in mid-day. The man is shaking apples loose from the tree while some of the women collect the apples that fall to the ground. The group should be dressed in 19th century work clothes. The scene is in the apple orchard, but I'd like the focus to be on the tree near which the group is working. Try to capture colors that might be typical in an orchard: yellowish red-orange, green, violet, and pink.

That's it!

Simple, right? It took about 100 words and a few minutes to express what I'd like to see.

But implementing this description, certainly to the level of Camille PIssaro's Apple Harvest (painted in 1888) is extremely difficult.

Apple Picking at Eragny-sur-Epte, Camille Pissaro, 1888

While writing quantum software is much removed from impressionist paintings, one could argue that writing quantum software suffers from the same problem: quantum algorithms are easy to describe yet difficult to implement. It is relatively easy to explain how popular quantum algorithms work - how to perform a Grover search, how to optimize an asset portfolio, and even how Shor's algorithm works. It is much more difficult, however, to implement them.

Why?

One reason is that it's the difficulty in generalization. Coding an oracle that detects the number "3" is a lot easier than coding an oracle that accepts an arbitrary 8-bit number, or a set of numbers, and matches it.

Another reason is scale. As the size of each algorithmic block grows, it becomes more challenging to implement. A 20-qubit QFT is harder to write out than a 3-qubit QFT.

Then, one wants to make these circuits efficient and optimized. This is done to fit a circuit within the available quantum resources, or to get better results. There are so many ways to optimize and so many system-wide parameters to account for, that this step alone might take a very long time. Things become even more complex when you wish to optimize for a particular type of hardware, or to port the algorithm from one hardware to another.

That's why Classiq created a platform that allows the designer to specify the behavior - the functional model - of the circuit, and then automatically translates that into a high-quality quantum circuit. Shortening the path from definition to execution is important, and will become critical as quantum computers grow in scale and capability.

"キュービット・ガイのポッドキャスト "について

The Qubit Guy(弊社最高マーケティング責任者ユヴァル・ボーガー)がホストを務めるこのポッドキャストは、量子コンピューティングのオピニオンリーダーをゲストに迎え、量子コンピューティングエコシステムに影響を与えるビジネスや技術的な疑問について議論します。ゲストは、量子コンピュータのソフトウェアやアルゴリズム、量子コンピュータのハードウェア、量子コンピューティングの主要なアプリケーション、量子産業の市場調査などについて興味深い見解を提供します。

ポッドキャストへのゲスト推薦をご希望の方は、こちらまでご連絡ください。

量子ソフトウェア開発を開始

お問い合わせ