Sparse6 (.s6)

予備知識

    • sparse6グラフデータ形式.
    • 無向グラフを保持するために使用される.
    • ASCII形式.
    • 複数の無向グラフの結合性情報を保持する.
    • 大きな疎グラフに適しており,個までの頂点を保持する.
    • 小さなグラフや大きな密グラフ用に最適化されているgraph6に関連している.
    • Brendan McKayによってAustralian National Universityで開発された.

ImportとExport

  • Import["file.s6"]は指定されたファイル内に保持される,1つのGraphオブジェクトあるいはグラフのリストとして与えられるグラフをインポートする.
  • Export["file.s6",expr]は1つまたは複数のグラフの隣接行列あるいは辺情報をsparse6形式にエキスポートする.
  • Import["file.s6",elem]は指定された要素をsparse6ファイルからインポートする.
  • Import["file.s6",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.s6",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポートの形式はImport["file","Sparse6"]あるいはImport["file",{"Sparse6",elem,}]で指定することができる.
  • Export["file.s6",expr,elem]expr が要素elem を指定するものとして扱って,sparse6ファイルを作成する.
  • Export["file.s6",{expr1,expr2,},{{elem1,elem2,}}]はそれぞれのexpri が対応するelemi を指定するものとして扱う.
  • Export["file.s6",expr,opt1->val1,]は指定されたオプションの要素が指定された値を取るものとして expr をエキスポートする.
  • Export["file.s6",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートされるべき要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "AdjacencyMatrix"このファイル内のすべてのグラフについての辺情報(行列のリストとして与えられる)
    "EdgeRules"すべてのグラフの連結性データ(規則の配列として与えられる)
    "Graph"Graphオブジェクトとして描画される,ファイルに保管されている最初のグラフ
    "Graphics"ファイル内に保持される最初のグラフ(グラフプロットとして描画される)
    "GraphicsList"グラフィックスオブジェクトのリストとして与えられる全グラフ
    "GraphList"Graphオブジェクトのリストで与えられる全グラフ
    "VertexCount"それぞれのグラフの頂点数(整数のリストとして与えられる)
    "VertexList"頂点を表す整数のリスト
  • Importは単純なsparse6ファイルには"Graph"を,複数のグラフのsparse6ファイルには"GraphList"をデフォルトで使用する.
  • 複数のグラフを含むsparse6ファイルの要素指定:
  • elem,nこのファイル内の n 番目のグラフについてのデータ表示要素 elem
    elem,{n1,n2,}グラフ n1, n2,の要素elem
    elem,Allすべてのグラフの要素 elem (リストとして与えられる)
  • Import["file.s6","GraphList"]Graphオブジェクトとして描画される,ファイル中の全グラフのリストを与える.
  • Import["file.s6",{"GraphList",n}]はファイル中の n 番目のグラフのレンダリングを与える.
  • "EdgeRules"要素を使ってsparse6ファイルをインポートする際には,可能な非連結の頂点について規則は何も返されない.
  • 非連結の頂点を含むグラフは "AdjacencyMatrix" 要素を使って,あるいは"EdgeRules""VertexCount"の組合せとして完全に指定することができる.

オプション

例題

  (5)

sparse6の例題ファイルをインポートして,視覚表示を返す:

上記例の隣接行列を読み取り,それをMatrixPlotとして描画する:

Graphオブジェクトをsparse6形式にエキスポートする:

グラフの隣接行列をsparse6形式でエキスポートする:

辺規則をエキスポートする: