最近またShorのアルゴリズムに触れる機会があって,また実装をやりたいなぁってなりました.
なんですが,Qiskitでのスクラッチ実装は既にやっていたので,Qiskit以外にも触れてみたいなぁと思い,色々量子プログラミング言語を調べていました.
有名どころのQCLとかQuipperは最近あまり更新されていなかったため,かなり新し目のSilqという言語に触れてみました.
ETHの人たちが作った言語らしいです.
↑に沿って進めれば基本的には問題なさそうです.
VSCodeの方はまだいいんですが,Githubからのだと,こうやるとエラー出るよっていうのも含まれているので,少し心臓に悪いかも・・・.
おそらく↓をコマンドライン上でペチペチやっていたら,correct.sqlができて,そのアウトプット(0か1)がコマンドライン上に表示されると思います.
sudo apt-get install -y build-essential git wget unzip
git clone https://github.com/eth-sri/silq.git
cd silq && ./dependencies.sh && ./build.sh
sudo mkdir -p /usr/local/bin
sudo ln -s $(pwd)/silq /usr/local/bin/silq
echo "def main(){ x:=H(false); return measure(x); }" > correct.slq
silq correct.slq --run
エラー出た場合はすみません(何か飛ばしているのでドキュメントを見てください,無理そうならVSCodeの方が確実です).
Silqを使ってShorの素因数分解アルゴリズムを今度やってみようと思います.