2018-01-01から1年間の記事一覧
ライブラリの開発をするときに、現在のバージョンと開発中のバージョンの性能比較をすることがあります。同じ名前のライブラリが1つの環境に複数存在すると面倒なことになるのでDockerを使って環境を分けることにしました。そのときに使ったコマンドについて…
Pythonで作ったプログラムにWebインターフェースをつけることができると便利です。 せっかくなのでフロントエンドも勉強しようと思って見た目簡単そうなVue.jsを試しました。 ソースコード バックエンド (Python) Pythonのシンプルなウェブアプリケーション…
C/C++でプログラムを書いているときに遭遇する厄介なバグの一つがメモリリークです。 今回はメモリリークを検出するのに使えるツールの使い方について書きます。 AddressSanitizer コンパイルオプションをつけるだけで使えて出力も見やすいのでおすすめです…
まだ古典コンピュータで消耗してるの? イジングモデルとQUBO D-Waveが提供しているのは量子アニーリングを使った量子コンピュータです。 量子アニーリング方式では次の形の最適化問題を高速に解くことができます。 ここで、です。1と-1よりは0と1の方が扱い…
Open Babel は化学で使われる分子フォーマット間の変換によく使われるソフトです。 開発されたばかりの機能を使うためには自分でビルドしてインストールする必要があるのですが、Pythonバインディングをコンパイルするところにハマったのでメモしておきます…
Rustの練習その2としてNelder-Nead法を実装しました。Nelder-Mead法のアルゴリズムには様々な変種がありますが、ここでは以下の本に書いてあるものを使いました。Derivative-Free and Blackbox Optimization (Springer Series in Operations Research and Fi…
Rustの勉強として、1変数関数の簡単なニュートン法を実装してgnuplotによる可視化を行いました。 可視化ライブラリ GitHub - SiegeLord/RustGnuplot: A Rust library for drawing plots, powered by Gnuplot.[Rust plot]で検索して一番上に出てきたこれを使…