ニュートン法の視覚化

久しぶりにまた1なにか d3.js で視覚化してみたくなったのだが, このエントリがポストされる次の日はアイザック・ニュートンの誕生日らしいので, 今回はニュートン法 (Newton Raphson 法) を視覚化してみることにした. 早速であるが以下がその成果物である2. f(x)=0f(x)=0 となる関数 f(x)f(x) とその導関数 f(x)f'(x) 及びニュートン法の初期値を受け付け, 実行をクリックすると関数とニュートン法の計算過程における接線がプロットされる. デフォルトでは, 2\sqrt{2} の値を計算するように設定してある. 入力された関数を元に数値微分をしても良かったのだが, なんとなく導関数を入力したかったので, そのようなことはしなかった.






確率論で用いられる言葉の整理

当ブログ内では, 既に確率論の話題としてベイズの定理のエントリが存在するが, 今後同様にして確率論の話題を本ブログで取り上げる際に, 用語へのリファレンスを self-contained で張れるよう, 本エントリにて一度整理しておくこととした.

目次

  1. 確率の定義
    1. 古典的確率
    2. 統計的確率
    3. 公理的確率
    4. 基本的な言葉
  2. 不偏分散
  3. 正規分布, ガウス分布
  4. 大数の法則
  5. 中心極限定理
  6. 参考文献

ヤコビアン

以前のエントリ, ガウス積分の公式とその証明で, 暗に極座標での微小面積が rdrdθrdrd\theta であるとして書いていたので, その内容についても一応書いておこうというのと, 筆者自身の学習/再整理も兼ねて, ヤコビアンに関して書くこととした.

目次

  1. 極座標の微小面積
  2. ϵδ\epsilon-\delta 論法
  3. より一般的な変数変換
    1. 異なる座標系への移行とは何か
    2. 幾何学的なアプローチ
    3. 全微分
    4. 全積分とヤコビアン
  4. 参考文献

ガウス積分の公式とその証明

当ブログ内でガウス積分(オイラー=ポアソン積分)の公式を用いる際に self-contained でリファレンスを張るためと, 個人的な学習の記録として, 本エントリにてガウス積分の公式とその証明について書く1.. 筆者自身にとっての分かりやすさを優先しているため, 若干冗長的な記述があるかもしれない点に注意.

ガウス積分の公式

xRx\in\mathbb{R} のとき ex2dx=π\displaystyle\int_{-\infty}^{\infty}e^{-x^2}dx=\sqrt{\pi}

Haskell でリンクレイヤーにおける ICMP パケットの構築, 送受信および解析による ping の実装

Haskell で低レイヤーのネットワークプログラミングをそういえばしたことがなかったので, 何か実装してみたかったのだが特別ネタも思いつかないので, とりあえずイーサヘッダ, IP ヘッダ等を含む, 生の ICMP Echo/Reply パケットを扱ってみることとした.

ICMP パケットは IP パケットであるので, 通常は ICMP パケット部分のみを構築してPF_INET等で開いたソケットに送りつけたり, recv 等すれば送受信においては必要十分であるが, これではあまり面白みがないので, リンクレイヤーから扱うこととした.

生の ICMP パケットを扱うということは, ICMP データの自作はもちろん, イーサヘッダ, IP ヘッダの自作が必要となる. またイーサヘッダを自作するということは, MAC アドレスを解決しなければならないので, 最低限 ARP パケットの送受信および解析機能の自作が必要となることを意味する. ARP パケットの自作を要するということは, デフォルトゲートウェイやサブネット環境などを取得する機能も必要である. これらを自作してみた.