三浦ノート

自分の経験したことを検索可能にしていくブログ.誰かの役に立ってくれれば嬉しいです.

冪剰余と剰余の逆元を求めるC++/Boostライブラリ

冪剰余 冪剰余 $a ^ b \bmod m$ を求めます.たぶん二分累乗法だと思います. #include <boost/multiprecision/integer.hpp> boost::multiprecision::powm(a, b, m) 剰余の逆元(拡張ユークリッド互除法) 剰余の逆元 $a^{-1} \bmod m$ が存在すれば求めます. (2019年10月5日追記:これはboos</boost/multiprecision/integer.hpp>…

Qiskit.Aqua を使おうとしたら,numpy+mklを要求されたこと.

環境 win10,python3.7 >>>import qiskit >>>qiskit.__qiskit_version__ {'qiskit-terra': '0.9.0', 'qiskit-ignis': '0.2.0', 'qiskit': '0.12.0', 'qiskit-aer': '0.3.0', 'qiskit-ibmq-provider': '0.3.2', 'qiskit-aqua': '0.6.0'} エラー内容 Qiskit.Aq…

Qiskit で量子フーリエ変換を実装する.

量子フーリエ変換について勉強してQiskitで実装してみたのでまとめていきたいと思います. 量子フーリエ変換(QFT) については日本語で解説しているサイトがたくさんあるのでとても助かりました. Qiskit による実装 python3.7 で実行しています. IBM Q Expe…

Mathjax version 3 で数式表示が速くなった

このブログでは数式の描画にMathjaxを使っています。 Mathjaxのversion 3 がでてたので今までの version 2.7.5 から移行しました。 設定の仕方が少し変更されてました。 デモが用意されていたのですぐにできました。 今まで書いた記事全てを確認したわけでは…

量子コンピュータで量子もつれ状態を生成する(Qiskitチュートリアル)

Qiskit をインストールして,チュートリアルの 量子もつれ状態の生成を実機で行うまでやってみたのでまとめていきます.公式のドキュメントがとても詳しいので簡単でした. windows10 ,python 3.7.3 で行いました. Qiskit のインストール Qiskit の APIド…

TOSHIBA dynabook R734/K ノートパソコンのバッテリー交換

ノートパソコンのバッテリーの持ちが悪くなってきたので交換しました. 仕様 ノートパソコンの機種は TOSHIBA dynabook R734/K PR734KEF637AD31 です. 標準で装着されているバッテリーは バッテリパック31AQ,PA5161U-1BRS,PABAS276 という型番です. 10.8…

C++ で2次元配列の最大値を求める.

C++ で1次元配列の最大値を求めるならばfor文を使わずに max_element を使うと楽です. 2次元配列の最大値を一度に求めるSTL関数は私は見つけられませんでしたが,各行に対して max_element を繰り返せばいいでしょう. max_element のおかげで for を書く手…

C++ で std::queue を定数時間で空にする方法

C++ でstd::queue の内容を全て削除したくなったのですが,std::queue には clear 関数がありませんでした. なので,私は直観的には queue が空になるまで pop を繰り返せばいいと思ったのですが,これはqueueのサイズに比例した時間がかかります. もっと…

nvidia/cudaのdockerイメージをrunする時にNVidiaドライバーのバージョンが古いため出るエラーメッセージ

動作環境 グラボ GeForce GTX1080Ti NVidiaドライババージョン 384.66 Docker バージョン 18.09.7, build 2d0083d nvidia-dockerバージョン 2.0.3 エラー発生 上述の環境でCUDA10.1が入ったdockerイメージを次のようにrunしようとしました. $ docker run --…

numpy.gradientで配列の微分をするとき,両端の微分の精度を上げるには

numpy.gradientで配列を微分するとき,配列の境界部分(始端終端)の値だけ目的の正しい微分値が出ないことがあった. すぐに解決したのでメモです. 境界部分での微分はedge_orderというオプションで精度を選べる. numpy.gradient — NumPy v1.16 Manual 何…