Tutorials:LatticeHOWTO:SimpleGraphs/ja

From ALPS
Revision as of 08:54, 10 June 2013 by Wistaria (talk | contribs) (色付きグラフ)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ここでは、XML形式でシンプルなグラフの描写方法を説明します。これらのグラフのすべてのサイトおよび結合は、XML形式で明示的に定義されます。

シンプルなグラフ

まず最初に、次の5つの辺と頂点からなるシンプルなグラフについて考えます。

TutorialLatticeHOWTOGraph1.gif

グラフは以下のようなXMLで定義されます。辺の数は<EDGE>の個数を数えることによって得られるので、辺の属性(edges="5")は<GRAPH>要素の中で省略可能です。

<GRAPH vertices="5" edges="5">
  <EDGE source="1" target="2"/>
  <EDGE source="2" target="3"/>
  <EDGE source="1" target="4"/>
  <EDGE source="2" target="5"/>
  <EDGE source="4" target="5"/>
</GRAPH>

色付きグラフ

辺と点に色をつけることも可能です。

TutorialLatticeHOWTOGraph2.jpg

このグラフでは、XMLに頂点の情報を記述する<VERTEX>要素を付け加えています。ここで頂点、辺のタイプ(色)の情報を記述します。頂点のtype=0,1,2はそれぞれ赤、緑、青に対応します。また、辺のtype=0,1はそれぞれ実線と破線を指定しています。

<GRAPH vertices="5" edges="5">
  <VERTEX id="1" type="0"/>
  <VERTEX id="2" type="1"/>
  <VERTEX id="3" type="0"/>
  <VERTEX id="4" type="2"/>
  <VERTEX id="5" type="2"/>
  <EDGE source="1" target="2" type="0"/>
  <EDGE source="2" target="3" type="0"/>
  <EDGE source="1" target="4" type="1"/>
  <EDGE source="2" target="5" type="1"/>
  <EDGE source="4" target="5" type="0"/>
</GRAPH>

このサンプルでは、頂点、辺の情報はオプションとして与えられます。両方共 <VERTEX><EDGE>の数をカウントして個数を求められるため、個数に関する指定は省略が可能です。

<VERTEX>のid属性は頂点の番号を指定しています。省略されても連続的な番号が付加されます。また、type属性のデフォルト値は0です。 上記のXMLと同等で、省略したバージョンは次のようになります。

<GRAPH>
  <VERTEX/>
  <VERTEX type="1"/>
  <VERTEX/>
  <VERTEX type="2"/>
  <VERTEX type="2"/>
  <EDGE source="1" target="2"/>
  <EDGE source="2" target="3"/>
  <EDGE source="1" target="4" type="1"/>
  <EDGE source="2" target="5" type="1"/>
  <EDGE source="4" target="5"/>
</GRAPH>

座標

<COORDINATE>要素を用いて頂点の空間座標を定義することができます。最初のグラフを例にすると、座標情報は次のような記述になります。

<GRAPH vertices="5" edges="5">
  <VERTEX id="1"> <COORDINATE> 1 1 </COORDINATE> </VERTEX>
  <VERTEX id="2"> <COORDINATE> 2 1 </COORDINATE> </VERTEX>
  <VERTEX id="3"> <COORDINATE> 3 1 </COORDINATE> </VERTEX>
  <VERTEX id="4"> <COORDINATE> 1 2 </COORDINATE> </VERTEX>
  <VERTEX id="5"> <COORDINATE> 2 2 </COORDINATE> </VERTEX>
  <EDGE source="1" target="2"/>
  <EDGE source="2" target="3"/>
  <EDGE source="1" target="4"/>
  <EDGE source="2" target="5"/>
  <EDGE source="2" target="3"/>
</GRAPH>

多くの物理シミュレーションにおいて、単一セルで構成される格子をモデルとした計算がおこなわれます。ALPSのフレームワークでは、格子と単一セルに関する情報を適切に与えることによって対応が可能です。次節のHOWTOでこのような方法について説明します。