python
最近読み始めた本。Amazon.co.jp: 関数プログラミング 珠玉のアルゴリズムデザイン: Richard bird, 山下 伸夫: 本www.amazon.co.jpどの章からでも読めるらしいのでとりあえず理解できそうな数独から。 紹介されているアルゴリズムはおそらくタイトルの通り…
相変わらずスクレイピングの勉強中。参考サイト Python2とPython3でHTTP POST+Cookie処理の比較 - yattの日記 Python | saito's memo urllib2でCookieを使う - ひきメモPython3でニコニコ動画にログインして自分で投稿した動画を保存してみた。虚しい。 from…
スクレイピングはlxmlが便利。 MeCabはWindows用のバイナリが用意されてるけど、それだとpythonから使うためのmecab-pythonがインストールできないらしく、MeCabのソースコードを弄って自分でビルドしなくちゃいけないらしい。 ということでいくつかの記事を…
Pythonによるデータ分析入門を読んでいたらTwitter APIを使ってデータを集める方法が書いてあったけれど、出版当時とはAPIの仕様が変わっていてサンプルコードが動かなかったのでメモ。 参考サイト Twitterアプリケーションの作成(Consumer key、Consumer s…
最近はずっとプログラミングできてなかったけど、ふと前に授業で使ってたノートを見たら「縮小法」なるアルゴリズムが載っていた。これはリストからn番目に大きな要素を取り出すアルゴリズムで、英語版wikipediaではmedian of mediansという項目に詳しく書か…
2コア4スレッドCPUのマシンでPythonを使ってるとCPU使用率が25%までしかならなくて、これが100%まで使えればもっと高速化できるのではないかと思っていた。CPU使用率100%のためにはmultiprocessingモジュールを使って並列処理すれば良い。並列処理といえばプ…
うれしい。 ・Problem 476 - Project Euler 60th solver of Problem476 is matsulib from Japan.— Project Euler (@projecteulerbot) June 15, 2014Mapleで連立方程式を解いて出てきた数式をPyPyに突っ込んだだけ。実行時間は30分くらい。(後日改良してマル…
このFizzBuzzのコードがどうなってるのかすぐに分からなかったのでメモ。 http://codepad.org/fizzbuzz#Python for i in range(1,101): print("FizzBuzz"[i*i%3*4:8--i**4%5] or i) まず (1) "FizzBuzz"[i*i%3*4:8--i**4%5] は文字列のスライスである (2) (1…
内点法にもいろいろある。ここでやるのはもちろん一番簡単なやつ。・主アフィンスケーリング法 - 経営工学専攻 - 東京工業大学 http://www.me.titech.ac.jp/~mizu_lab/text/PDF-IP/IP2A-affine.pdf を見てPythonでナイーブに実装した。・行列演算はライブラ…
TopCoderのアカウントは2009年に作ったまま放置してたけど、どうやら去年7月からTopCoderでもPythonが使えるようになってたらしい。実行速度とかは大丈夫なんだろうか…しかし2009年当時から問題を見たり回答を提出するためのArenaの使いにくさは変わらず、デ…
障害物効果 避難において出入口付近に障害物を置くと逆に流れがスムーズになる場合がある。この障害物効果はもともと計算機シミュレーションによって発見されたもので、現実にも応用されているらしい。 pygame 障害物効果を自分でも試したくて、障害物の場所…
そろそろ本格化する就活に向けて(?)数学の基礎を復習中、と言っても動画を見て暇をつぶしてるだけだが、Youtubeにある慶應大の講義は非常に分かりやすい。こういうOCWはもっと広まってくれると良いな。今日はこれを見た。 慶應大学講義 物理情報数学C 第…
以下のサイトを参考に、matplotlibでグラフのアニメーション化を試してみた。・matplotlibでランダムウォークをアニメーション - Soleil cou coupé ・Simple Animated Plot with Matplotlib | Scientific Python Script Repository ・Drawing and Animating …
MATLAB ライクなグラフ描写ができる pylab と以下の方法を使って、入力に対するシステムの応答を調べる。 記号計算のためのライブラリ sympy を使う方法 制御工学のためのライブラリ python-control を使う方法 今回の入力は単位ステップ関数だが、インパル…
数独を0-1整数計画問題として定式化して、前回に引き続きGurobiとPythonを使って解いた。まずは0-1整数計画問題として定式化するために数独を10進数から2進数の形式に変形する。 ある問題の解答例: 変換前 変換後 こうすると特定の行・列・ブロックにおいて…
数理最適化ソルバーGurobiにはPython含む複数の言語のインターフェースが用意されていて、 gurobipyモジュールを使うと使い慣れたPythonがソルバーのモデリング言語になる。 例題 http://www.fujilab.dnj.ynu.ac.jp/lecture/system2.pdf あるレストランで,…
仰々しいタイトルだけど、よくある話。 「文字列の結合はjoin()を使おう」で分かる人は、これを読んでも新たに得ることはないと思う。 結論から言うと、join()を使えば例によってPyPyの方が断然速いのでご心配なく。実験環境:Win7, C2D P8400(2.26GHz), RAM…
PyPyというのは高速なPythonのことです(テキトー)。 公式サイトに実行形式バイナリがあるのですぐに使える。 PyPyをvirtualenvの中で使うとか、pipやipythonを使うという話も、誰かが書いてくれている(他力本願)。 以下、普通のPythonをCPython(Cで実装…
lubuntu 12.10にnumpyとmatplotlibをpipを使ってインストールをしようとしてつまった。以前、それらをubuntuにインストールしたときにはこんな苦労をした覚えがないのだけど…そのときは必要なファイルが全部揃っていたのだろう。 まず、numpyをインストール…