夢の超並列計算機、量子コンピュータの実用化が熱を帯びていますね。 量子の世界というと「シュレディンガーの猫」のようなSF話も面白いものですが、プログラマーとしてはまずアルゴリズムに興味があるところではないでしょうか? 実のところ、ゲート方式の量子コンピュータで動くアルゴリズムは、複素数の行列計算さえできれば組めてしまうのです!
しかし、複素行列を手計算するのは、なかなか骨が折れますね。 なるべく数式に近い表現で、しかも型安全に、色々な演算をサクッと実装できる言語があれば、幸せになれそうではないでしょうか? ああ。そんな、かわいらしい言語を、一つ知っています。そうです、我々の共通言語は、Scalaですから!
ということで量子コンピュータを題材に、拡張メソッドや型レベル整数といったテクニックと、その指針をご紹介します♪
票中 票投票済み