kivantium活動日記

プログラムを使っていろいろやります

2018-01-01から1年間の記事一覧

Docker上で開発を行う

ライブラリの開発をするときに、現在のバージョンと開発中のバージョンの性能比較をすることがあります。同じ名前のライブラリが1つの環境に複数存在すると面倒なことになるのでDockerを使って環境を分けることにしました。そのときに使ったコマンドについて…

Vue.jsとFlaskの間でフォーム情報をやり取りする

Pythonで作ったプログラムにWebインターフェースをつけることができると便利です。 せっかくなのでフロントエンドも勉強しようと思って見た目簡単そうなVue.jsを試しました。 ソースコード バックエンド (Python) Pythonのシンプルなウェブアプリケーション…

C/C++でのメモリリーク検出方法 〜AddressSanitizer, Valgrind, mtrace〜

C/C++でプログラムを書いているときに遭遇する厄介なバグの一つがメモリリークです。 今回はメモリリークを検出するのに使えるツールの使い方について書きます。 AddressSanitizer コンパイルオプションをつけるだけで使えて出力も見やすいのでおすすめです…

制約付き最適化問題をD-Waveと同じ方法で解く

まだ古典コンピュータで消耗してるの? イジングモデルとQUBO D-Waveが提供しているのは量子アニーリングを使った量子コンピュータです。 量子アニーリング方式では次の形の最適化問題を高速に解くことができます。 ここで、です。1と-1よりは0と1の方が扱い…

Open Babelのビルドとインストール

Open Babel は化学で使われる分子フォーマット間の変換によく使われるソフトです。 開発されたばかりの機能を使うためには自分でビルドしてインストールする必要があるのですが、Pythonバインディングをコンパイルするところにハマったのでメモしておきます…

RustによるNelder-Mead法の実装

Rustの練習その2としてNelder-Nead法を実装しました。Nelder-Mead法のアルゴリズムには様々な変種がありますが、ここでは以下の本に書いてあるものを使いました。Derivative-Free and Blackbox Optimization (Springer Series in Operations Research and Fi…

Rustによるニュートン法の実装と可視化

Rustの勉強として、1変数関数の簡単なニュートン法を実装してgnuplotによる可視化を行いました。 可視化ライブラリ GitHub - SiegeLord/RustGnuplot: A Rust library for drawing plots, powered by Gnuplot.[Rust plot]で検索して一番上に出てきたこれを使…

広告コーナー