タグ

ブックマーク / nos.hateblo.jp (2)

  • gtags.elとCEDETを試してみた - Nosの日記

    C++のコード読むのにglobalというのとCEDETというのを試してみた。 GNU global GNU globalというのはC、C++など*1のコードに対して索引付けをしてやって、コード中の関数とか変数についてその定義部分を楽に参照しようというもの。 global自体はコマンドラインツールなのだけど、gtags.elというのが同梱されていてemacsといっしょに使える。 まず体をapt-getなりで入れるか家 http://www.gnu.org/software/global/ からもらってきて./configure && make && make installするかする。 読みたいコードのディレクトリに行って $ gtags -v とすると索引ファイルというかタグファイルができる。-vはverboseなのでなくてもよい。 emacsの方の設定としては ;; パスを通す、パッ

    gtags.elとCEDETを試してみた - Nosの日記
  • 自動微分を実装してみた - Nosの日記

    自動微分というアルゴリズムがある。チェーンルールを使うことで、予め微分の式を与えなくてもそれと同等の精度で微分ができるというもの。もともとの計算時間の定数倍しかかからず、かつloopが入ってたりするような微分の式を書くのに困るような計算相手でも平気なので重宝する。 http://www.kmonos.net/wlog/123.html#_2257111201 がとてもよい紹介。これは自動微分のうちでもフォワードモードというもので、ある一つの変数に関しての微分を計算出来るというやつだが、リバースモードといって多変数関数に対して一気に傾きが計算出来るというものもある。またこれを組み合わせればヘシアンをわりと素早く計算できる。 実装してみたのがこれ。 https://github.com/nos13/autodiff 他人が使うことを微塵も考えてないのでライブラリの体をあまりなしていないが…。

    自動微分を実装してみた - Nosの日記
  • 1