c++

cで木構造を書く2

http://serennz.sakura.ne.jp/sb/log/eid120.html を読んだまとめ2。前回作った木構造に作用する関数を書いてみます。 具体的には、 1. 自分の階層とその下の階層そのさらに下の階層と再帰的に作用する関数。 2. 自分の階層とその上の階層そのさらに上の階…

cで木構造を書く1

http://serennz.sakura.ne.jp/sb/log/eid120.html このページを参考に。 自分用に調べたことをまとめておきます。 院試が終わって時間が空けば自分で実装してみる予定。 実装にはポインターを用います。 struct node { struct node * parent; struct node * …

ランダムに配置された粒子を格子で区切る

粒子をランダムに配置した後、空間を粒子が一つか0こしか含まないような格子に区切るプログラムを書きました。 クイックソートの要領で再帰を使って実装しました。実はこのプログラムは別の数値計算に用いる予定で書いたのですが予想外に時間が掛かりそうな…

行列計算様ライブラリ Eigen

c++

行列の固有値を求めるためのライブラリーが欲しくて少し調べて見たのですが、 導入の簡単さからEigenを使うことにしました。 この記事はその時の覚え書きです。gccの使用を前提にしています。本家へのリンクは、 http://eigen.tuxfamily.org/index.php?title…

一次元イジングモデル

前に書いた2次元のモデルと比較したかったので、 一次元イジングモデルのシュミレーションを行なうコードを書いて見ました。温度を徐々に変化させながら全体の磁化を出力させています。 結果を見ると2次元の場合に比べて、低い温度(逆温度betaが高いところ…

0〜1までの乱数を生成する

c++

最近まで乱数を発生させるためのコマンドとして、rand()しかしらなかったので、 0〜1までの乱数を発生させるための関数を自前で書いていました。ところが、最近知人に聞いたところによるとcにはこのための関数drand48()というものが 用意されているようです…

OpenGLのサンプル

主に自分が参考にする為にc言語とglutを使ったサンプルコードを貼っておきます。 例のごとくコードだけで説明は時間があれば付け足します。 //仮想実験室 #include <stdlib.h> #include <time.h> #include<stdio.h> #include<math.h> #include <GLUT/glut.h> #define GRID_NUMBER 100 typedef void (*Action)(</glut/glut.h></math.h></stdio.h></time.h></stdlib.h>…

Ising Modelのプログラム

http://qube.phys.kindai.ac.jp/mc.pdfを参考にしてメトロポリス法でイジングモデルのシミュレーションを行ないました。 機会があれば解説記事を書きたいとお思います。とりあえずはコードだけ。 #include <iostream> #include <vector> #include <cmath> #include <ctime> using namespace s</ctime></cmath></vector></iostream>…