【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度、茨城県、委託事業「茨城県材料構造解析装置の解析ソフトウェアに係る試験研究等に関する調査」、産業技術力強化法第19条の適用を受ける特許出願
【文献】
J. W. VISSER,"A Fully Automatic Program for Finding the Unit Cell from Powder Data",Journal of Applied Crystallography,デンマーク,INTERANATIONAL UNION OF CRYSTALLOGRAPHY,1969年 8月,第2巻、第3号,p.89−95
【文献】
Ali Boultif and Daniel Louer,"Powder pattern indexing with the dichotomy method",Journal of Applied Crystallography,2004年10月,第37巻、第5号,p.724−731
【文献】
F. KOHLBECK and E. M. Hoerl,"Trial and error indexing program for powder patterns of monoclinic substances.",Journal of Applied Crystallography,デンマーク,INTERANATIONAL UNION OF CRYSTALLOGRAPHY,1978年 2月 1日,第11巻、第1号,p.60−61
【文献】
KIN YIP TAM and RICHARD G. COMPTON,"GAMATCH - a genetic algorithm-based program for indexing crystal faces.",Journal of Applied Crystallography,英国,International Union of Crystallography,1995年10月 1日,第28巻、第5号,p.640−645
【文献】
富安亮子,“数学者の立場からの粉末構造解析(解の一意性に関わる問題を中心に)”,波紋,日本,日本中性子科学会,2010年11月,第20巻、第4号,p.274−280
(58)【調査した分野】(Int.Cl.,DB名)
物質に放射線を放射したときに得られる回折スペクトルに含まれる回折ピークの現れるそれぞれのピーク位置から得られるq値の集合であって、結晶格子の逆格子の格子ベクトルの長さにそれぞれ対応するq値の集合を取得するq値取得手段と、
前記q値取得手段により取得されたq値の集合から、組合せに含まれない他のq値を所定の関係式により算出可能なq値の組合せである第1のq値の組合せを取得する第1の組合せ取得手段と、
前記第1のq値の組合せと前記他のq値から、結晶格子の逆格子の2次元部分格子の基底を形成する可能性のある格子ベクトルに対応するq値の組合せである第2のq値の組合せを取得する第2の組合せ取得手段と、
前記第2の組合せ取得手段により取得された前記第2のq値の組合せに対して、前記第
2のq値の組合せによって示される前記2次元部分格子の基底がそれぞれ共通する前記第2のq値の組合せ同士を関連付ける組合せ関連付け手段と、
前記組合せ関連付け手段により関連付けられた第2のq値の組合せに含まれる異なるq値の数を数え、それぞれの関連付けに対して当該数による比較を行う関連付け比較手段と、
前記関連付け比較手段による比較の結果が所定の条件を満たす関連付けに係る第2のq値の組合せから、結晶格子の逆格子の基底を形成する可能性のあるq値の組合せである第3のq値の組合せを特定し、該特定した第3のq値の組合せから結晶格子の格子定数の候補を取得する格子定数候補取得手段と、
を備えることを特徴とする情報処理装置。
前記第2の組合せ取得手段は、更に、前記q値取得手段により取得されたq値の集合から、前記第2のq値の組合せを取得することを特徴とする請求項1に記載の情報処理装置。
前記第2のq値の組合せは、前記2次元部分格子の基底の格子ベクトルそれぞれに対応するq値、前記2次元部分格子の基底の格子ベクトルの和のベクトルに対応するq値、前記2次元部分格子の基底の格子ベクトルの差のベクトルに対応するq値を含むことを特徴とする請求項1又は2に記載の情報処理装置。
前記格子定数候補取得手段により取得された格子定数の候補を用いて、それぞれ指数付けを行う指数付け部を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
前記格子定数簡約部により簡約された格子定数の候補が、所定の形式に合致又は近似できるか否かを判定することにより、該格子定数の候補により特定される結晶格子の対称性を識別する対称性判定部を更に備えることを特徴とする請求項5に記載の情報処理装置。
前記格子定数簡約部により簡約された格子定数の候補について、互いに合致又は近似できるか否かを判定することにより、同一の格子定数に関する候補を識別する格子定数選別部を更に備えることを特徴とする請求項5又は6に記載の情報処理装置。
【発明を実施するための形態】
【0057】
以下、本発明の一側面に係る情報処理装置、情報処理方法及びプログラム等の実施の形態(以下、「本実施形態」とも表記する)を説明する。ただし、本実施形態は例示であり、本発明は本実施形態の構成に限定されない。
【0058】
なお、本実施形態において登場するデータを自然言語(日本語等)により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。
【0059】
§1 各装置の接続例
図3は、本実施形態に係る情報処理装置1に接続される装置の例を示す。
図3に示される通り、本実施形態に係る情報処理装置1は、粉末回折装置2と接続している。
【0060】
本実施形態に係る情報処理装置1は、粉末回折装置2によって取得されたデータに基づいて、指数付けを含む結晶構造の解析を行う。
【0061】
粉末回折装置2は、解析対象物である粉末状の物質に中性子線又はX線等の放射線を照射することにより回折スペクトルを取得する。粉末回折装置2は、例えば、株式会社リガク(登録商標)のUltima IV、SmartLab(登録商標)等、大強度陽子加速器施設物質・生
命科学実験施設の超高分解能粉末中性子回折装置(BL08)、茨城県材料構造解析装置(BL20)、又は、日本原子力研究開発機構研究用原子炉施設JRR-3のHRPD、高エネルギー加速
器研究機構放射光科学研究施設BL-4B2の放射光粉末X線回折装置等である。
【0062】
また、粉末回折装置2は、回折スペクトルに対してピークサーチを行うことで、ピーク位置とそのピークの半値幅を取得する。ピークサーチは、従来、様々な方法により行われている。よって、ここでは説明を省略する。
【0063】
本実施形態に係る情報処理装置1は、粉末回折装置2によって得られるピーク位置等から、解析対象物の構造を解析する。なお、本実施形態に係る当該解析では、
図2に示される結晶格子の格子定数やミラー指数等が求められる。
【0064】
§2 情報処理装置の構成例
次に、情報処理装置1の構成例について説明する。
図4は、本実施形態における情報処理装置1の構成例を示す。
【0065】
情報処理装置1は、
図4に示されるように、そのハードウェア構成として、バス13で接続される、記憶部11、制御部12、入出力部14等の既存のハードウェアを有している。
【0066】
記憶部11は、制御部12で実行される処理で利用される各種データ及びプログラムを記憶する(不図示)。記憶部11は、例えば、ハードディスクによって実現される。記憶部11は、USBメモリ等の記録媒体により実現されてもよい。
【0067】
なお、記憶部11が格納する当該各種データ及びプログラムは、CD(Compact Disc)又はDVD(Digital Versatile Disc)等の記録媒体から取得されてもよい。また、記憶部11は、補助記憶装置と呼ばれてもよい。
【0068】
制御部12は、マイクロプロセッサ又はCPU(Central Processing Unit)等の1又
は複数のプロセッサと、このプロセッサの処理に利用される周辺回路(ROM(Read Only Memory)、RAM(Random Access Memory)、インタフェース回路等)と、を有する。制御部12は、記憶部11に格納されている各種データ及びプログラムを実行することにより、本実施形態における情報処理装置1の処理を実現する。ROM、RAM等は、制御部12内のプロセッサが取り扱うアドレス空間に配置されているという意味で主記憶装置と呼ばれてもよい。
【0069】
入出力部14は、情報処理装置1の外部に存在する装置とデータの送受信を行うための1又は複数のインタフェースである。本実施形態では、情報処理装置1は、当該入出力部14を介して、粉末回折装置2とデータのやりとりを行う。
【0070】
入出力部14は、例えば、LAN(Local Area Network)ケーブルを接続するためのインタフェース、ユーザインタフェースと接続するためのインタフェース、又はUSB(Universal Serial Bus)等、ハードウェアインタフェースとして周知のものである。入出力部14は、インターネットを介して、ユーザ端末等とIP(Internet Protocol)パケッ
ト等の送受信を行ってもよい。なお、入出力部14は、不図示のユーザインタフェース(キーボード、マウス、ディスプレイ等の入出力装置)と接続してもよい。また、入出力部14は、CDドライブ、DVDドライブ等の着脱可能な記憶媒体の入出力装置、或いはメモリカード等の不揮発性の可搬型の記憶媒体等の入出力装置と接続していてもよい。また、入出力部14は、インターネット接続を行うインタフェースという意味で通信部と呼ばれてもよい。
【0071】
なお、情報処理装置1は、PC(Personal Computer)等のような汎用コンピュータで
構成されてもよい。
【0072】
本実施形態では、情報処理装置1は、粉末回折装置2によって得られたデータに基づいて、解析対象物の構造を解析する。この処理を実現する制御部12について、以下、説明する。
【0073】
図4に示されるとおり、制御部12は、q値取得部31、組合せ取得部32、組合せ関連付け部33、関連付け評価部34、格子定数候補取得部35、指数付け部36、格子定数簡約部37、格子定数選別部39、及び、対称性判定部38を含む。q値取得部31、組合せ取得部32、組合せ関連付け部33、関連付け評価部34、格子定数候補取得部35、指数付け部36、格子定数簡約部37、格子定数選別部39、及び、対称性判定部38は、例えば、記憶部11に格納されたプログラム等が制御部12の周辺回路であるRAM等に展開され、制御部12のプロセッサにより実行されることによって実現される。
【0074】
本実施形態では、情報処理装置1は、粉末回折装置2によって得られたデータに基づいて、解析対象物の構造を解析する。当該処理に対して各構成の行う処理を、以下、説明する。なお、本実施形態における具体的な処理は、「§3 動作例」に記載する。
【0075】
<q値取得部>
q値取得部31は、
図1に示される回折スペクトルの各ピーク位置からq値の集合を取得する。該q値取得部31は、本発明における「q値取得手段」に相当する。
【0076】
なお、本実施形態では、回折スペクトル、各ピークのピーク位置、及び、各ピークの半値幅が、粉末回折装置2から情報処理装置1に対して入力される。q値取得部31は、当該入力されるピーク位置をそれぞれq値に変換することによって、前記q値の集合を取得する。
【0077】
<組合せ取得部>
組合せ取得部32は、q値取得部31によって得られたq値の集合から、組合せには含まれない他のq値を所定の関係式により算出可能なq値の組合せである第1のq値の組合せを取得する。なお、本実施形態では、該所定の関係式は、結晶学において伊藤の式と呼ばれる関係式である。なお、本実施形態では、組合せ取得部32は、q値取得部31によって得られたq値の集合から、後述する第1の関係式を満たすq値の組合せを取得することにより、第1のq値の組合せを取得する。
【0078】
また、組合せ取得部32は、第1のq値の組合せに含まれるq値と算出可能な他のq値とから、結晶格子の逆格子の2次元部分格子の基底を形成する可能性のある格子ベクトルに対応するq値の組合せである第2のq値の組合せを取得する。なお、本実施形態では、組合せ取得部32は、第1のq値の組合せに含まれるq値と算出可能な他のq値とから、後述する第2の関係式を満たすq値の組合せを取得することにより、第2のq値の組合せを取得する。
【0079】
なお、組合せ取得部32は、本発明における「第1の組合せ取得手段」、及び、「第2の組合せ取得手段」に相当する。
【0080】
結晶格子で起きる散乱の方向は、逆格子の格子点方向に限られることが一般的に知られている(ラウエの条件)。粉末回折においては、格子点の座標ではなく、格子点と格子点をつなぐベクトル(以降、格子ベクトルと呼ぶ)のq値がピーク位置から取得される。そこで、従来の伊藤の方法による結晶構造の解析は、結晶格子の逆格子のある基底に係る格子ベクトルK
1、K
2、K
3、さらにK
4=K
1+K
2+K
3と、K
1+K
2、K
1+K
3、K
1−K
2、K
1−K
3、K
4−K
2、K
4−K
3の10個の格子ベクトル、対応するq値が全て回折装置によって観測されうるq値の範囲に含まれていることを前提としていた。この前提について、結晶格子の逆格子は3次元であるが、説明を簡単にするため、2次元の場合を例に挙げて説明する。
【0081】
図5は、2次元格子の基底を例示する。2次元格子の基底は、
図5に示されるようなベクトルK
1とK
2の組(ペア)である。すべての格子点の座標は、xK
1+yK
2(x、yは整数)で表すことができる。
【0082】
ここで、回折スペクトルのピーク位置より得られるq値には、粉末回折装置2の性能に依存する観測上の制限がある。つまり、粉末回折装置2の性能によって、得られるq値の最小値と最大値が予め定まっている。そのため、格子定数a、b、cが大きい場合など、基底K
1、K
2の取り方によっては、[数7]の項である格子ベクトルK
1、K
2、K
1+K
2、K
1−K
2の格子点に対応するq値が全て当該最小値と最大値の範囲にあるとは限らない。
【0083】
しかし、
図5に示されるとおり、K
1、K
2、K
1+K
2、K
1−K
2の長さは、ベクトルK
1とK
2の取り方によって大きくも小さくもできる。また、一般的な粉末回折装置では、物質の取り得る格子定数と比して、得られるq値の最大値は十分大きい。そのため、ある基底K
1、K
2においては、格子ベクトルK
1、K
2、K
1+K
2、K
1−K
2の格子点に対応するq値が全て当該最小値と最大値の範囲にあると考えてよい。このことは、例えば、後述する格子ベクトルK
1、K
2、K
1+2K
2、2K
1+K
2の組についても同様のことが言える。
【0084】
これと同様の理由により、上述した前提が、標準的な粉末回折装置において、十分成立すると考えることも可能である。
【0085】
しかしながら、消滅則によってピーク位置が観測されない場合、又は、ピークサーチの精度に起因してピーク位置が取得できなかった場合、該ピーク位置からq値を取得することができないため、上述した前提は成立しない。つまり、消滅則によってピーク位置が観測されない場合、又は、ピークサーチの精度に起因してピーク位置が取得できない場合、q値取得部31は、観測されるはずのピーク位置に係るq値を取得できない。本実施形態における結晶構造の解析は、このような場合についても対応することができる。
【0086】
なお、回折法では、観測されたピーク位置の最小値は0よりも必ず大きい値をとる。したがって、観測されるピーク位置から取得されるq値も全て0より大きい。しかし、ゼロベクトルは格子ベクトルになるため、q値取得部31により取得されるq値に該ゼロベクトルに対応するq値、すなわち、0を加えてもよい。ただし、該ゼロベクトルに対応するq値を加えても、特に得られる効果はない。そのため、本実施形態では、該ゼロベクトルを考慮せず、q値取得部31により取得されるq値は全て正の値であるとする。
【0087】
本実施形態に係る組合せ取得部32は、このような格子ベクトルの長さの2乗に相当するq値について、第1の関係式を満たす第1のq値の組合せをq値取得部31により取得されたq値の集合より取得する。そして、組合せ取得部32は、第1のq値の組合せに含まれるq値と、第1のq値の組合せに含まれるq値より算出可能な他のq値とから、第2の関係式を満たす第2のq値の組合せを取得する。本実施形態では、このようにして得られる第2のq値の組合せが用いられて、格子定数の候補が取得される。なお、逆格子の格子ベクトルを、以下、逆格子ベクトルとも記載する。
【0088】
まず、格子定数の候補を取得するために用いられる第2のq値の組合せについて説明する。第2のq値の組合せは、結晶格子の逆格子の2次元部分格子の基底を形成する可能性のある格子ベクトルに対応するq値の組合せである。本実施形態では、該第2のq値の組合せに含まれるq値は第2の関係式を満たす。
【0089】
第2の関係式は、例えば、[数6]及び[数11]である。また、該第2の関係式を満たすq値は、[数12]の関係も満たす。該第2の関係式は、[数7]から導かれるq値の間の関係式であり、[数6]を満たすq値に対して、q
i=|K
1|
2、q
j=|K
2|
2、q
k=|K
1−K
2|
2、q
l=|K
1+K
2|
2の関係が成立する逆格子ベクトルK
1、K
2が存在するという仮定に基づいている。なお、以降、当該第2の関係式に係る仮定を、「第2の仮定」と表記する。[数11]は、該第2の仮定に係る逆格子ベクトルK
1、K
2が2次元部分格子の基底を形成していることを示唆する。
【0092】
図6は、第2の関係式に表れる、第2のq値の組合せに含まれるq値に対応する格子ベクトルを例示する。第2の関係式は、結晶学において、伊藤の式と呼ばれる関係式である。また、第2の関係式は、
図6に示されるとおり、逆格子ベクトルK
1、K
2によって形成される平行四辺形の辺と対角線に対応する逆格子ベクトルの長さの2乗に相当するq値の間に成立する関係式である。
【0093】
本実施形態では、第2のq値の組合せは、該第2の関係式が成立するq
i、q
j、q
k、q
lを用いて構成される。第2の関係式は、結晶学において、伊藤の式と呼ばれる関係式であり、従来、指数付けのために使用されている関係式である。
【0094】
ここで、q値取得部31によって取得されたq値の集合から第2のq値の組合せを取得することを考えると、第2のq値の組合せとして取得されるべきq値の組合せが取得できないケースが発生しうる。これは、消滅則によってピーク位置が観測されない場合、又は、ピークサーチの精度に起因してピーク位置が取得できない場合、q値取得部31は、観
測されるはずのピーク位置に係るq値を取得できないことに起因する。
【0095】
特に、空間群と呼ばれる対称性をもつ結晶構造について、その対称性が斜方晶系以上であるならば、「任意の逆格子の基底K
1、K
2、K
3に対して、その二つの要素K
o、K
p(oとpは、1、2、3のいずれか)に対応しているq値を組合せて得られる第2のq値
の組合せ(|K
o|
2、|K
p|
2、|K
o−K
p|
2、|K
o+K
p|
2)は、決して観測されたq値から取得されることはない。」という事実が、あらゆる3次元空間群における消滅則において一般的に成立する。
【0096】
また、従来、指数付けのために使用されている関係式として、第2の関係式の他、以下の[数13]が知られている。
【0098】
この[数13]においても同様に、「任意の逆格子の基底K
1、K
2、K
3に対して、[数13]に表れる逆格子ベクトルのうちいずれか1つは必ず消滅則が成立している空間群が存在する」という事実が、消滅則の理論的な帰結として導かれる。更に、[数13]に表れる逆格子ベクトルのうちいずれか2つは消滅則が成立している空間群も存在する。
【0099】
このことは、従来の指数付けに用いられてきた伊藤の方法が、対称性の高いケース(消滅則のあるケース)に向かないと言われる原因の一つと考えられる。そこで、伊藤の方法を改善するために、高い対称性を持つ結晶構造に対して、新しいq値の関係式を導入することが提案されてきた(非特許文献6)。
【0100】
しかし、新たな関係式を増やす際に、実際にすべての消滅則の影響に対応することができるか否かの検討はされていなかった。よって、本実施形態に係る情報処理装置1は、組合せ取得部32が、消滅則等の影響を考慮した第1のq値の組合せを用いて第2のq値の組合せを取得することにより、従来は検討されてこなかった消滅則の影響に対応する。
【0101】
次に、該第2のq値の組合せを取得するために用いられる第1のq値の組合せについて説明する。第1のq値の組合せは、組合せには含まれない他のq値を所定の関係式により算出可能なq値の組合せである。本実施形態では、該第1のq値の組合せに含まれるq値は第1の関係式を満たす。
【0102】
第1の関係式は、例えば、以下の[数14]及び[数15]に示されるq値の間の関係式である。
【0105】
図7は、第1の関係式に現れる、第1のq値の組合せに含まれるq値に対応する格子ベクトル(実線)と、算出可能な他のq値に対応する格子ベクトル(点線)を例示する。第1の関係式は、
図7の実線の矢印によって示される格子ベクトルに対応するq値の間に成
立する関係式である。また、第1の関係式は、以下の[数16]から導かれるq値の間の関係式であり、[数14]を満たすq値に対して、q
i=|K
1|
2、q
j=|K
2|
2、q
k=|K
1+2K
2|
2、q
l=|2K
1+K
2|
2の関係が成立する逆格子ベクトルK
1、K
2が存在するという仮定に基づいている。なお、以降、当該第1の関係式に係るこのような仮定を、「第1の仮定」と表記する。[数15]は、[数11]と同様、該第1の仮定に係る逆格子ベクトルK
1、K
2が2次元部分格子の基底を形成していることを示唆する。
【0107】
ここで、
図7において点線の矢印で表された格子ベクトルに対応するq値(以降、「q
−1」とも記載する)は、
図7において実線の矢印で表された格子ベクトルに対応するq
値により算出可能である。なぜなら、(q
−1、q
j、q
i、q
k)及び(q
−1、q
i、q
j、q
l)の2つのq値の組合せは、上記第2の関係式を満たすからである。よって、q
−1は、[数6]及び[数7]の関係から、(q
j、q
i、q
k)又は(q
i、q
j、q
l)により、算出される。なお、該2つのq値の組合せは、
図7に示される2つの平行四辺形に対応する。
【0108】
したがって、
図7において点線の矢印で表された格子ベクトルに対応するq値(q
−1)が、q値取得部31によって得られたq値の集合に含まれていなくとも、該q値は取得可能である。つまり、例えば、消滅則、又は、ピークサーチ精度により、q値取得部31が、
図7において点線の矢印で表された格子ベクトルに対応するq値を取得できなかったとする。このような場合でも、組合せ取得部32は、q値取得部31が取得できなかった該q値を、
図7において実線の矢印で表された格子ベクトルに対応するq値から算出することにより、取得することができる。
【0109】
したがって、本実施形態に係る情報処理装置1は、このような第1のq値の組合せを用いることで、消滅則等の影響に対応することができる。
【0110】
本実施形態に係る組合せ取得部32は、このような第1のq値の組合せに含まれるq値(q
i、q
j、q
k、q
l)と、第1のq値の組合せに含まれない他のq値(q
−1)とから、第2のq値の組合せを取得する。この時取得される第2のq値の組合せは、(q
−1、q
j、q
i、q
k)及び(q
−1、q
i、q
j、q
l)の2つのq値の組合せである。(q
−1、q
j、q
i、q
k)は、
図7に示される、横線でハッチングされた平行四辺形の辺と対角線に対応する格子ベクトルの長さの2乗に相当するq値の組合せである。また、(q
−1、q
i、q
j、q
l)は、
図7に示される、縦線でハッチングされた平行四辺形の辺と対角線に対応する格子ベクトルの長さの2乗に相当するq値の組合せである。
【0111】
なお、組合せ取得部32は、第1のq値の組合せを用いて第2のq値の組合せを取得する他に、q値取得部31によって取得されたq値の集合から第2の関係式を満たすq値の組合せを直接検索することで、第2のq値の組合せを取得してもよい。
【0112】
この場合、組合せ取得部32は、第1のq値の組合せを用いた第2のq値の組合せの取得と、q値取得部31によって取得されたq値の集合からの第2のq値の組合せの取得のうちどちらを先に実行してもよい。
【0113】
また、この場合、第1のq値の組合せを用いて取得した第2のq値の組合せと、q値取
得部31によって取得されたq値の集合から直接取得した第2のq値の組合せとの一部が重複しうる。
【0114】
この時、組合せ取得部32は、例えば、後行する第2のq値の組合せの取得処理において、先行する第2のq値の組合せの取得処理により既に取得された第2のq値の組合せであるか否かを判定して、上記第2のq値の組合せの重複を防止してもよい。例えば、組合せ取得部32は、先に、q値取得部31によって取得されたq値の集合から第2の関係式を満たすq値の組合せを直接検索することで、第2のq値の組合せを取得する。次に、組合せ取得部32は、q値取得部31によって取得されたq値の集合から第1の関係式を満たすq値の組合せを検索して、第1のq値の組合せを取得する。そして、組合せ取得部32は、第1のq値の組合せに含まれるq値と該組合せに含まれるq値から算出可能な他のq値とから、既に取得済みの第2のq値の組合せを除いて、第2のq値の組合せを取得する。このようにして、組合せ取得部32は、第2のq値の組合せの重複を防止してもよい。
【0115】
また、この時、組合せ取得部32は、例えば、下記[数17]を含む第1の関係式を用いることで、上記第2のq値の組合せの重複を防止してもよい。
【0117】
[数17]は、において点線の矢印で表された格子ベクトルに対応するq値(q
−1)が、q値取得部31によって取得されたq値の集合に含まれないことを関係づける関係式である。すなわち、下記[数17]を含んだ第1の関係式を用いて第1のq値の組合せを取得した場合、第1のq値の組合せを用いて取得した第2のq値の組合せと、q値取得部31によって取得されたq値の集合から直接取得した第2のq値の組合せとは、重複しない。これにより、組合せ取得部32は、上記第2のq値の組合せの重複を防止してもよい。
【0118】
<組合せ関連付け部>
組合せ関連付け部33は、組合せ取得部32により取得された第2のq値の組合せに対して、前記第2のq値の組合せによって示唆される2次元部分格子(平面格子)の基底が互いに共通する前記第2のq値の組合せ同士を関連付ける。具体的には、「§3 動作例」で説明する。なお、組合せ関連付け部33は、本発明の「組合せ関連付け手段」に相当する。
【0119】
<関連付け比較部>
関連付け比較部34は、組合せ関連付け部33により関連付けられた第2のq値の組合せに含まれる異なるq値の数を数え、それぞれの関連付けに対して当該数による比較を行う。なお、関連付け比較部34は、本発明の「関連付け比較手段」に該当する。
【0120】
本実施形態では、組合せ関連付け部33による関連付けにより、互いに関連付けられた第2のq値の組合せは1つの集合(グループ)として扱われる。該1つの集合は、後述する関連付け後のトポグラフに対応する。関連付け比較部34は、各関連付けに係る集合に含まれる異なるq値の数を数え、それぞれの関連付けに対して当該数による比較を行う。また、本実施形態における関連付け比較部34は、当該比較の結果に基づいて、異なるq値の数が多い順に、各関連付けに係る集合を順位付けする。
【0121】
該順位付けは、格子定数の候補を取得するために用いる第2のq値の組合せを選別するために用いられる。つまり、組合せ関連付け部33と関連付け比較部34とによって行われる処理は、組合せ関連付け部33により取得された第2のq値の組合せのうち、格子定数の候補を取得するために用いる第2のq値の組合せを選別するための処理である。すなわち、組合せ関連付け部33と関連付け比較部34とによって行われる処理は、結晶格子の逆格子に実際に含まれる可能性の高い2次元部分格子を示す第2のq値の組合せを使用(選択)し、該可能性の低い2次元部分格子を示す第2のq値の組合せを使用せず(非選択)、格子定数の候補を求めるために行われる処理である。言い換えると、組合せ関連付け部33と関連付け比較部34とによって行われる処理は、「q
i=|K
1|
2、q
j=|K
2|
2、q
k=|K
1−K
2|
2、q
l=|K
1+K
2|
2が成立している」という蓋然性の高い逆格子ベクトルK
1、K
2に係る第2のq値の組合せを使用し、該蓋然性の低い逆格子ベクトルK
1、K
2に係る第2のq値の組合せを使用せず、格子定数の候補を求めるために行われる処理である。なお、ここで、可能性及び蓋然性の高低は、例えば、ユーザにより設定可能な閾値を基準として判断される。
【0122】
<格子定数候補取得部>
格子定数候補取得部35は、関連付け比較部34による比較の結果が所定の条件を満たす関連付けに係る第2のq値の組合せから、結晶格子の逆格子の基底を形成する可能性のあるq値の組合せである第3のq値の組合せを特定し、該特定した第3のq値の組合せから結晶格子の格子定数の候補を取得する。
【0123】
本実施形態では、格子定数候補取得部35は、関連付け比較部34により求められた順位が、例えば、ユーザにより定められた閾値以上の各集合に含まれる第2のq値の組合せを用いて、所定の条件を満たす集合に含まれる第2のq値の組合せから、結晶格子の逆格子の基底を形成する可能性があるq値の組合せである第3のq値の組合せを取得する。そして、格子定数候補取得部35は、取得した第3のq値の組合せから結晶格子の格子定数の候補を取得する。
【0124】
<指数付け部>
指数付け部36は、格子定数候補取得部35によって得られた格子定数の候補に対して、それぞれ指数付けを行う。すなわち、指数付け部36は、格子定数候補取得部35によって得られた格子定数の候補に対して、ミラー指数を求める。なお、本実施形態における指数付け部36は、それぞれの指数付けに対して、性能指数(Figure of merit)を求め
、当該性能指数の高い順に、格子定数の候補と対応するミラー指数とを保持する。
【0125】
<格子定数簡約部>
格子定数簡約部37は、格子定数候補取得部35によって得られた格子定数の候補について、ほぼ同一の格子定数に関する候補が存在しないか、また、当該候補により特定される結晶格子の対称性はどのようになっているかを調べる前段階の処理として、格子定数の候補に対して簡約(reduction)を行う。
【0126】
本実施形態では、格子定数簡約部37は、格子定数の候補を、ゼリング簡約(Selling reduced)形及びミンコフスキー簡約(Minkowski reduced)形にそれぞれ変換する。簡約形に変換する理由は、後述する格子の対称性に関する処理、及び、ほぼ同一の格子定数に係る候補を特定する処理に該簡約形が用いられるためである。なお、指数付けの結果として得られた格子定数の候補(ここでは、[数2]によって変換可能なs
11、s
22、s
33、s
12、s
13、及びs
23)と、ミラー指数(h、k、l)は、全ての行列Mに対して、以下の[数18]及び[数19]のように変換されても、指数付けの解として成立するため、簡約形に変換することにより生じる問題は特に存在しない。
【0129】
なお、行列Mは、そのすべての要素が整数で、行列式が±1となるような3次正方行列である。このとき、逆行列M
−1の要素も全て整数なので、[数19]によって得られるミラー指数も整数となる。
【0130】
<対称性判定部>
対称性判定部38は、格子定数簡約部37によって簡約化された格子定数の候補により特定される結晶格子の対称性を判定する。また、対称性判定部38は、当該判定に基づいて、格子定数の候補により特定される結晶格子の対称性を識別する。これにより、対称性判定部38は、各格子定数の候補について、それぞれが対応する晶系を決定することができる。更に、対称性判定部38は、識別した結晶格子の対称性に基づいて、該格子定数の候補を補正する。具体的には、「§3 動作例」で説明する。 <格子定数選別部>
格子定数選別部39は、格子定数簡約部37によって簡約化された各格子定数の候補について、互いに合致又は近似できるか否かを判定することにより、同一の格子定数に関する候補を識別する。
【0131】
格子定数簡約部37によって簡約化された各格子定数の候補が互いに合致又は近似できるか否かの判定は、同一の結晶格子が、複数の異なる簡約形を持ち得ること、及び、格子定数の候補の取得に用いたq値が観測誤差を持つことを考慮して行われる。
【0132】
格子定数選別部39は、対称性判定部38により判定される対称性(具体的には、三斜晶系よりも高い対称性をもつ晶系であるか否か)によって、当該判定の処理を変えてもよい。
【0133】
例えば、対称性判定部38によって三斜晶系よりも対称性の高い晶系の候補であると判定された格子定数の候補について、格子定数選別部39は、各格子定数の候補の簡約形の個々の要素s
11、s
22、s
33、s
12、s
13、及びs
23を比較することで、各格子定数の候補が互いに合致又は近似できるか否かを判定する。ここで、二つの値a、bの相対差d
r (a, b)は、以下の[数20]で定義される。
【0135】
格子定数選別部39は、例えば、ある2つの格子定数の候補について、互いの簡約形の個々の要素それぞれの相対差を求める。そして、各相対差が、ユーザにより設定及び変更可能な閾値以下である時に、格子定数選別部39は、当該2つの格子定数の候補を互いに
合致又は近似できる格子定数の候補であると判定する。
【0136】
また、例えば、対称性判定部38によって三斜晶系よりも対称性の高い晶系ではない(つまり、三斜晶系である)と判定された各格子定数の候補について、格子定数選別部39は、[数18]の変換を行う。そして、格子定数選別部39は、各格子定数の候補について、簡約形とほぼ同一となる変換後の格子定数の候補の集合を取得する。ほぼ同一となるか否かの判定は、上記相対差を用いた判定と同様に行われる。例えば、この時、三斜晶系の二つの格子定数の候補A、Bに対して、簡約形とほぼ同一となる変換後の格子定数の候補の集合が{A
1、…、A
s}、{B
1、…、B
t}として得られたとする。格子定数選別部39は、上記個々の要素の相対差を用いた判定により、これらの集合に含まれるA
iと
B
jがほぼ同一となるか否かを判定する。そして、格子定数選別部39は、ほぼ同一となるA
iとB
jが見つかった場合、当該2つの格子定数の候補A及びBを互いに合致又は近
似できる格子定数の候補であると判定する。
【0137】
なお、格子定数選別部39は、対称性判定部38により判定される対称性を考慮せずに、格子定数簡約部37によって簡約化された各格子定数の候補が互いに合致又は近似できるか否かの判定を行ってもよい。この場合、格子定数選別部39は、対称性を考慮した場合のいずれかの方法により、当該判定を行ってもよい。
【0138】
このとき、各格子定数の候補は、単位胞の体積の小さい順に格子定数の候補をソートしておいてもよい。晶系に関わらず、格子定数s
11、s
22、s
33、s
12、s
13、及びs
23がほぼ同一であれば、単位胞の体積もほぼ同一である。もし二つの格子定数の候補について、それぞれの単位胞の体積の差がある閾値よりも大きい場合、格子定数選別部39は、格子定数の各要素s
11、s
22、s
33、s
12、s
13、及びs
23を比較しなくても、当該二つの格子定数の候補は、互いに合致又は近似できる格子定数の候補ではないと判定してもよい。そして、格子定数選別部39は、それぞれの単位胞の体積の差がある閾値以下である格子定数の候補についてのみ、上記互いに合致又は近似できる格子定数の候補の判定を行ってもよい。これにより、当該判定に必要なステップ数を減らすことができる。
【0139】
格子定数選別部39は、上記のような判定により、同一の格子定数に関する候補を識別する。そして、格子定数選別部39は、同一の格子定数に関する候補であると識別された格子定数の候補同士を集合として取得する。
【0140】
格子定数選別部39は、このような集合に含まれる格子定数のうち、すなわち、同一の格子定数に関する候補であると識別された格子定数の候補のうち、指数付け部36が求めた性能指数の最もよい格子定数の候補を除いた格子定数の候補を除外する。
【0141】
§3 動作例
次に、
図8を用いて、本実施形態における動作例を説明する。
図8のフローチャートは、本実施形態に係る情報処理装置1の指数付け処理を例示する。なお、
図8では、ステップを「S」と略称する。
【0142】
本実施形態に係る情報処理装置1は、例えば、ユーザインタフェースを介したユーザの操作情報に基づいて、記憶部11に格納されたプログラムを制御部12により実行することによって、本実施形態に係る指数付け処理を開始する。
【0143】
<ステップ101>
まず、ステップ101では、粉末回折装置2から情報処理装置1に対してデータが入力される。入力データは、
図1で例示される回折スペクトルのパターンと、該回折スペクト
ルから得られるピーク位置と、それぞれのピーク位置に係るピークの半値幅とを含む。回折スペクトルから得られるピーク位置及び半値幅は、粉末回折装置2において実行されるソフトウェアに付属するピークサーチによって求められる。なお、当該ピークサーチは、情報処理装置1において動作する指数付けソフトウェアに付属してもよい。したがって、当該ピークサーチは、情報処理装置1において実行されてもよい。
【0144】
なお、本ステップでは、情報処理装置1は、粉末回折装置2から入力データを得ているが、記憶部11に格納されているデータからデータを取り出すことによって、入力データを得てもよい。記憶部11に格納されているデータは、例えば、他の粉末回折装置から不図示の通信ネットワークを介して取得されてもよいし、着脱可能な記憶媒体から取得されてもよい。また、記憶部11に格納されているデータは、粉末回折装置2から回折スペクトルを取得したコンピュータによって求められたピーク位置と半値幅とを含むデータであってもよい。
【0145】
また、本ステップでは、上記のデータのほかに、例えば、情報処理装置1のユーザインタフェースが操作されることにより、計算条件が入力されてもよい。入力される計算条件は、たとえば、格子定数候補の閾値を定める、結晶格子の格子点間の距離の最小値、又は、単位胞の体積の最小値である。
【0146】
<ステップ102>
次に、
図8に示されるとおり、ステップ102では、q値取得部31により、入力データに含まれるピーク位置がそれぞれq値に変換される。当該変換により、q値取得部31は、q値の集合を取得する。
【0147】
また、本実施形態では、q値取得部31により、入力データに含まれる半値幅がそれぞれq値に対応するピーク位置の分散に変換される。当該分散は、ステップ103におけるq値のエラーチェック等に用いられる。
【0148】
なお、本実施形態では、回折スペクトルは、例えば、中性子線飛行時間法又は角度分散法により取得される。q値取得部31は、これらの方法で取得された回折スペクトルのピーク位置をq値に変換する。
【0149】
q値取得部31は、ピーク位置tをd値と呼ばれる値に変換した後、q値に変換する。d値とピーク位置tの間には、飛行時間法では[数21]で示される関係式が成立している。ここで、c
0、・・・、c
nは、コンバージョンパラメタと呼ばれる変換パラメタである。また、角度分散法のブラッグ-ブレンターノ光学系およびデバイシェラー光学系で
は[数22]及び[数23]で示される関係式が成立している。[数22]におけるZ、D
s、T
sは、ピークシフトパラメタと呼ばれる変換パラメタで、[数23]におけるλは、粉末回折装置2において回折スペクトルを得るために入射される放射線の波長である。
【0153】
[数21]における次数nは通常2から5程度である。また、コンパージョンパラメタ及びピークシフトパラメタは、格子定数の分かっている標準試料を用いて、粉末回折装置毎に得られる値である。
【0154】
[数21]、又は、[数22]及び[数23]により得られたd値は、[数24]に示される関係式によりq値に変換される。
【0156】
q値取得部31は、[数21]〜[数24]に示される式に基づいて、ピーク位置tをq値に変換する。ピーク位置からq値を求める処理は、ニュートン法と呼ばれる方法によって求められてもよい。
【0157】
なお、q値取得部31は、値の小さい順にq値をソートして、q
1、・・・、q
nの1次元配列として、記憶部11又は制御部12にq値のデータを保持させる。なお、nは、1以上の整数であり、取得されたq値の数を示す(本実施形態では、nは、入力データに含まれるピーク位置の数と同数)。
【0158】
また、q値取得部31は、後述するステップ103においてq値の線形式の成立の判定、後述するステップ111において対称性の判定を行うために、入力データに含まれるピークの半値幅を、対応する各q値の分散に変換する。
【0159】
ここで、[数25]に示されるピーク位置をt
0、分散をσ
2とするガウス分布を考える。
【0161】
このとき、ピークの半値幅は、[数26]を満たすΔtの2倍の値に等しい。したがって、ガウス分布において、分散をσ
2と半値幅wには[数27]に示される関係式が成立している。
【0164】
q値取得部31は、[数27]を用いて、入力データに含まれる半値幅wを、各q値に対応するピーク位置の分散σに変換する。すなわち、半値幅wを有するピークの位置tの
分散は、以下の[数28]で与えられる。
【0166】
なお、本実施形態では、粉末回折装置2において、回折スペクトルの横軸(飛行時間法では飛行時間、角度分散法では回折角)におけるピーク位置に係る値からd値またはq値への変換処理が行われる。しかしながら、当該変換処理に代えて、粉末回折装置2は、横軸がd値またはq値の回折パターンに対して、ピークサーチ処理を行うことによって、d値またはq値を取得してもよい。また、当該q値の変換処理は、他のコンピュータにおいて行われてもよい。そして、q値取得部31は、他のコンピュータによって求められたq値の集合を不図示の通信ネットワークを介して取得してもよい。さらに、q値取得部31は、着脱可能な記憶媒体から当該q値の集合を取得してもよい。各q値に対応するピーク位置の分散σについても同様である。
【0167】
<ステップ103>
次に、ステップ103では、q値取得部31によって、q値に対するエラーチェックが行われる。q値取得部31は、q値に対するエラーチェックを行うために、ステップ102で求めた各q値に対応するピーク位置の分散σを用いる。
【0168】
回折スペクトルのピーク位置は、粉末回折装置2のピークサーチによって得ているため、q値に対応するピーク位置の観測誤差Err[t]を正確に定義することは困難である。しかし、ある粉末回折装置ごとに決まる定数cが存在して、[数29]の関係式が成立していると考えることにより、ピーク位置の誤差の推定値を得ることができる。なお、q値取得部31は、装置ごとにあらかじめ定められた定数cを格納するデータベースを参照して、当該定数cを取得してもよいし、情報処理装置1のユーザインタフェースを介して入力されることにより、当該定数cを取得してもよい。
【0170】
[数21]〜[数24]によって、ピーク位置tが、d値を介してq値に変換された場合、その変換されたq値の観測誤差Err[q]は、以下の[数30]によって与えることができる。
【0172】
q値取得部31は、各q値を基準とした範囲Err[q]をそれぞれ考え、重なりが生じないかどうかを判定する。そして、重なりが生じている場合、q値取得部31は、q値の変換に対してエラーが生じたと判定し、エラーメッセージを情報処理装置1の表示装置に表示するとともに、本動作例に係る指数付け処理を停止する。他方、重なりが生じていない場合、q値取得部31は、q値の変換に対してエラーが生じていないと判定し、次のステップ104に実行を移す。
【0173】
<ステップ104>
次に、ステップ104では、組合せ取得部32によって、q値取得部31によって取得されたq値の集合から、第1の関係式([数14]及び[数15])を満たす第1のq値の組合せが取得する。また、ステップ104では、組合せ取得部32によって、該第1のq値の組合せに含まれるq値と、該組合せに含まれるq値から算出可能な他のq値とから、第2の関係式([数6]及び[数11])を満たす第2のq値の組合せが取得される。なお、上述したとおり、ステップ104では、組合せ取得部32によって、q値取得部31によって取得されたq値の集合から、第2の関係式を満たす第2のq値の組合せが直接取得されてもよい。
【0174】
具体的には、組合せ取得部32は、まず、記憶部11又は制御部12に保持されているq値の一次元配列から、第1の関係式を満たすq
i、q
j、q
k、q
lの組合せを検索する。これにより、第1のq値の組合せが取得される。
【0175】
そして、組合せ取得部32は、得られた第1のq値の組合せを変換することで、第2のq値の組合せを取得する。第1のq値の組合せから取得される第2のq値の組合せの有する4つのq値のうちの1つは、q値取得部31で得られた観測値に含まれていないq値である場合がある。なお、本実施形態では、上述のとおり、第1のq値の組合せから、2つの第2のq値の組合せが取得される。
【0176】
それでは、組合せ取得部32が、第1のq値の組合せから第2のq値の組合せを2つ取得する方法を述べる。第1のq値の組合せは、[数14]及び[数15]を満たす。この時、[数6]の関係から、以下の[数31]を満たすq
−1(
図7において点線の矢印で表された格子ベクトルに対応するq値)が存在する。
【0178】
このとき、q値の組合せ(q
−1、q
i、q
j、q
l)と(q
−1、q
j、q
i、q
k)において、[数14]及び[数15]の関係式から、それぞれ[数6]及び[数11]の関係式が成立する。また、[数12]より、以下の[数32]が成立している。
【0180】
すなわち、q
−1が、q値取得部31によって取得されるq値であるか否かに関わらず、q値取得部31によって取得されるq値と同様、q
−1は正数となる。
【0181】
したがって、組合せ取得部32は、第1のq値の組合せ(q
i、q
j、q
k、q
l)を、(q
−1、q
i、q
j、q
l)と(q
−1、q
j、q
i、q
k)とに変換することにより、2つの第2のq値の組合せを取得することができる。
【0182】
ここで、組合せ取得部32が、q値取得部31によって取得されたq値の集合から、第2の関係式を満たす第2のq値の組合せを直接取得する場合がある。この場合、第1のq値の組合せに含まれるq値から計算されるq
−1が、q値取得部31によって取得されたq値の集合に含まれるならば、第1のq値の組合せ(q
i、q
j、q
k、q
l)から取得される(q
−1、q
i、q
j、q
l)と(q
−1、q
j、q
i、q
k)は、q値取得部31によって取得されたq値の集合から直接取得された第2のq値の組合せ(q
i、q
j、
q
k、q
l)と一致する。したがって、このようなq
−1を算出する第1のq値の組合せについて、組合せ取得部32は、上記第2のq値の組合せの取得処理を省略してもよい。
【0183】
他方、第2のq値の組合せに含まれるq値から計算されるq
−1が、q値取得部31によって取得されたq値の集合に含まれないならば、第1のq値の組合せ(q
i、q
j、q
k、q
l)から取得される(q
−1、q
i、q
j、q
l)と(q
−1、q
j、q
i、q
k)は、q値取得部31によって取得されたq値の集合から直接取得された第2のq値の組合せと一致しない。そこで、組合せ取得部32は、q値取得部31によって取得されたq値の集合から、第2の関係式を満たす第2のq値の組合せを直接取得する場合、このような第1のq値の組合せから取得される2つの第2のq値の組合せを記憶部11又は制御部12に保持させてもよい。
【0184】
このq
−1が、q値取得部31によって取得されたq値の集合に含まれない場合、当該q
−1は、何らかの原因により観測されなかったq値であると考えられる。この時、[数16]及び[数31]並びに第2の仮定を考慮すると、q
−1は、
図7における点線矢印で示されたベクトルのq値に一致する。そして、q
−1は、逆格子の格子ベクトルK
1+K
2について、消滅則、又は、ピークサーチの精度に起因してピーク位置が観測されなかった格子ベクトルに係るq値であると考えることができる。
【0185】
そして、
図7の2つの平行四辺形(横線及び縦線でハッチングされた平行四辺形)の辺及び対角線に対応する格子ベクトルに係るq値に対して、それぞれ第2の関係式が成立する。各平行四辺形において成立している第2の関係式は、[数33]のようになる。この2つの第2の関係式が、第1のq値の組合せから取得された2つの第2のq値の組合せに対応する。
【0187】
なお、上記のように取得される第2のq値の組合せは、[数34]又は[数35]のように、サイズ4のint型配列(int array[4])で表現され、記憶部11又は制御部12に
保持される。[数34]は、q値取得部31によって取得されたq値の集合から直接取得される第2のq値の組合せに対応する。また、[数35]は、第1のq値の組合せを用いて取得される第2のq値の組合せに対応する。
【0190】
ただし、(q
k<q
l?k:l)は、q
k<q
lが成立するときはkに等しい値を取り、成立
しないときはlに等しい値を取ることを示す。また、min(A、B)は、AとBのうちの小さい方の値を示す。max(A、B)は、AとBのうちの大きい方の値を示す。
【0191】
なお、i、j、k、lは、q値取得部31により取得されたq値の1次元配列において
、該当するq値を参照するために用いられる参照値であり、配列の指数を示す。他方、この配列(観測値)に含まれていないq値の参照値は、配列の指数の代わりに−1を格納する。本実施形態に係る組合せ取得部32は、[数34]及び[数35]に示されるように、取得した第2のq値の組合せに含まれるq値について、q値取得部31により取得されたq値の1次元配列における参照値の配列を記憶部11又は制御部12に保持させる。
【0192】
また、[数35]より、第1のq値の組合せを用いて取得される第2のq値の組合せについて、q
−1が、第2のq値の組合せに係る配列の3番目又は4番目の要素となることはない。しかしながら、後述する処理によっては、q
−1は、第2のq値の組合せに係る配列の3番目又は4番目の要素となることもありうる。このため、第2のq値の組合せでは、常に4つのq値の間に[数6]が成立していると仮定する。また、q値取得部31により取得されたq値の1次元配列の指数を示すi、j、k、lは、互いに同じ値であってもよいと仮定する。更に、i、j、k、lのうちのいずれか1つは、−1であってもよいと仮定する。これらの仮定は、[数6]の関係式より、q
i、q
j、q
k、q
lが(観測さ
れていないq
−1に該当するものも含めて)全て観測値のq値から求めることができるという状況を示している。具体的には、その表式は、[数36]のようになる。
【0194】
ここで、Q(int m)は、第2のq値の組合せに係る配列のm+1番目の要素である参照値
によって示されるq値を示す。array[m]は、第2のq値の組合せに係る配列のm+1番目の要素である参照値を示す。q
array[m]は、第2のq値の組合せに係る配列のm+1番目の要素である参照値によって示されるq値を示す。
【0195】
[数36]の右辺の一番上の式は、配列の指数が負であるか否か、すなわち、mが参照する配列の要素が、何らかの原因で観測されなかったq
−1であるか否かを判定している。右辺の2番目以降の式は、q
−1が観測値に含まれなかった時の該q
−1値を他の観測されたq値より定めている。[数36]より、第2のq値の組合せに含まれる4つのq値q
i、q
j、q
j、q
lが求められる。第2のq値の組合せに第2の仮定を適用したとき、K
1、K
2によって形成される2次元部分格子(平面格子)のグラム行列は、[数9]のようになる。なお、第2のq値の組合せに第2の仮定を適用したときに、[数9]によってグラム行列が与えられる2次元部分格子(平面格子)のことを、以下では、該第2のq値の組合せが示唆する2次元部分格子(平面格子)と呼ぶ。
【0196】
<ステップ105>
次に、ステップ105では、組合せ関連付け部33によって、組合せ取得部32によって得られた第2のq値の組合せについて、該第2のq値の組合せによって示唆される2次元部分格子の基底がそれぞれ共通する第2のq値の組合せ同士の関連付けが行われる。言い換えると、ステップ105では、組合せ関連付け部33によって、組合せ取得部32によって得られた第2のq値の組合せについて、該第2のq値の組合せにより示唆される平面格子が一致している第2のq値の組合せ同士の関連付けが行われる。以下、ステップ105に続く処理の議論を視覚的に把握しやすいよう、第2のq値の組合せを基本構造に持つトポグラフと呼ばれるグラフ構造を説明に用いる。
【0197】
(トポグラフの基本構造の説明)
本実施形態におけるトポグラフは、q値の状態を表示するグラフである。以下では、一般的な数学で用いられているとおり、グラフに含まれる線分を「枝」と表記し、グラフに含まれる各枝の端点を「頂点」と表記する。
【0198】
まず、組合せ取得部32が取得した第2のq値の組合せが、どのようなグラフとして表現されるかを説明する。
【0199】
図9Aは、第2のq値の組合せに対応するトポグラフの基本構造を例示する。トポグラフの基本構造は、2つの頂点と1つの枝から形成される。このトポグラフの基本構造を取り囲む4つの領域に記載されたq値(
図9A)の間には、第2のq値の組合せと同様、第2の関係式が成立することが要求される。また、トポグラフの基本構造において、上下又は左右の領域に割り当てられたq値を入れ替えたものは、トポグラフの対称性を考慮して、入れ替える前のものと同一とみなすことができる。
【0200】
本実施形態におけるトポグラフの基本構造では、枝を境界とする上下の領域に、[数6]の左辺に現れるq値が割り当てられる。また、該トポグラフの基本構造における左右の領域に、[数6]の右辺に現れるq値が割り当てられる。
【0201】
なお、以下では、組合せ取得部32によって取得された第2のq値の組合せそれぞれに対応する「トポグラフの基本構造」を単に「基本構造」とも表記する。また、以下では、枝を境界とする上下の領域に書かれた2つのq
i、q
jを「該枝に対応付けられたq値」
、各頂点を取り囲む3つの領域に書かれたq値を「該頂点に対応付けられたq値」と表記する。
【0202】
図9Bは、
図9Aの基本構造を与える第2のq値の組合せに第2の仮定を適用した状態を例示する。
図9Bに示されるとおり、本実施形態におけるトポグラフは、格子ベクトルの状態を表示してもよい。
【0203】
図10Aは、第1のq値の組合せから得られる2つの第2のq値の組合せに対応するトポグラフの基本構造を例示する。第1のq値の組合せから得られる第2のq値の組合せと同様に、基本構造においても、割り当てられた4つのq値のうち、q値取得部31によって取得されたq値に一致しないものが1つ含まれうる。
【0204】
図10Bは、
図10Aに示された2つのトポグラフの基本構造に第1の仮定を適用した適用した様子を示す。2つの基本構造は、
図10Bが示すように、
図10Aの二つの基本構造は、トポグラフ全体において、隣接する。トポグラフの基本構造が「隣接する」か否かは、頂点に対応付けられたq値の比較によって判定される。その判定方法を以下で説明する。
【0205】
(基本構造の隣接条件)
本実施形態において、「2つの基本構造が隣接している」とは、トポグラフの中で、
図11Aのように、2つの基本構造が頂点を1つ共有することを指す。基本構造が頂点を共有するとは、該頂点に対応付けられた3つのq値が互いに一致することを指す。例えば、
図11Aには、トポグラフの基本構造が2つ示されている。基本構造1000は、第2のq値の組合せ(q
1、q
2、q
3、q
4)を表現するトポグラフの基本構造である。基本構造1001は、第2のq値の組合せ(q
1、q
4、q
2、q
5)を表現するトポグラフの基本構造である。基本構造1000と基本構造1001は、
図11Aの矢印によって指し示された頂点に対応付けられた3つのq値(q
1、q
2、q
4)がそれぞれ一致するた
め、互いに隣接する。
【0206】
以下では、基本構造1000と基本構造1001のように、基本構造に含まれる2つの頂点のうちどちらか一方の頂点について、該頂点に対応付けられた3つのq値が一致する2つの基本構造を「隣接する基本構造」と表現する。
【0207】
図10Aの2つの基本構造は、左側の頂点を共有するので、互いに隣接する。ただし、
この場合、
図10Aの2つの基本構造におけるq
−1の値が互いに等しくなければならな
い。よって、
図10Aの2つの基本構造が隣接するか否かを調べるためには、2つの基本構造におけるq
−1の値をそれぞれ計算して、比較する必要がある。このように、q
−1に係るq値は、参照値「−1」が一致している場合であっても、対応するq値が一致しない場合がありうる。他方、q
−1以外のq値は、q値取得部31によって取得されたq値の配列の指数によって参照されるので、参照値(配列の指数)が一致していれば、q値も一致していると判定してよい。
【0208】
本実施形態では、2つの第2のq値の組合せが示唆する2次元部分格子の基底がそれぞれ共通するとき、2つの第2のq値の組合せは、「示唆する2次元部分格子の基底が共通している」と表現される。2つの第2のq値の組合せにそれぞれ対応する2つの基本構造が、基本構造1000と1001のように隣接しているとき、該2つの第2のq値の組合せが示唆する2次元部分格子の基底は共通している。なぜなら、該2つの基本構造が共有する頂点に対応付けられた3つのq値に対して、[数9]を適用すると、それぞれが示唆する2次元部分格子のグラム行列が一致するからである。
【0209】
さらに、第2のq値の組合せに対応する基本構造において、「隣接している基本構造」、「隣接している基本構造に隣接している基本構造」、「隣接している基本構造に隣接している基本構造に隣接している基本構造」…と隣接する基本構造の取得を繰り返すことで得られる全ての基本構造は、示唆する2次元部分格子の基底が共通するある第2のq値の組合せに対応する。言い換えると、2つの第2のq値の組合せが「示唆する2次元部分格子の基底が共通している」とする。このとき、2つの第2のq値の組合せそれぞれに対応するトポグラフの基本構造AとBは、基本構造Aから開始して上記のように繰り返し隣接する基本構造を取得していくことで、基本構造Bを取得することができる関係にあることが、数学的事実として示される。
【0210】
(基本構造の関連付けとトポグラフ)
次に、本実施形態において、組合せ関連付け部33によって行われる、第2のq値の組合せ同士の関連付けの概要を述べる。該関連付けは、トポグラフの表現において、隣接するトポグラフの基本構造を、該基本構造の共通する頂点を用いて1つにまとめる処理として説明される。当該処理について
図11Bを用いて説明する。
【0211】
図11Bは、
図11Aの2つのトポグラフの基本構造(第2のq値の組合せに対応する)が関連付けられた状態を例示する。
図11Bに示されるとおり、基本構造1000と基本構造1001とが関連付けられると、3つの頂点を含むトポグラフの部分構造1002になる。
【0212】
基本構造1000と基本構造1001は、
図11Aによって示されるとおり、矢印で指示された頂点が共通する、すなわち、該頂点に対応付けられたq値が一致する。つまり、頂点を取り囲む3つの領域に割り当てられたq値が一致するので、必要ならば、基本構造を回転または、反転することで、共通する頂点とそれを取り囲む領域とを含めて、1つにまとめることができる。例えば、これらを1つにまとめたものが、
図11Bに示される基本構造1002である。
【0213】
つまり、
図11Bに示されるとおり、2つの基本構造の共通する頂点を1つにまとめる処理は、2つの基本構造において共通する3つの領域を1つにまとめる処理と同時に行うことができる。以降、このように、隣接する基本構造同士の共有する頂点をまとめる処理を「連結する」と表現する。この処理は、第2のq値の組合せを関連付けることに対応する。
【0214】
ある基本構造において、隣接する基本構造が見つかれば、
図11Bに示されるように、ある基本構造と該隣接する基本構造とは連結される。このような処理が繰り返されていくと、例えば、
図12に示されるようなトポグラフが形成される。組合せ関連付け部33によって行われる第2のq値の組合せの関連付けは、概念的にはこのように説明される。
【0215】
この互いに関連付けられた第2のq値の組合せに含まれるq値は1つの集合(グループ)をなす。該集合は、該第2のq値の組合せに対応する基本構造を連結することで取得されるトポグラフにおいて、各領域に割り当てられたq値から取得される集合と一致する。
【0216】
本実施形態では、基底が共通する2次元部分格子を示唆する第2のq値の組合せ同士が関連付けられる。したがって、基本構造の関連付けによって得られるトポグラフは、関連付けに係る第2のq値の組合せによって示唆される2次元部分格子であって、該基底が共通する2次元部分格子毎に1つである。以下では、該2次元部分格子を、「該トポグラフによって示唆される2次元部分格子」と表記する。
【0217】
なお、基本構造の関連付けによって得られるトポグラフに含まれる異なるq値が多ければ多いほど、該トポグラフによって示唆される2次元部分格子の格子ベクトル(格子点)に対応するq値が多く発見されていることを意味する。よって、基本構造の関連付けによって得られるトポグラフに含まれる異なるq値が多ければ多いほど、該トポグラフによって示唆される2次元部分格子が実際の結晶格子の2次元部分格子として存在している可能性が高いと言える。更に、基本構造の関連付けによって得られるトポグラフに含まれる異なるq値が多ければ多いほど、該トポグラフによって示唆される2次元部分格子の基底は、求める逆格子の基底の部分集合である可能性も高いと言える。なお、平面格子の基底K
1、K
2が「逆格子の基底の部分集合である」とは、ある適当な逆格子ベクトルK
3を加えると、K
1、K
2、K
3が求める逆格子の基底となる状態を指す。
【0218】
これは、粉末回折装置2の観測能力に依存して、観測可能なq値には最小値と最大値が存在することから説明される。q値は、結晶格子の逆格子の格子点と該逆格子の原点との間の長さの2乗である。そのため、粉末回折装置2により観測されたq値に対応する格子点は、q値の最小値の平方根とq値の最大値の平方根を半径とし、原点を中心とする二つの球面によって囲まれる領域に含まれる格子点である。
【0219】
したがって、格子点に対応するq値がより多く観測される2次元部分格子ほど、該領域に含まれる格子点が多いと言えるため、その基底ベクトルK
1とK
2によって張られる平行四辺形の面積は小さくなる。これにより、該トポグラフに含まれる異なるq値の数が多ければ多いほど、該トポグラフにより示唆される2次元部分格子の基底ベクトルK
1とK
2によって張られる平行四辺形の面積は小さくなる傾向にある。そして、数学的に示された事実により、2次元部分格子の基底ベクトルK
1とK
2によって張られる平行四辺形の面積が小さければ小さいほど、該基底ベクトルK
1とK
2が結晶格子の逆格子の基底の部分集合である可能性は高い。
【0220】
そこで、本実施形態では、後述する関連付け比較部34及び格子定数候補取得部35の処理において、該可能性の高低を用いた、結晶格子の格子定数を取得するために用いる第
2のq値の組合せの選別が行われる。
【0221】
(トポグラフの枝の向きとその性質)
組合せ関連付け部33の関連付けは、
図11A等において示される基本構造について、上記のような条件に基づいて行われる。そのため、組合せ関連付け部33によって形成されるトポグラフは、
図12に示されるように、該トポグラフに含まれる基本構造が1つ定まれば自然に定まるという性質をもつ。
【0222】
以下では、このような性質をもつ基本構造の関連付け処理を説明するため、基本構造に含まれる枝に向きという概念を導入する。この枝の向きも、以下で定義する湧き出しと呼ばれる頂点が、トポグラフのどこに位置するかが定まれば、全て自然に定まるものである。本実施形態では、この枝の向きが、第2のq値の組合せに対応する基本構造の関連付け処理に利用される。よって、基本構造の関連付け処理を説明するため、以下では、該関連付け処理に利用されるトポグラフの枝の向きという概念を説明する。
【0223】
図13A及び
図13Bを用いて、基本構造に含まれる枝の向きを説明する。
図13Aは、枝が向きを持つ状態を例示する。また、
図13Bは、枝が向きを持たない状態を例示する。枝の向きは、該枝がつなぐ2つの領域に割り当てられたq値の大小を示す。つまり、q
k<q
lである場合、
図13Aに示されるとおり、枝の向きは、領域q
kから領域q
lに向かう向きとなる。該枝の向きは、矢印によって表現される。また、q
k=q
lである場合、
図13Bに示されるとおり、枝は、向きを持たない。このような向きを持たない枝は、該枝に「0」を添えることで表現される。なお、q値取得部31によって取得されたq値の集合にq
kとq
lが含まれる場合、該q値の集合に含まれるq値は値が小さい順にソートされているため、q
kとq
lの値の比較は、参照値kとlの比較であってもよい。
【0224】
組合せ関連付け部33は、記憶部11又は制御部12が保持する第2のq値の組合せ
に含まれるそれぞれの第2のq値の組合せに対応する基本構造について、上述の枝の向きの特定を行う。そして、組合せ関連付け部33は、記憶部11又は制御部12に、それぞれの第2のq値の組合せに対応する基本構造の特定した枝の向きを、それぞれの第2のq値の組合せに対応付けて保持させる。
【0225】
このようなに定められた枝の向きについて、
図14及び
図15に示されるトポグラフは、トポグラフ全体における枝の向きの状態を示す。
【0226】
図14は、全ての枝が向きを持つ場合に形成されるトポグラフを例示する。このとき、
図14の矢印によって示される頂点では、該頂点に接続する全ての枝の向きが、該頂点とは異なる端点に向かっている。数学的事実により、全ての枝が向きを持つトポグラフにおいて、このような頂点は、一つのトポグラフにおいて、ただ一つしか存在しえない。以降、このような頂点を、湧き出しとなる頂点と呼ぶ。
【0227】
また、
図15は、関連付けの根となるトポグラフの基本構造において、向きを持たない枝が存在するトポグラフを例示する。このとき、向きを持たない枝によって繋がれる領域のq値(q
kとq
l)が等しいことから、
図15に示されるとおり、該トポグラフは左右対称となる。
図15の場合には、矢印が示す二つの頂点を、湧き出しとなる頂点と呼ぶ。
【0228】
本実施形態において得られるトポグラフは、向きを持たない枝を1つも含まないトポグラフ(
図14)か、又は、向きを持たない枝を1つしか含まないトポグラフ(
図15)である。つまり、トポグラフの枝の向きは、
図14又は
図15で示される二つの場合に限られる。
【0229】
本実施形態では、このようなトポグラフの性質に注目して、基本構造の関連付け処理が実行される。
【0230】
ここで、以下の関連付けの処理の記述に必要となる用語を説明する。
(1)基本構造Pと基本構造Rが隣接している
(2)基本構造Pに含まれる枝は、基本構造Pと基本構造Rにより共有される頂点とは異なる頂点へ向かう向きを有する
(3)基本構造Rに含まれる枝は、向きを持たない、又は、基本構造Pと基本構造Rにより共有される頂点に向かう向きを有する
上記(1)〜(3)が成立するとき、該基本構造Pと基本構造Rの関係を「R→P」と表記する。
【0231】
図16A、
図16Bは、「R→P」となる基本構造Pと基本構造Rの関係を例示する。なお、各図では、基本構造Rはその一部のみ表現されている。また、これらの図においては、「R→P
A」、「P→Q」、「P→Q
A」も同様に成立する。
【0232】
また、記憶部11又は制御部12に保持されている第2のq値の組合せに対応する各基本構造Pに対して、「R→P」となる基本構造Rに対応する第2のq値の組合せが、記憶部11又は制御部12に保持されていないとする。このとき、該基本構造Pに対応する第2のq値の組合せを「関連付けの根となる第2のq値の組合せ」と表記する。従って、記憶部11又は制御部12により保持される第2のq値の組合せが、
図14における湧き出しとなる頂点を含む基本構造、又は、
図15における向きを有しない枝を含む基本構造に対応しているならば、当該第2のq値の組合せは、関連付けの根となる第2のq値の組合せとなる。
【0233】
(関連付け処理の概要)
次に、関連付けの処理の概要について説明する。具体的な動作例については後述する。本実施形態に係る組合せ関連付け部33は、組合せ取得部32によって取得された各第2のq値の組合せに対して、それぞれにより示唆される2次元部分格子の基底が共通している第2のq値の組合せ同士の関連付けを行う。当該処理についても、トポグラフによる表現を用いて説明する。
【0234】
粉末回折装置2に依存して、観測可能なq値の最小値と最大値が決まる。組合せ取得部32によって取得された第2のq値の組合せに含まれるq値は、q値取得部31によって取得されたq値の集合に含まれないq値を1つ含む場合がある。そのため、組合せ取得部32によって取得された第2のq値の組合せに含まれるq値は、そのうちの1つを除けば、q値取得部31によって取得されたq値である。よって、組合せ取得部32によって取得された第2のq値の組合せに含まれるq値は、観測可能なq値の最小値と最大値の範囲に含まれている必要がある。
【0235】
組合せ関連付け部33の関連付け処理によって得られるトポグラフは、そのような第2のq値の組合せを関連付けたものなので、
図14又は
図15で示されるようなトポグラフの、ある有限個の頂点を含む部分グラフに限られる。本実施形態では、組合せ関連付け部33は、トポグラフの部分グラフが二分木グラフと呼ばれる単純なグラフ構造を持つことを利用して、示唆される2次元部分格子の基底が共通する第2のq値の組合せ同士の関連付けを行う。
【0236】
まず、組合せ関連付け部33は、組合せ取得部32によって得られた第2のq値の組合せに対応する基本構造について、
図13A及び
図13Bで示されるような該基本構造に含まれる枝の向きを判定する。これは、該基本構造に隣接する基本構造を検索する際、枝に
向きがあるか否かによって、該検索の処理が一部変わるからである。
【0237】
組合せ関連付け部33は、該基本構造に含まれる枝の向きを判定するため、q
kとq
lの比較を行う。そして、q
k<q
lである場合、該基本構造に含まれる中央の枝は領域q
kから領域q
lの方向に向きを持つ、と組合せ関連付け部33は判定する。また、q
k=q
lである場合、該基本構造に含まれる中央の枝は向きを持たない、と組合せ関連付け部33は判定する。
【0238】
なお、以下では、第2のq値の組合せPに対して基本構造Pが、第2のq値の組合せQに対して基本構造Qが、第2のq値の組合せRに対して基本構造Rが対応しているとする。
【0239】
次に、組合せ関連付け部33は、記憶部11又は制御部12が保持している基本構造(第2のq値の組合せ)のデータ群に対して、該データ群には含まれておらず、かつ、隣接するある基本構造Pが該データ群に含まれている基本構造Qを追加する。これは、該基本構造Qに対応する第2のq値の組合せが組合せ取得部32により取得できなかった場合に対応するための処理である。なお、
図17A及び
図17Bは、該基本構造Qを例示する。また、本実施形態では、記憶部11又は制御部12は、第2のq値の組合せを[数34]及び[数35]に示される配列データとして保持している。以下では、この記憶部11又は制御部12により保持されている第2のq値の組合せに関するデータを「(記憶部11又は制御部12により保持されている)第2のq値の組合せのデータ群」又は「基本構造のデータ群」とも表記する。
具体的には、まず、組合せ関連付け部33は、該データ群に含まれる基本構造Pに対して、隣接する基本構造を、該データ群から検索する。具体的には、組合せ関連付け部33は、基本構造Pに連結する「右上の枝」、「右下の枝」、「左上の枝」、「左下の枝」の基本構造を検索する。
【0240】
なお、「右上の枝」、「右下の枝」、「左上の枝」、及び、「左下の枝」は、それぞれ、
図13A又は
図13Bの基本構造における、枝B、枝C、枝D、及び、枝Eに該当する。すなわち、基本構造Pに連結する「右上の枝」の基本構造とは、
図16Aにおける基本構造Qに該当する。言い換えると、基本構造Pに連結する右上の枝の基本構造とは、
図16Aにおける基本構造Pと(q
i、q
j、q
l)に囲まれた頂点を共有する基本構造であって、
図13Aの基本構造における枝Bを中央の枝として持つ基本構造である。同様に、右下の枝の基本構造、左上の枝の基本構造、及び、左下の枝の基本構造は、それぞれ、
図16Aにおける基本構造Q
A、基本構造R、基本構造P
Aに該当する。隣接する基本構造の検索は、後述する(隣接する基本構造の検索処理)において説明する。
【0241】
そして、組合せ関連付け部33は、記憶部11又は制御部12に保持される基本構造のデータ群に含まれる基本構造Pに連結する基本構造Qが該データ群に含まれていなかった場合、該基本構造Qの作成を試み、作成できた基本構造Qを該データ群に追加する。**
当該処理について、基本構造Pに連結する左下の枝の基本構造が、記憶部11又は制御部12に保持される基本構造のデータ群に含まれていなかった場合を例に用いて説明する。なお、基本構造Pに連結する左下の枝以外の枝の基本構造についても同様に説明される。
【0242】
図18A及び
図18Bは、
図17A及び
図17Bに例示される基本構造Qが、基本構造Pに連結する左下の枝の基本構造である例を示す。
図18A及び
図18Bに示されるとおり、該基本構造Pと該基本構造Qに共有される頂点に対応付けられた3つのq値、又は、該基本構造Qの該共有される頂点とは異なる他の頂点に対応付けられた3つのq値は、q値取得部31によって取得されたq値の集合に含まれる。
【0243】
該基本構造Qが基本構造のデータ群に含まれない場合、組合せ関連付け部33は、
図18A又は
図18Bに例示される基本構造Qを作成し、該作成した基本構造Qを基本構造のデータ群に追加する。
【0244】
例えば、組合せ関連付け部33は、第2の関係式に含まれる[数6]を用いて、
図18Aにおける(q
i、q
j、q
k)からq
−1を算出する。(q
i、q
j、q
k)は、基本構造Pに係る配列データから取得される。そして、組合せ関連付け部33は、算出したq
−1を用いて、基本構造Q(q
k、q
j、q
−1、q
i)のデータを作成し、該作成した基本構造Q(q
k、q
j、q
−1、q
i)のデータを基本構造のデータ群に追加する。
【0245】
また、例えば、組合せ関連付け部33は、第2の関係式に含まれる[数6]を用いて、
図18Bにおける(q
j、q
−1、q
k)からq
uを算出する。(q
j、q
−1、q
k)は、基本構造Pに係る配列データから取得される。そして、組合せ関連付け部33は、算出したq
uが、q値取得部31により取得されたq値の集合に含まれるか否かを判定する。
【0246】
算出したq
uが、q値取得部31により取得されたq値の集合に含まれないと判定された場合、
図18Bの状態は成立しないため、組合せ関連付け部33は、当該基本構造の追加に係る処理における基本構造Qの作成以下の処理をスキップする。
【0247】
他方、算出したq
uが、q値取得部31により取得されたq値の集合に含まれると判定された場合、
図18Bの状態が成立するため、組合せ関連付け部33は、基本構造Q(q
k、q
j、q
u、q
−1)のデータを作成する。そして、組合せ関連付け部33は、該作成した基本構造Q(q
k、q
j、q
u、q
−1)のデータを基本構造のデータ群に追加する。
【0248】
なお、該基本構造Qが基本構造のデータ群に含まれる場合、組合せ関連付け部33は、基本構造Qを基本構造のデータ群から取得することができるため、当該基本構造の追加に係る処理をスキップする。
【0249】
このような基本構造の追加に係る処理を、基本構造のデータ群に新たに追加した基本構造についても実行することで、基本構造のデータ群に含まれる基本構造に隣接する基本構造が基本構造のデータ群に蓄積される。
【0250】
なお、上述したとおり、上記基本構造の追加に係る処理において、新たな基本構造が基本構造のデータ群に追加されず、該処理がスキップされる場合が存在する。そのため、上記基本構造の追加に係る処理は、必ず有限回で終了する。
【0251】
本実施形態に係る組合せ関連付け部33は、上述のような処理により、基本構造のデータ群には含まれておらず、かつ、隣接するある基本構造Pが該データ群に含まれている基本構造Qを基本構造のデータ群に追加する。
【0252】
続いて、組合せ関連付け部33は、基本構造の配列に含まれる基本構造Pに対して、「R→P」が成立する基本構造Rを、基本構造の配列から検索する。該処理を
図16Aを用いて説明する。
【0253】
該基本構造Rを検索するために、組合せ関連付け部33は、まず、基本構造Pの中央の枝の向きを判定する。該枝の向きは、基本構造(第2のq値の組合せ)に対応付けられて記憶部11又は制御部12に保持されている。
【0254】
基本構造Pの中央の枝の向きがq
kからq
lに向かう向きである場合、組合せ関連付け部33は、基本構造Pの要素(q
i、q
j、q
k)を持ち、中央の枝が、向きを持たない枝か、又は、(q
i、q
j、q
k)に対応付けられた頂点に向かう向きを持つ枝である基本構造Rを基本構造の配列から検索する。
【0255】
他方、基本構造Pの中央の枝が向きを持たない場合、
図15に示されるように、「R→P」は成立しないため、組合せ関連付け部33は、該基本構造Rの検索処理をスキップする。
【0256】
組合せ関連付け部33は、上記検索により取得された基本構造Rと基本構造Pとの関連付けを行う。
【0257】
基本構造P、及び、基本構造Pに隣接する基本構造に含まれる枝の取り得る向きは、上下の入れ替わり(例えば、
図16AにおけるRとP
Aの入れ替わり)を考慮しなければ、
図16A、
図16B、
図19、
図20のいずれかになる。なお、これらの図において示される基本構造Pは、記憶部11又は制御部12により保持される第2のq値の組合せPに対応しているとして、各図の状態を説明する。
【0258】
図16A及び
図16Bによりに示されるトポグラフでは、「P→P
A」、「P→Q」及び「P→Q
A」により、基本構造P、P
A、Q、Q
Aが関連付けられている。また、記憶部11又は制御部12により保持される第2のq値の組合せRに
図16A及び
図16Bにより示される基本構造Rが対応しているとする。この場合、
図16A及び
図16Bによりに示されるトポグラフでは、更に、「R→P」により、基本構造PとRが関連付けられている。この場合、基本構造Pは、全ての隣接する基本構造と関連付けられている。
【0259】
また、
図19により示されるトポグラフでは、「P→P
A」、「P→P
B」、「P→Q」及び「P→Q
A」により、基本構造P、P
A、P
B、Q、Q
Aが関連付けられている。この場合も、
図16A及び
図16Bと同様に、基本構造Pは、全ての隣接する基本構造と関連付けられている。
【0260】
また、
図20により示されるトポグラフでは、基本構造Pの中央の枝は方向を持たない。このため、トポグラフは左右対称となる。この時、「P→Q」及び「P→Q
A」により、基本構造P、Q、Q
Aが関連付けられている。この場合も、
図16A、
図16B、及び、
図19と同様に、基本構造Pは、全ての隣接する基本構造から関連付けられている。
【0261】
すなわち、
図16A、
図16B、
図19、及び、
図20より、隣接する一部の基本構造と関連付けられなかった基本構造Pの中央の枝は向きを持つ。そして、該関連付けられなかった隣接する一部の基本構造は、記憶部11又は制御部12により保持されている第2のq値の組合せの中に対応する第2のq値の組合せが存在しない「R→P」となる基本構造Rである。
【0262】
関連付けに係るトポグラフを全て得るためには、組合せ関連付け部33は、基本構造のデータ群に含まれる全ての基本構造に対して、該基本構造と該基本構造に隣接する基本構造とを関連付ければ十分である。なぜなら、各基本構造は、当該関連付けにより、自身に隣接する全ての基本構造から関連付けられ、又は、自身が隣接する全ての基本構造に関連付けられるからである。
【0263】
なお、組合せ関連付け部33は、例えば、
図16A及び
図16Bにより示される基本構造Pについて、当該基本構造Pに隣接する基本構造を検索せずとも、当該基本構造Pに隣
接する基本構造から関連付けられたか否かを判定することにより、基本構造Pに隣接する基本構造を特定してもよい。
【0264】
例えば、組合せ関連付け部33は、「R→P」となる基本構造Rに対する処理において、該基本構造Rと基本構造Pを関連付けたとする。この時、組合せ関連付け部33は、該関連付けに係る基本構造Pの枝について、基本構造Rから関連付けられたことを示す情報を設定し、記憶部11又は制御部12に該情報を保持させてもよい。
【0265】
このように、組合せ関連付け部33は、他の基本構造についての処理を活用することにより、処理対象の基本構造に隣接する基本構造を特定してもよい。
【0266】
なお、組合せ関連付け部33により行われる関連付けにより、組合せ関連付け部33は、関連付けの根となる基本構造を特定することができる。
【0267】
例えば、組合せ関連付け部33は、
図16A及び
図16Bのような基本構造Pについて関連付けの処理を行っていたとする。この時、組合せ関連付け部33は、
図16A及び
図16Bにおける基本構造Rを取得できない場合に、
図16A及び
図16Bにおける基本構造Pを、関連付けの根となる基本構造として特定する。
【0268】
また、例えば、組合せ関連付け部33は、
図19及び
図20のような基本構造Pについて関連付けの処理を行っていたとする。この時、組合せ関連付け部33は、
図19及び
図20における基本構造Pは湧き出しとなる頂点を持つため、該基本構造Pを、関連付けの根となる基本構造として特定する。
【0269】
なお、組合せ関連付け部33は、
図16A及び
図16Bのような基本構造Pについて関連付けの処理を行っている場合、
図16A及び
図16Bにおける基本構造Rが取得されると、該基本構造Pを、関連付けの根となる基本構造として特定しない。
【0270】
なぜなら、組合せ関連付け部33は、他の基本構造を、関連付けの根となる基本構造として特定するからである。
【0271】
例えば、
図16Aのようなトポグラフが関連付けにより得られる場合、
図16Aにおける基本構造Rの枝の矢印とは逆方向にトポグラフの枝をさかのぼることを考えることができる。このように考えられる枝のさかのぼりの終着点に係る基本構造は、
図16A及び
図16Bにおける基本構造Rが取得できない基本構造Pか、又は、
図19及び
図20図における湧き出しとなる頂点を持つ基本構造Pである。この場合、それぞれの基本構造が、関連付けの根となる基本構造として特定される。
【0272】
また、例えば、
図16Bのようなトポグラフが関連付けにより得られる場合、
図16Bにおける基本構造Rが、関連付けの根となる基本構造として特定される。
【0273】
よって、組合せ関連付け部33は、
図16A及び
図16Bのような基本構造Pについて関連付けの処理を行っている場合、
図16A及び
図16Bにおける基本構造Rが取得されると、関連付けの根となる基本構造として他の基本構造を特定するため、基本構造Pを、関連付けの根となる基本構造として特定しない。
【0274】
すなわち、全ての基本構造について関連付けの処理を実行することにより、組合せ関連付け部33は、各関連付けにおける、関連付けの根となる基本構造を特定することができる。
【0275】
(隣接する基本構造の検索処理)
次に、以上までに説明した隣接する基本構造の検索処理の具体例を説明する。
【0276】
記憶部11又は制御部12は、これまでの処理により取得された第2のq値の組合せのデータ群を保持する。組合せ関連付け部33は、記憶部11又は制御部12により保持されるデータ群に含まれる各第2のq値の組合せに対応する基本構造Pに隣接する基本構造に対応する第2のq値の組合せを該データ群から検索する。
【0277】
なお、組合せ関連付け部33は、該検索処理に次いで、基本構造Pに隣接する基本構造(例えば、
図17A及び
図17Bに例示される基本構造Q)に対応する第2のq値の組合せが該データ群に存在しない場合、該基本構造Pに隣接する基本構造に対応する第2のq値の組合せの作成を試みる。そして、組合せ関連付け部33は、該基本構造Pに隣接する基本構造に対応する第2のq値の組合せが作成できた場合、作成した第2のq値の組合せを、記憶部11又は制御部12により保持される第2のq値の組合せのデータ群に追加する。
【0278】
このような隣接する基本構造の検索処理について、
図13A、
図13B、
図16A、
図16B、
図19、
図20を用いて説明する。
図13A及び
図13Bに示される基本構造は、記憶部11又は制御部12により保持されているデータ群に含まれる第2のq値の組合せPに対応する基本構造Pであるとする。基本構造Pの中央の枝(実線)には、q値(q
i、q
j)が対応付けられている。また、基本構造Pは、q値(q
i、q
j、q
k)が対応付けられた頂点と、q値(q
i、q
j、q
l)が対応付けられた頂点を持つ。なお、q
k≦q
lが成立しているとする。
【0279】
この時、組合せ関連付け部33は、基本構造Pに隣接する基本構造を基本構造のデータ群から検索する。該処理の例として、
図16A及び
図20に示される基本構造Q又は基本構造Q
A、すなわち、q値(q
i、q
j、q
l)が対応付けられた頂点を基本構造Pと共有する、基本構造Pに連結する右上の枝又は右下の枝の基本構造を、組合せ関連付け部33が基本構造のデータ群から検索する例を説明する。なお、
図20は、q
k=q
lの場合を例示するものであるため、q
lはq
kに置き換えられている。
【0280】
基本構造Q又は基本構造Q
Aの枝には、3つのq値(q
i、q
j、q
l)のうちいずれか2つの要素が対応付けられている。なお、基本構造Q又は基本構造Q
Aの枝にq値(q
i、q
j)が対応付けられているとすると、基本構造Q又は基本構造Q
Aと基本構造Pは一致する。そのため、基本構造Q又は基本構造Q
Aの枝にq値(q
i、q
j)が対応付けられているケースは、考慮しなくてよい。
図16A及び
図20では、基本構造Qの枝には、q値(q
i、q
l)が対応付けられている。また、基本構造Q
Aには、q値(q
j、q
l)が対応付けられている。この時、
図16Aにおける基本構造Qの枝を、基本構造Pに連結される右上の枝と表記する。また、
図16Aにおける基本構造Q
Aの枝を、基本構造Pに連結される右下の枝と表記する。
【0281】
図13A及び
図13Bに例示された基本構造が基本構造Pであるとすると、枝Bは、基本構造Pに連結される右上の枝である。また、枝Cは、基本構造Pに連結される右下の枝である。
【0282】
また、
図13Bに例示される基本構造が基本構造Pであるとすると、基本構造Pの枝は向きを持たないため、基本構造Pは左右対称となり、関連付けにより得られるトポグラフも左右対称となる。よって、基本構造Pに連結される枝も左右対称となる。
【0283】
組合せ関連付け部33は、基本構造Pの頂点に対応付けられたq値(q
i、q
j、q
l
)有し、かつ、q値(q
i、q
j)が対応付けられた枝を有する基本構造Qを基本構造のデータ群から検索する。また、組合せ関連付け部33は、基本構造Pの頂点に対応付けられたq値(q
i、q
j、q
l)有し、かつ、q値(q
j、q
l)が対応付けられた枝を有する基本構造Q
Aを基本構造のデータ群から検索する。
【0284】
[数6]より、基本構造Pに連結される右上の枝の基本構造Qは、q
i、q
j、q
lの他、以下の[数37]で示されるq
mを有する。
【0286】
また、[数6]より、基本構造Pに連結される右下の枝の基本構造Q
Aは、q
i、q
j、q
lの他、以下の[数38]で示されるq
nを有する。
【0288】
なお、[数37]及び[数38]における等号付き不等
号は、[数6]とq
k≦q
lから導かれる。また、[数37]及び[数38]における不等号「>」は、q値が正であること(例えば、[数12]及び[数32])から導かれる。
【0289】
[数37]及び[数38]より、基本構造Pに連結される右上の枝、及び、基本構造Pに連結される右下の枝の向きは、基本構造Q及び基本構造Q
Aと基本構造Pが共有する頂点から離れる方向であることが示される。これは、「トポグラフの任意の頂点において、該頂点に接続する3つの枝のうち少なくとも2つの枝は、該頂点から離れる方向を向いている」という数学的事実も示す。
【0290】
次に、隣接する基本構造の検索処理の実装例について具体例を挙げて説明する。
【0291】
まず、組合せ関連付け部33は、基本構造Pの右側に隣接する基本構造(
図16Aにおける基本構造Q及び基本構造Q
A)を基本構造のデータ群から検索する。なお、組合せ関連付け部33が基本構造のデータ群から基本構造Qを検索する動作と、基本構造Q
Aを検索する動作は同様に説明できる。よって、以下では、組合せ関連付け部33が基本構造のデータ群から基本構造Qを検索する動作を説明し、基本構造Q
Aについての説明は省略する。
【0292】
記憶部11又は制御部12は、第2のq値の組合せを、[数34]及び[数35]に示されたサイズ4の整数型配列データとして保持している。更に、[数34]及び[数35]によって示されるように、該配列データ{i、j、k、l}は、i≦j、q
k≦q
lとなるように整列され、記憶部11又は制御部12に保持されている。なお、q値取得部31により保持されたq値の配列は小さい順にソートされているため、k≠−1、かつ、l≠−1ならば、k≦lも成立する。
【0293】
記憶部11又は制御部12は、基本構造Pに対応する配列データP{i、j、k、l}を保持する。この時、組合せ関連付け部33は、記憶部11又は制御部12が保持する基本構造のデータ群から、配列データの1番目の要素がi、2番目の要素がl、及び、3番目の要素がjとなる配列データQを検索する。
【0294】
検索した配列データQについて、i、j、及び、lが−1でない場合、配列データP及
び配列データQの要素i、j、及び、lにより参照されるq値がそれぞれ互いに一致する。よって、基本構造Pと基本構造Qは、共通のq値(q
i、q
j、q
l)を有する。したがって、この場合、組合せ関連付け部33は、検索した配列データQを、配列データPに連結される右上の枝の基本構造に対応する配列データであると特定する。
【0295】
他方、i、j、及び、lのうち−1に等しいものが存在する場合、組合せ関連付け部3
3は、配列データPの要素により参照されるq値を用いて、[数37]のq
mを計算する。そして、組合せ関連付け部33は、検索した配列データQの4番目の要素が参照するq値と計算したq
mとがユーザにより設定可能な閾値の範囲で近似又は合致しているか否かを判定する。組合せ関連付け部33は、配列データQの4番目の要素が参照するq値がユーザにより設定可能な閾値の範囲でq
mに近似又は合致していると判定した場合、検索した配列Qを、配列データPに連結される右上の枝の基本構造に対応する配列データであると特定する。
【0296】
次に、組合せ関連付け部33は、基本構造Pの左側に隣接する基本構造(
図16A、
図16B、及び、
図19における基本構造R、基本構造P
A、及び、基本構造P
B)を基本構造のデータ群から検索する。基本構造Pが、
図16A、
図16B、
図19において示されるような、枝が向きを持つ基本構造であるならば、基本構造Pは左右対称ではないため、基本構造Pの右側に隣接する基本構造と、基本構造Pの左側に隣接する基本構造とは異なり得る。そのため、組合せ関連付け部33は、基本構造Pの左側に隣接する基本構造を基本構造のデータ群から検索する。
【0297】
基本構造Pの枝が向きを持つ場合、基本構造Pの左右の領域に割り当てられているq
kとq
lの間に、q
k<q
lの関係が成立する。組合せ関連付け部33は、q値(q
i、q
j、q
k)が対応付けられた頂点を基本構造Pと共有する基本構造を基本構造のデータ群から検索する。
【0298】
検索された基本構造が有する枝に(q
i、q
k)が対応付けられている場合、検索された基本構造は、
図16Aにおける基本構造R、すなわち、基本構造Pに連結された左上の枝の基本構造である。また、検索された基本構造が有する枝に(q
j、q
k)が対応付けられている場合、検索された基本構造は、
図16Aにおける基本構造P
A、すなわち、基本構造Pに連結された左下の枝の基本構造である。この時、
図16Aにおける基本構造R(
図19におけるP
B)の枝を、基本構造Pに連結される左上の枝と表記する。また、
図16Aにおける基本構造P
Aの枝を、基本構造Pに連結される左下の枝と表記する。
【0299】
[数6]により、基本構造Pに連結される左上の枝の基本構造R(
図19におけるP
B)は、q
i、q
j、q
kの他、以下の[数39]で示されるq
sを有する。
【0301】
また、[数6]により、基本構造Pに連結される左下の枝の基本構造P
Aは、q
i、q
j、q
kの他、以下の[数40]で示されるq
tを有する。
【0303】
基本構造Pの右側に隣接する基本構造の場合とは異なり、16A、
図16B、
図19において示されるように、基本構造Pの左側に隣接する基本構造の持つ枝の向きは、何パターンかに分かれる。このため、基本構造Pの右側に隣接する基本構造の検索処理と、基本構造Pの左側に隣接する基本構造の検索処理は、一部異なる。
【0304】
なお、組合せ関連付け部33における、基本構造Pに連結される左下の枝の基本構造の検索処理と、基本構造Pに連結される左上の枝の基本構造の検索処理は同様に説明できる。よって、以下では、基本構造Pに連結される左下の枝の基本構造の検索処理を説明し、基本構造Pに連結される左上の枝の基本構造の検索処理についての説明は省略する。
【0305】
記憶部11又は制御部12は、基本構造Pに対応する配列データP{i、j、k、l}を保持する。この時、組合せ関連付け部33は、配列データPの参照値により示されるq値を用いて、[数39]で示されるq
sを算出する。そして、組合せ関連付け部33は、参照値jにより示されるq
jと算出したq
sを比較する。
【0306】
比較の結果、q
j≦q
sである場合、組合せ関連付け部33は、1番目がmin(j、k
)、2番目がmax(j、k)、3番目がiとなる配列データを基本構造のデータ群から検
索する。
【0307】
もし、i、j、kが−1に等しくなければ、組合せ関連付け部33は、検索した配列デ
ータを、基本構造Pに連結される左下の枝の基本構造に対応する配列データであると特定する。
【0308】
また、i、j、kのうち−1と等しいものが存在すれば、組合せ関連付け部33は、検
索された配列データの4番目の要素により参照されるq値を取得する。次いで、組合せ関連付け部33は、検索した配列データの4番目の要素が参照するq値と算出したq
sとがユーザにより設定可能な閾値の範囲で近似又は合致しているか否かを判定する。そして、組合せ関連付け部33は、配列データの4番目の要素が参照するq値がユーザにより設定可能な閾値の範囲でq
sに近似又は合致していると判定した場合、検索した配列を、配列データPに連結される左下の枝の基本構造に対応する配列データであると特定する。
【0309】
一方、比較の結果、q
j>q
sである場合、組合せ関連付け部33は、1番目がmin(
j、k)、2番目がmax(j、k)、4番目がiとなる配列データを基本構造のデータ群
から検索する。
【0310】
もし、i、j、kが−1に等しくなければ、組合せ関連付け部33は、検索した配列デ
ータを、基本構造Pに連結される左下の枝の基本構造に対応する配列データであると特定する。
【0311】
また、i、j、kのうち−1と等しいものが存在すれば、組合せ関連付け部33は、検
索された配列データの3番目の要素により参照されるq値を取得する。次いで、組合せ関連付け部33は、検索した配列データの3番目の要素が参照するq値と算出したq
sとがユーザにより設定可能な閾値の範囲で近似又は合致しているか否かを判定する。そして、組合せ関連付け部33は、配列データの3番目の要素が参照するq値がユーザにより設定可能な閾値の範囲でq
sに近似又は合致していると判定した場合、検索した配列を、配列データPに連結される左下の枝の基本構造に対応する配列データであると特定する。
【0312】
他方、基本構造Pが、
図20において示されるような、左右対称の基本構造であるならば、上記検索によって得られる右上の枝の基本構造は、基本構造Pに連結される左上の枝の基本構造と一致する。また、基本構造Pに連結される右下の枝の基本構造は、基本構造
Pに連結される左下の枝の基本構造と一致する。そのため、組合せ関連付け部33は、基本構造Pの左側に隣接する基本構造の検索を実行しなくても、基本構造Pに連結される全ての基本構造を取得することができる。
【0313】
なお、組合せ関連付け部33による上記検索処理を高速化するため、基本構造のデータ群を予め順序付けをしておいてもよい。基本構造Pの右側に隣接する基本構造を検索するためには、例えば、[数41]に示される順序付けが適している。
【0315】
また、基本構造Pの左側に隣接する基本構造を検索するためには、例えば、[数42]に示される順序付けが適している。
【0317】
記憶部11又は制御部12は、上記どちらの順序付けがされた基本構造のデータ群を保持してもよい。また、記憶部11又は制御部12は、各順序付けがされた基本構造のデータ群を保持してもよい。この時、組合せ関連付け部33は、実行する検索処理に適した基本構造のデータ群を選択してもよい。
【0318】
(基本構造の隣接関係の保持と関連付け処理)
組合せ関連付け部33は、上記のようにして、記憶部11又は制御部12により保持される基本構造のデータ群に含まれる各基本構造に対して、該基本構造に隣接する基本構造を該データ群から検索する。該検索結果を保持するために、本実施形態では、基本構造のデータ群に含まれる各基本構造に対して、「基本構造に連結される右上の枝の基本構造の配列データ」、「基本構造に連結される右下の枝の基本構造の配列データ」、「基本構造に連結される左下の枝の基本構造の配列データ」、「基本構造に連結される左上の枝の基本構造の配列データ」の4つのデータに参照するための参照型配列データが用いられる。つまり、記憶部11又は制御部12は、基本構造のデータ群に含まれる各基本構造に対して、基本構造に連結される各基本構造の配列データを参照するための参照型変数を格納した配列データを保持する。このデータにより、上記検索処理終了後、組合せ関連付け部33は、各基本構造の隣接関係を取得することが可能となる。
【0319】
上述した組合せ関連付け部33による各基本構造に隣接する基本構造の検索処理は、各基本構造に連結させる基本構造の検索処理にも該当する。組合せ関連付け部33は、各基本構造に対して、該各基本構造に隣接する基本構造を関連付ける。当該処理は、トポグラ
フでは、組合せ関連付け部33による関連付けにより、各基本構造に隣接する基本構造が、該各基本構造の右上の枝、右下の枝、左下の枝、又は、左上の枝として連結されることに該当する。当該状態を、
図21A及び
図21Bにより例示する。
【0320】
図21Aは、
図16Aにより示される基本構造Q及び基本構造Q
Aが、基本構造Pの右上の枝及び右下の枝として連結された状態を例示する。また、
図21Bは、
図20により示される基本構造Q及び基本構造Q
Aが、基本構造Pの右上の枝及び右下の枝として連結された状態を例示する。
【0321】
先に説明したとおり、組合せ関連付け部33は、関連付けの処理(各基本構造に隣接する基本構造を検索する処理)により、各関連付けの根となる基本構造を特定することができる。そして、組合せ関連付け部33は、該各関連付けの根となる基本構造を中心に各基本構造を連結することで、基本構造を、いくつかの集合(関連付けに係る集合)にまとめることができる。
【0322】
まず、組合せ関連付け部33は、
図21A、
図21B、及び、
図22に示されるように、関連付けの根となる基本構造を中心に、基本構造に連結される右上の枝の基本構造、及び、基本構造に連結される右下の枝の基本構造の連結を繰り返す。基本構造に連結される右上の枝の基本構造が複数存在する場合、組合せ関連付け部33は、連結対象の基本構造に任意の基本構造を連結させる。例えば、組合せ関連付け部33は、該連結処理がより多く繰り返される基本構造を選択して、基本構造に連結される右上の枝の基本構造を該基本構造に連結させる。該連結処理は、基本構造に連結される右下の枝の基本構造についても同様である。
【0323】
図21Aは、向きを持たない枝を有する関連付けの根となる基本構造に、該基本構造に連結される右上の枝の基本構造と、該基本構造に連結される右下の枝の基本構造とを連結させた状態を例示する。
【0324】
また、
図21Bは、向きを持たない枝を有する関連付けの根となる基本構造に、該基本構造に連結される右上の枝の基本構造と、該基本構造に連結される右下の枝の基本構造とを連結させた状態を例示する。
【0325】
更に、
図22は、
図21A及び
図21Bにより示される連結処理を繰り返した状態と、該状態に対応するデータを例示する。つまり、
図22は、関連付けの根となる基本構造を中心に、基本構造に連結される右上の枝の基本構造、及び、基本構造に連結される右下の枝の基本構造の連結を繰り返すことにより得られるトポグラフ(実線)と、該トポグラフに対応するデータ(二分木データ)を例示する。
【0326】
なお、
図22に示される二分木データは、関連付けの根となる基本構造を根ノードとし、基本構造の枝に対応付けられたq値の参照値を各ノードに格納するデータである。
図22に示される二分木データにおけるノードの連結は、トポグラフにおける枝の連結に対応する。関連付けの根となる基本構造からの基本構造に連結される右上の枝の基本構造、及び、基本構造に連結される右下の枝の基本構造の連結の繰り返しにより、組合せ関連付け部33は、
図22に示される二分木データを得ることができる。
【0327】
関連付けの根となる基本構造の枝が向きを持たない場合、関連付けにより得られるトポグラフは左右対称であるため、この処理で、関連付けに係る処理は終了する。
【0328】
図23は、関連付けの根となる基本構造の枝が向きを持たない場合に、該関連付けにより得られた二分木データを例示する。基本構造に連結される右上の枝の基本構造、及び、
基本構造に連結される右下の枝の基本構造の連結処理で、関連付けに係る処理は終了するため、得られた二分木データは、
図22と同様である。
【0329】
次に、関連付けの根となる基本構造の枝が向きを持つ場合、組合せ関連付け部33は、基本構造に連結される左上の枝の基本構造、及び、基本構造に連結される左下の枝の基本構造についても同様の連結処理を行う。なお、この時、組合せ関連付け部33は、関連付けの根となる基本構造に連結される左上の枝の基本構造群と、関連付けの根となる基本構造に連結される左下の枝の基本構造群と、別々の二分木データを作成する。
【0330】
図24は、
図19に示される基本構造Pについて連結処理を行ったことにより作成されるトポグラフと、二分木データを例示する。組合せ関連付け部33は、関連付けの根となる基本構造Pに連結される左上の枝の基本構造群について、基本構造Pに直接連結される左上の枝の基本構造P
Bの枝に対応付けられたq値の参照値(i、k)を根ノードとする二分木データを作成する。また、組合せ関連付け部33は、関連付けの根となる基本構造Pに連結される左下の枝の基本構造群について、基本構造Pに直接連結される左下の枝の基本構造P
Aの枝に対応付けられたq値の参照値(j、k)を根ノードとする二分木データを作成する。
【0331】
このように、組合せ関連付け部33は、関連付けの根となる基本構造の枝が方向を持ち、かつ、関連付けの根となる基本構造が湧き出しとなる頂点を持つ場合、湧き出しとなる頂点に接続する枝ごとに二分木データを作成する。すなわち、組合せ関連付け部33は、3つの二分木データを作成する。ただし、該3つの二分木データは、ともに、同じ関連付けに係る二分木データである。そのため、組合せ関連付け部33は、該3つの二分木データを、同じ関連付けに係るデータとして1つにまとめる。
【0332】
一方、関連付けの根となる基本構造の枝が方向を持つが、関連付けの根となる基本構造が湧き出しとなる頂点を持たない場合がある。それは、
図16A及び
図16Bにおいて、基本構造Rが取得できない場合である。
【0333】
この場合、組合せ関連付け部33は、
図16A及び
図16Bにおける基本構造P
Aより先の基本構造について、上記連結処理を実行する。これにより、2つの二分木データが作成される。この時、組合せ関連付け部33は、上記の場合と同様に、該2つの二分木データを1つにまとめる。
【0334】
なお、組合せ関連付け部33は、2つの二分木データを1つの二分木データにまとめることにより、2つの二分木データを1つにまとめてもよい。
図25は、2つの二分木データを1つの二分木データにまとめた例を示す。このように、組合せ関連付け部33は、取得できなかった基本構造(
図16A及び
図16Bにおける基本構造R)の枝に対応付けられるべきq値の参照値(i、k)を根ノードとして、2つの二分木データをまとめてもよい。
【0335】
このように、基本構造の連結及び二分木データをまとめることにより、組合せ関連付け部33は、関連付けの根となる基本構造を出発点として、関連付けに係る集合(関連付けの根となる基本構造根ノードとする、ひとまとまりの二分木データ)を取得することができる。
【0336】
この時、基本構造のデータ群に含まれる各基本構造は、少なくとも1つの集合(関連付けに係る集合)に含まれる。一方で、複数の集合(関連付けに係る集合)に含まれる基本構造が存在する。これは、q値取得部31によって取得されるq値が、誤差を持って取得されることに起因する。
【0337】
なお、組合せ関連付け部33により作成される二分木データは、情報処理装置1が備える表示装置に表示されてもよいし、画像データとして記憶部11に保存されてもよい。これにより、ユーザは、実行された関連付けの情報を得ることができる。
【0338】
また、このように、組合せ関連付け部33は、関連付けの根となる基本構造以外の基本構造については、「該基本構造に連結される右上の枝の基本構造の配列データ」と「該基本構造に連結される右下の枝の基本構造の配列データ」しか参照しない。そのため、関連付けの根となる基本構造以外の基本構造についての隣接関係に係る配列データは、「基本構造に連結される右上の枝の基本構造の配列データを参照するための参照型変数」と「基本構造に連結される右下の枝の基本構造の配列データを参照するための参照型変数」のみを有するデータであってもよい。
【0339】
<ステップ106>
次に、
図8で示されるように、ステップ106では、関連付け比較部34によって、組合せ関連付け部33の行った関連付けにより得られた基本構造の集合(1つのトポグラフに対応する)がそれぞれ比較される。すなわち、関連付け比較部34は、組合せ関連付け部33により関連付けられた第2のq値の組合せの集合に含まれる異なるq値の数を数え、それぞれの関連付けに係る集合に対して、該数による比較を実行する。なお、関連付け比較部34は、異なるq値の数を数えるとき、q値取得部31により取得されたq値の集合に含まれるq値のみを数えてもよい。組合せ関連付け部33の行った関連付けにより得られた基本構造の集合を、以下、関連付けに係る集合とも表記する。
【0340】
ステップ105の(関連付けとトポグラフ)において説明したとおり、基本構造(第2のq値の組合せ)の集合に含まれる異なるq値が多ければ多いほど、該集合に含まれる第2のq値の組合せを用いて、求める逆格子の基底を形成できる可能性が高い。よって、本実施形態では、関連付け比較部34は、各関連付けに係る集合についての該可能性の高低を比較するため、関連付けにより得られた各関連付けに係る集合に含まれる異なるq値の数を比較する。
【0341】
そして、関連付け比較部34は、当該比較の結果に基づいて、含まれる異なるq値の数が多い順に、関連付けに係る集合を順位付けする。先に述べた理由により、この順位が高いほど、関連付けに係る集合に含まれる基本構造により共通に示唆される2次元部分格子が、実際に求めたい逆格子に含まれている可能性が高い。また、該順位が高いほど、関連付けに係る集合に含まれる基本構造により共通に示唆される2次元部分格子の基底が、ある逆格子の基底の部分集合を与えている可能性が高い。そこで、本実施形態では、当該順位の高い関連付けに係る集合に含まれる基本構造に対応する第2のq値の組合せが格子定数の候補の取得に優先的に利用される。なお、当該順位は、以上の理由から、優先度と呼ばれてもよい。
【0342】
なお、関連付け比較部34は、当該順位に従い、予め定められた順位を超える関連付けに係る集合に含まれる基本構造に対応する第2のq値の組合せ(具体的には、[数34]及び[数35]の配列)のみを、ステップ107において使用してもよい。すなわち、関連付け比較部34は、当該順位に従い、予め定められた順位以下の関連付けに係る集合に含まれる基本構造に対応する第2のq値の組合せに係るデータを除外してもよい。該除外は、記憶部11又は制御部12により保持されているデータを削除することにより実現されてもよいし、該除外対象のデータが記憶部11又は制御部12により保持されたままで、処理に使用されないことによって実現されてもよい。
【0343】
<ステップ107>
次に、
図8に示されるとおり、ステップ107では、格子定数候補取得部35により、3次元の結晶格子の格子定数の候補が求められ、取得される。格子定数候補取得部35は、格子定数の候補を求めるために、第2のq値の組合せを更に組合せて、結晶格子の逆格子の基底を形成する可能性のある第3のq値の組合せを取得する。そして、格子定数候補取得部35は、当該第3のq値の組合せに含まれるq値を用いて、3次元の結晶格子の格子定数の候補を求める。
【0344】
このとき、例えば、格子定数候補取得部35は、関連付け比較部34によって定められた順位づけに基づいて、第3のq値の組合せを得るために用いる第2のq値の組合せを選別してもよい。例えば、格子定数候補取得部35は、所定の順位までのトポグラフ(関連付けに係る集合)に含まれる基本構造に対応する第2のq値の組合せを更に組合せることにより、第3のq値の組合せを取得してもよい。
【0345】
また、例えば、関連付け比較部34の処理によって、予め定められた順位以下のトポグラフ(関連付けに係る集合)に含まれる基本構造に対応する第2のq値の組合せ(具体的には、[数34]及び[数35]の配列)は除外されている場合がある。この場合、格子定数候補取得部35は、関連付け比較部34の処理により除外されなかった第2のq値の組合せを用いて、第3のq値の組合せを取得してもよい。
【0346】
なお、基本構造(第2のq値の組合せ)は、複数のトポグラフ(関連付けに係る集合)に含まれる場合がある。この時、該基本構造を含むあるトポグラフは予め定められた順位以下の順位であり、該基本構造を含む他のトポグラフは予め定められた順位を超える順位である場合がある。この場合、該基本構造に対応する第2のq値の組合せは、除外されてもよいし、除外されなくてもよい。すなわち、格子定数候補取得部35は、該基本構造に対応する第2のq値の組合せを、第3のq値の組合せの取得に使用してもよいし、使用しなくてもよい。
【0347】
格子定数候補取得部35は、以上のような取捨選択により選択された第2のq値の組合せの中から、
図26の条件を満たす4つの基本構造(第2のq値の組合せ)を検索する。
図26は、第2のq値の組合せを用いて取得される第3のq値の組合せを例示する。該処理に用いられる第2のq値の組合せは、第3のq値の組合せを取得する時に実施する上記検索を速く実行するため、予め順序付けされていてもよい。この検索には、上記の[数41]で与えられる順序が適している。
【0348】
格子定数候補取得部35は、例えば、基本構造のデータ群に含まれる基本構造をランダムに当てはめることにより、
図26の条件を満たす4つの基本構造を特定してもよい。
【0349】
また、格子定数候補取得部35は、例えば、基本構造のデータ群に含まれる任意の基本構造を
図26の左上の基本構造に割り当て、q値の集合(参照値が−1のq値も含む)に
含まれる任意のq値の組を
図26の|K
3|
2、|K
1+K
2+K
3|
2に割り当てる。
【0350】
この時、格子定数候補取得部35は、割り当てる基本構造及びq値の組に対して、以下の[数43]のような数学的に必ず成立している不等式を満たすことを要請して、探索範囲を小さくしてもよい。
【0352】
つまり、格子定数候補取得部35は、[数43]を満たす基本構造及びq値の組を、基
本構造のデータ群及びq値の集合から取得し、取得した基本構造を
図26の左上の基本構造に、取得したq値の組を
図26の|K
3|
2、|K
1+K
2+K
3|
2に割り当ててもよい。これにより、探索範囲が小さくなるため、格子定数候補取得部35は、
図26の左上の基本構造、|K
3|
2、|K
1+K
2+K
3|
2に割り当てる基本構造とq値の組を、基本構造のデータ群とq値の集合からより早く取得することができる。
【0353】
次に、格子定数候補取得部35は、
図26の左上の基本構造に割り当てた基本構造の|K
1|
2に該当するq値と、
図26の|K
3|
2に割り当てたq値を用いて、
図26に示される左下の基本構造を基本構造のデータ群から検索する。そして、格子定数候補取得部35は、検索した基本構造を
図26に示される左下の基本構造に割り当てる。
【0354】
更に、格子定数候補取得部35は、
図26に示される左側の基本構造に割り当てられた基本構造に含まれるq値と、
図26の|K
3|
2、|K
1+K
2+K
3|
2に割り当てたq値を用いて、
図26に示される右側の基本構造を基本構造のデータ群から検索する。例えば、格子定数候補取得部35は、|K
1+K
2|
2、|K
3|
2、|K
1+K
2+K
3|
2に対応するq値とそれぞれ一致するq値をもつ基本構造を基本構造のデータ群から検索することで、
図26に示される右上の基本構造を検索する。また、例えば、格子定数候補取得部35は、|K
1+K
3|
2、|K
2|
2、|K
1+K
2+K
3|
2に対応するq値とそれぞれ一致するq値をもつ基本構造を基本構造のデータ群から検索することで、
図26に示される右下の基本構造を検索する。 これにより、格子定数候補取得部35は、基本構造のデータ群に含まれる基本構造について、
図26の条件を満たす4つの基本構造を特定してもよい。
【0355】
なお、格子定数候補取得部35は、
図26の第3のq値の組合せの取得に用いる第2のq値の組合せは、一つ以下の観測されていないq値を含んでもよい。すなわち、第3のq値の組合せには、
図10Aに示されるような基本構造が含まれてもよい。
【0356】
さらに、格子定数候補取得部35は、
図26の4つの基本構造に対して、左右の基本構造のペアに共通するq値|K
1+K
2|
2と|K
1+K
3|
2は、q値取得部31によって求められたq値に含まれているという条件を設定してもよい。当該条件は、求める結晶格子の逆格子に一致する格子を形成する第3のq値の組合せにおいて多くの場合に成立し、かつ、そうではない第3のq値の組合せを排除する効果を有する。そのため、当該条件は、第3のq値の組合せの取得効率を高めるのに有効である。
【0357】
格子定数候補取得部35は、これまでの処理により、第2のq値の組合せを用いて、第3のq値の組合せを取得する。そして、格子定数候補取得部35は、取得した第3のq値の組合せについて、以下の[数44]を適用して、格子定数の候補を求める。なお、具体的には、[数1]、[数2]及び[数44]に示されるとおり、逆格子のグラム行列を経由して、格子定数の候補が求められ、取得される。
【0359】
なお、格子定数候補取得部35は、取得された第3のqの組合せすべてに対してこのような処理を繰り返し行い、取得される格子定数の候補を全て保存してもよい。これは、粉末指数付けにおいて、適度に合う格子定数を全て求める動作が望まれるためである。このような動作が望まれる理由として、理論上でも解の一意性が成立しないこと、及び、ピークサーチによって得られたピーク位置に誤差があることに起因して、計算値と実際のq値がずれることが挙げられる。ただし、[数44]の行列式が正でない値を取る格子定数の候補、及び、[数29]、[数30]によって与えられるq値の誤差から求めることができる行列式の推定誤差が行列式よりも大きい格子定数の候補は、格子定数を与えるグラム行列として明らかに不正である。そのため、格子定数候補取得部35は、これらの格子定数の候補を取得する格子定数の候補から除外する。
【0360】
また、格子定数候補取得部35は、[数44]の行列式が正である格子定数の候補を全て取得してもよいが、任意の方法で、取得する格子定数の候補を選別してもよい。
【0361】
例えば、格子定数候補取得部35は、[数44]で示される行列の行列式の値が小さければ小さいほど、該行列式に係る格子定数の候補が求める格子定数である可能性が高いという性質を用いて、取得する格子定数の候補を選別してもよい。この時、例えば、格子定数候補取得部35は、[数44]で示される行列の行列式の値が小さい順に、格子定数の候補を記憶部11又は制御部12に保持させる。該保持させる格子定数の候補の数をユーザにより変更可能な設定値に限定することで、格子定数候補取得部35は、取得する格子定数の候補を選別してもよい。
【0362】
また、[数44]で示される行列の行列式の値が小さければ小さいほど、単位胞の体積は大きい。よって、該処理を言い換えると、格子定数候補取得部35は、単位胞の体積が大きい順に、格子定数の候補を記憶部11又は制御部12に保持させてもよい。そして、保持させる格子定数の候補の数をユーザにより変更可能な設定値に限定することで、格子定数候補取得部35は、取得する格子定数の候補を選別してもよい。
【0363】
なお、保持させる格子定数の候補の数を定める設定値は、記憶部11に格納されるプログラム等で予め設定されていてもよい。また、該設定値は、情報処理装置1のユーザインタフェースを介した入力により、設定又は変更されてもよい。
【0364】
また、ステップ101において取得される入力データには、結晶格子の格子点間の距離の最小値、又は、単位胞の体積の最小値を定める情報が含まれている場合がある。この時、格子定数候補取得部35は、求めた格子定数の候補についてそれぞれ、
図2に示される結晶格子を求める。そして、格子定数候補取得部35は、求めたそれぞれの結晶格子について、格子点間の距離の最小値、又は、単位胞の体積を求める。これによって、格子定数候補取得部35は、ステップ101において取得される入力データに含まれる情報によって定められる結晶格子の格子点間の距離の取りうる最小値、また、単位胞の体積の取りうる最小値よりも小さな値を与える結晶格子の候補を除去してもよい。
【0365】
また、格子定数候補取得部35は、求めた格子定数の候補により特定される3次元格子の逆格子の7つの格子点に対応する逆格子ベクトルの長さの二乗(|K
1|
2、|K
2|
2、|K
3|
2、|K
1+K
2+K
3|
2、|K
1+K
2|
2、|K
1+K
3|
2、|K
2+K
3|
2)を、
図27で示されるデータ形式で制御部12に保持させてもよい。
【0366】
<ステップ108>
次に、
図8で示されるとおり、ステップ108では、格子定数簡約部37によって、各格子定数の簡約が実行される。本実施形態では、格子定数簡約部37は、格子定数候補取
得部35によって得られた格子定数候補を、ゼリング簡約(Selling reduced)、及び、
ミンコフスキー簡約(Minkowski reduced)と呼ばれる二つの簡約形に変換する。
【0367】
ゼリング簡約は、以下の[数45]により示される条件を満たす3次対称行列である。
【0369】
このゼリング簡約であることの条件は、[数46]のように、言い換えることができる。ただし、行列Zを[数47]のように取る。
【0372】
また、ミンコフスキー簡約は、ディリクレ簡約(Dirichlet reduced)とも呼ばれ、以
下の[数48]により示される条件を満たす3次対称行列である。
【0374】
いずれの簡約においても、一つの格子定数が異なる簡約形を複数もつことが起こり得る。格子定数簡約部37は、LLLアルゴリズム、又は、ゼリングによる簡約アルゴリズムにより、格子定数の候補をそれぞれゼリング簡約形に変換する。
【0375】
また、格子定数簡約部37は、当該ゼリング簡約形に変換した格子定数の候補を、非特許文献7に示される方法によって、ミンコフスキー簡約形に変換する。
【0376】
<ステップ109>
次に、
図8で示されるとおり、ステップ109では、指数付け部36によって、指数付けが行われる。指数付け部36は、ステップ108で求められた格子定数の候補(s
11、s
22、s
33、s
12、s
13、及びs
23([数2]))のゼリング簡約形を用いて、指数付けを行う。
【0377】
指数付け部36は、例えば、ゼリング簡約形に変換された該格子定数の候補を[数3]に適用したときに、q値取得部31によって求められたq
1、・・・、q
nにもっとも近いq値を与えるミラー指数(h
i、k
i、l
i)(1≦i≦n)をそれぞれ決定する(指数付け)。
【0378】
この時、指数付け部36は、ゼリング簡約形からミンコフスキー簡約形に変換する行列を用いて、決定したミラー指数(h
i、k
i、l
i)(1≦i≦n)をミンコフスキー簡約形に変換された格子定数の候補から決定されるミラー指数に変換してもよい。
【0379】
なお、指数付け部36は、上記ステップ108よりも先に、該処理を実行してもよい。この時、指数付け部36は、ゼリング簡約形を用いず、ステップ107で求められた格子定数の候補をそのまま用いて、指数付けを行ってもよい。
【0380】
具体的には、指数付け部36は、まず、q値取得部31によって取得されたq値の最大値q
maxの[数28]で与えられる分散を用いて、以下の[数49]のQ
maxを算出する。なお、q値は、小さい順にソートされているため、本実施形態では、値q
maxは値q
nに該当する。
【0382】
そして、指数付け部36は、q≦Q
maxの範囲のq値を与えるようなミラー指数(h
i
、k
i、l
i)(1≦i≦n)を求めることにより、ミラー指数を特定してもよい。
【0383】
一般に、指数付け部36は、[数46]のように与えられたs
ij(1≦i<j≦4)を用いると、ミラー指数(h、k、l)に対応するq値を[数50]により計算できる。
【0385】
格子定数の候補はゼリング簡約形に変換されているため、上記のs
ij(1≦i<j≦4)は全てが非負の値を取る。したがって、q≦Q
maxの範囲のq値に対応するミラー指
数(h、k、l)は以下の[数51]を全て満たす。
【0387】
この時、s
ij=0が一部の1≦i<j≦4で成立している可能性がある。しかしながら、ある格子定数に対して[数5]が成立しているようなグラム行列において、指数付け部36は、[数51]全体から、h、k、l、h−l、k−l、h−lが含まれる有限区間を必ず取得できる。指数付け部36は、この有限区間に含まれる全てのミラー指数(h、k、l)を作成する。そして、指数付け部36は、各ミラー指数(h、k、l)とゼリング簡約形に変換された格子定数の候補を[数4]の右辺に代入し、q値を求める。指数付け部36は、このようにして求められるq値と観測値のq値を比較する。そして、観測値のq値にもっとも近いq値を与える整数の組合せをミラー指数(h
i、k
i、l
i)に決定する。
【0388】
また、指数付け部36は、当該指数付けと合わせて、性能指数(Figure of merit)を
求めてもよい。指数付け部36は、非特許文献8において定義されている性能指数F
Nを求める。当該性能指数は、得られた格子定数の候補と観測値とがどの程度整合的であるかを判定するものである。指数付け部36は、性能指数F
Nが大きい順、近接した格子定数の候補の数の多い順、単位胞の体積の大きい順などに、格子定数の候補をソートする機能を有してもよい。
【0389】
<ステップ110>
次に、ステップ110では、対称性判定部38によって、各格子定数が有する対称性が判定される。
【0390】
結晶格子の対称性は、ブラベー格子と呼ばれる14種類が存在し、それぞれ晶系と呼ばれる7種類の対称性と、単純、底心、体心、面心の4種類の対称性を組合せることによって分類される。
図28は、ブラベー格子の種類を示す。対称性判定部38は、この晶系と、単純、底心、体心、面心の別をそれぞれ判定することで、結晶格子の対称性を判定する。
【0391】
まず、対称性判定部38は、格子定数簡約部37によって求められたゼリング簡約形に変換された格子定数の候補を用いて、当該格子定数の候補によって特定される結晶格子の単純、底心、体心、面心、三方晶系を判定する。
【0392】
対称性判定部38は、格子定数の候補によって特定される結晶格子の単純、底心、体心、面心、三方晶系を判定するために、[数47]で示される行列Zを用いる。
【0393】
以下では、3行3列の行列Sの変換
tZSZを、S→
tZSZのように表す。なお、
tZは、行列Zの転置行列を表す。また、格子定数の候補によって特定される結晶格子は、最初、単純格子であると設定されているとする。
【0394】
(底心格子の判定)
格子定数の候補によって特定される結晶格子が底心格子であるか否かは、次のように判定される。
【0395】
格子定数の候補から特定されるグラム行列G([数1])が、以下の[数52]に示される条件を満たすとする。なお、Mは、行列式が1か−1の3行3列正c方行列である。また、min(A,B)は、AとBのうち小さい方の値を指す。
【0397】
[数52]に示される3つの同値条件のいずれかにおいて、M
TGMがゼリング簡約であることは、以下の[数53]の不等式が成立していることに等しい。
【0399】
更に、次の[数54]によって、グラム行列Gが底心格子であることは、グラム行列Gの逆行列G
−1が底心格子であることと同値である。
【0401】
そこで、G
−1に対して[数52]の同値条件を適用すると、いずれかの同値条件においてM
TG
−1Mがゼリング簡約であることの十分条件は、以下の[数55]で表現される。
【0403】
もし、[数53]と[数55]とがともに成立しないと仮定すると、[数56]が導かれ、該仮定は矛盾することになるので、[数53]と[数55]のいずれかは成立している。
【0405】
したがって、格子定数の候補によって特定される結晶格子が底心格子であることの同値条件は、グラム行列Gのゼリング簡約を与える格子基底K
1、K
2、K
3に対して、K
4=−(K
1+K
2+K
3)としたときに、ある添え字{i,j,k,l}={1,2,3,4}に対して[数57]または[数58]が成立していること、または、グラム行列Gの逆行列G
−1のゼリング簡約を与える逆格子基底K
1、K
2、K
3に対して、K
4=−(K
1+K
2+K
3)としたときに、ある添え字{i,j,k,l}={1,2,3,4}に対して[数57]または[数58]が成立していること、と表現される。
【0406】
すなわち、対称性判定部38は、ゼリング簡約形に変換された結晶格子および逆格子のグラム行列に基づいて、[数57]または[数58]が成立しているか否かを判定することにより、当該格子定数の候補によって特定される結晶格子が底心格子であるか否かを判定する。
【0409】
(体心格子の判定)
また、格子定数の候補によって特定される結晶格子が体心格子であるか否かは、逆格子のグラム行列G
−1のゼリング簡約を与える逆格子基底K
1、K
2、K
3に対して、K
4=−(K
1+K
2+K
3)としたときに、ある添え字{i,j,k,l}={1,2,3
,4}に対して以下の[数59]が成立するか否かによって判定される。
【0410】
したがって、対称性判定部38は、ゼリング簡約形に変換された逆格子のグラム行列に基づいて、[数59]が成立しているか否かを判定することにより、当該格子定数の候補によって特定される結晶格子が体心格子であるか否かを判定する。
【0412】
(面心格子の判定)
また、格子定数の候補から特定されるグラム行列G([数1])が、以下の[数60]に示される条件を満たすとする。なお、Mは、行列式が1か−1の3行3列正方行列である。
【0414】
このとき、
tMGMはゼリング簡約形となる。このことから、格子定数の候補によって特定される結晶格子が面心格子であるか否かは、以下の[数61]によって判定される。
【0415】
したがって、対称性判定部38は、ゼリング簡約形に変換された格子定数の候補について、[数61]が成立しているか否かを判定することにより、当該格子定数の候補によって特定される結晶格子が面心格子であるか否かを認識する。
【0417】
(三方晶系の判定)
格子定数の候補によって特定される結晶格子が三方晶系格子格子であるか否かは、次のように判定される。
【0418】
格子定数の候補から特定されるグラム行列G([数1])が、以下の[数62]に示される条件を満たすとする。なお、Mは、行列式が1か−1の3行3列正方行列である。また、min(A,B)は、AとBのうち小さい方の値を指す。
【0420】
[数62]に示される同値条件において、M
TGMがゼリング簡約であることは、以下の[数63]の不等式が成立していることに等しい。
【0422】
更に、グラム行列Gが三方晶系であることは、グラム行列Gの逆行列G
−1が三方晶系であることと同値である。これは、次の[数64]によって、表現される。
【0424】
そこで、G
−1に対して[数62]の同値条件を適用すると、ある行列M∈GL(3、Z)に対して、
tMG
−1Mがゼリング簡約であることの十分条件は、以下の[数65]で表現される。
【0426】
したがって、格子定数の候補によって特定される結晶格子が三方晶系であることの同値条件は、グラム行列Gのゼリング簡約を与える格子基底K
1、K
2、K
3に対して、K
4=−(K
1+K
2+K
3)としたときに、ある添え字{i,j,k,l}={1,2,3,4}に対して[数66]が成立していること、または、グラム行列Gの逆行列G
−1のゼリング簡約を与える逆格子基底K
1、K
2、K
3に対して、K
4=−(K
1+K
2+K
3)としたときに、ある添え字{i,j,k,l}={1,2,3,4}に対して[数66]が成立していること、と表現される。
【0427】
すなわち、対称性判定部38は、ゼリング簡約形に変換された結晶格子および逆格子のグラム行列に基づいて、[数66]が成立しているか否かを判定することにより、当該格子定数の候補によって特定される結晶格子が三方晶系であるか否かを判定する。
【0429】
(晶系の判定)
そして、対称性判定部38は、単純、底心、体心、面心、三方晶系の別を判定した後、ミンコフスキー簡約形に変換された格子定数の候補から三方晶系を除く晶系を判定する。対称性判定部38は、ミンコフスキー簡約形に変換された格子定数の候補(グラム行列の逆行列G
−1[数2])に対して、以下の[数67]、[数68]、[数69]、[数70]、[数71]における左辺と右辺の近似が成立するか否かを判定する。
【0435】
そして、対称性判定部38は、[数67]の近似が成立する場合、該当する格子定数を「単斜晶系(monoclinic)」の新たな候補として追加する。
【0436】
また、対称性判定部38は、[数68]の近似が成立する場合、該当する格子定数を「斜方晶系(orthorhombic)」の新たな候補として追加する。
【0437】
また、対称性判定部38は、[数69]の近似が成立する場合、該当する格子定数を「正方晶系(tetragonal)」の新たな候補として追加する。
【0438】
また、対称性判定部38は、[数70]の近似が成立する場合、該当する格子定数を「六方晶系(hexagonal)」の新たな候補として追加する。
【0439】
また、対称性判定部38は、[数71]の近似が成立する場合は、該当する格子定数を「立方晶系(cubic)」の新たな候補として追加する。
【0440】
また、最初に得た格子定数の候補は全て、「三斜晶系(triclinic)」の候補として保
存される。
【0441】
また、近似できるか否かは、例えば、行列の各要素の相対差([数20]参照)が所定の値よりも小さいか否かによって判定される。そして、対称性判定部38は、上記近似ができる場合、グラム行列の逆行列G
−1を各近似できる行列([数67]〜[数71]のいずれかの右辺の行列)に変換する。
【0442】
なお、ステップ109により求められた性能指数は、まったく同じ格子定数に対して求めたものであったとしても、仮定している結晶の晶系が変われば値が変わる。当該性能指数は、結晶の対称性が高くなるほど、大きな値となる。指数付けにおいては、高い対称性を持つ解は、実際の格子定数の解を与える可能性が高いため、該性能指数の値が大きいほど解としての優先度が高いと判断することにより、対称性の高い解を優先的に抽出することが可能である。したがって、指数付け部36は、上記晶系についての判定結果を用いて、性能指数を求めてもよい。
【0443】
ここで、逆格子ベクトル(h、k、l)のq値(Q(h、k、l))は、以下の[数72]により求めることができる。
【0445】
観測値q
1、・・・、q
nに対して、それぞれのq
iにもっとも近いQ(h、k、l)を与えるh、k、lをh
i、k
i、l
iとする(1≦i≦n)。なお、h、k、lは、整数である。このとき、指数付け部36は、性能指数F
Nを、[数73]に示される式により求めてもよい。
【0447】
なお、[数73]内のNは、入力により変更可能な設定値である(例えば、N=20)。このNについて、指数付け部36は、[数74]によって示されるtotal(N)を求め
ることができる。total(N)は、通常の定義では、q
1≦Q(h、k、l)≦qの範囲
にある異なるQ(h、k、l)の数を示す。
【0448】
しかし、total(N)は、以下の[数74]により求められてもよい。これにより、実
数型の値を取る各Q(h、k、l)の比較を行うプロセスに大きなコストがかかってしまうこと、及び、時数型の精度によっては、性能指数の値が大きく異なってしまうことを避けることができる。
【0450】
ここで、m(h、k、l)は、対称性判定部38により判定された晶系におけるh、k
、lのラウエの多重度である。これにより、対称性判定部38により求められた対称性を考慮した性能指数を求めることができる。
【0451】
<ステップ111>
次に、ステップ111では、格子定数選別部39によって、格子定数の候補について、互いに合致又は近似できるか否かの判定が行われる。そして、格子定数選別部39によって、同一の格子定数に関する候補の識別がなされる。更に、格子定数選別部39によって、同一の格子定数に関する候補と識別された格子定数の候補のうち、指数付け部36によって求められた性能指数の最もよいものを除いた格子定数の候補が除外される。この処理は、より観測値と整合性が高い格子定数の候補を選別する処理に該当する。
【0452】
具体的には、格子定数選別部39は、格子定数簡約部37によって簡約化された各格子定数の候補について、互いに合致又は近似できるか否かを判定することにより、同一の格子定数に関する候補を識別する。
【0453】
格子定数簡約部37によって簡約化された各格子定数の候補が互いに合致又は近似できるか否かの判定は、同一の結晶格子が、複数の異なる簡約形を持ち得ること、及び、格子定数の候補の取得に用いたq値が観測誤差を持つことを考慮して行われる。また、当該判定は、対称性判定部38により判定される対称性(具体的には、三斜晶系よりも高い対称性をもつ晶系であるか否か)によって異なる。
【0454】
例えば、対称性判定部38によって三斜晶系よりも対称性の高い晶系の候補であると判定された格子定数の候補について、格子定数選別部39は、各格子定数の候補の簡約形の個々の要素s
11、s
22、s
33、s
12、s
13、及びs
23を比較することで、各格子定数の候補が互いに合致又は近似できるか否かを判定する。ここで、二つの値a、bの相対差d
r (a, b)は、[数20]で定義される。
【0455】
格子定数選別部39は、例えば、ある2つの格子定数の候補について、互いの簡約形の個々の要素それぞれの相対差を求める。そして、各相対差が、ユーザにより設定及び変更可能な閾値以下である時に、格子定数選別部39は、当該2つの格子定数の候補を互いに合致又は近似できる格子定数の候補であると判定する。
【0456】
また、例えば、対称性判定部38によって三斜晶系よりも対称性の高い晶系ではない(つまり、三斜晶系である)と判定された各格子定数の候補について、格子定数選別部39は、[数18]の変換を行う。そして、格子定数選別部39は、各格子定数の候補について、簡約形とほぼ同一となる変換後の格子定数の候補の集合を取得する。ほぼ同一となるか否かの判定は、上記相対差を用いた判定と同様に行われる。例えば、この時、三斜晶系の二つの格子定数の候補A、Bに対して、簡約形とほぼ同一となる変換後の格子定数の候補の集合が{A
1、…、A
s}、{B
1、…、B
t}として得られたとする。格子定数選別
部39は、上記個々の要素の相対差を用いた判定により、これらの集合に含まれるA
iと
B
jがほぼ同一となるか否かを判定する。そして、格子定数選別部39は、ほぼ同一となるA
iとB
jが見つかった場合、当該2つの格子定数の候補A及びBを互いに合致又は近
似できる格子定数の候補であると判定する。
【0457】
なお、格子定数選別部39は、対称性判定部38により判定される対称性を考慮せずに、格子定数簡約部37によって簡約化された各格子定数の候補が互いに合致又は近似できるか否かの判定を行ってもよい。この場合、格子定数選別部39は、対称性を考慮した場合のいずれかの方法により、当該判定を行ってもよい。
【0458】
このとき、各格子定数の候補は、単位胞の体積の小さい順に格子定数の候補をソートしておいてもよい。晶系に関わらず、格子定数s
11、s
22、s
33、s
12、s
13、及びs
23がほぼ同一であれば、単位胞の体積もほぼ同一である。もし二つの格子定数の候補について、それぞれの単位胞の体積の差がある閾値よりも大きい場合、格子定数選別部39は、格子定数の各要素s
11、s
22、s
33、s
12、s
13、及びs
23を比較しなくても、当該二つの格子定数の候補は、互いに合致又は近似できる格子定数の候補ではないと判定してもよい。そして、格子定数選別部39は、それぞれの単位胞の体積の差がある閾値以下である格子定数の候補についてのみ、上記互いに合致又は近似できる格子定数の候補の判定を行ってもよい。これにより、当該判定に必要なステップ数を減らすことができる。
【0459】
格子定数選別部39は、上記のような判定により、同一の格子定数に関する候補を識別する。そして、格子定数選別部39は、同一の格子定数に関する候補であると識別された格子定数の候補同士を集合として取得する。
【0460】
格子定数選別部39は、このような集合に含まれる格子定数のうち、すなわち、同一の格子定数に関する候補であると識別された格子定数の候補のうち、指数付け部36が求めた性能指数の最もよい格子定数の候補を除いた格子定数の候補を除外する。
【0461】
なお、格子定数選別部39は、上記のような格子定数の候補の除外を行った場合、除外を行わなかった、指数付け部36が求めた性能指数の最もよい格子定数の候補について、第2の性能指数を求めてもよい。指数付け部36が求めた性能指数の最もよい格子定数の候補についての該第2の性能指数は、除外した格子定数の候補の数で与えられる。該第2の性能指数は、求める格子定数を与える可能性のバロメータとして用いることができる。
【0462】
<ステップ112>
次に、
図8に示されるとおり、ステップ112では、ステップ111により格子の対称性を考慮した結果に基づいて、各近似できる行列([数67]〜[数71]のいずれかの右辺の行列)変換された格子定数の候補に対して、指数付け部36によって、再度指数付けと性能指数の計算が行われる。
【0463】
最後に、情報処理装置1は、これまでの処理の結果を表示装置等に出力し、本動作を終了する。
【0464】
図29は、表示装置等に出力される画面例を示す。領域40は、情報処理装置1に入力された回折スペクトルと上記計算結果を表示する。出力される計算結果は、ステップ108又はステップ112において指数付け部36によって求められた格子定数の候補から、[数4]、[数21]〜[数24]を用いることにより算出可能なピーク位置である。当該ピーク位置は、回折スペクトルの下部の線分(印)として出力される。
【0465】
また、領域41は、上記各ステップの途中の計算結果を表示する。領域42は、選択された格子定数の候補に関する情報を表示し、領域43は、格子定数の候補をリスト表示する。また、領域44は、格子定数の候補を検索、並び替え、表示、非表示等を行うためのパラメタ又はボタン等を表示する。また、領域45は、例えば、情報処理装置1が備えるCPUの性能等、情報処理装置1のハードウェア情報を表示する。また、領域46は、上記指数付け処理において設定値であった計算パラメタを指定する入力領域等を表示する。
【0466】
<計算結果例>
図30は、本実施形態に係る情報処理装置による計算結果例を示すための回折スペクトルの例である。
図30は、各テストデータに対応する晶系、回折スペクトルを取得した回折法、各テストデータに対応する格子定数を例示する。なお、
図30において示される各テストデータに対応する格子定数は、それぞれの回折スペクトルについて、リートベルト法により精密化して得られた格子定数である。テストデータB、D、Gに使用したピークサーチ結果には不純物ピークが含まれている。また、特性X線のデータFは、Kα
1、K
α
2のピークがいずれも存在する状態でピークサーチを行い、該ピークサーチの結果をそ
のまま入力データとして用いた例についてのデータである。この例は、アルゴリズムの入力に対する強度を調べるために実施している。
【0467】
図31は、本実施形態に係る情報処理装置1が、
図30により示される各テストデータに対して行った計算結果を例示する。なお、
図31におけるテストデータB及びCについての格子定数及び性能指数は、正方晶として得られた格子定数と性能指数である。
【0468】
また、
図31における「取得した格子定数」には、比較的正確とみなせるコンバージョンパラメタとピーク位置シフトパラメタを用いて計算された格子定数が示される。そして、「精度を落としたピーク位置より取得した格子定数」には、精度を落としたピーク位置を用いて計算された格子定数が示される。具体的には、回折スペクトルが飛行時間法により取得された場合は、コンバージョンパラメタに対して多項式の1次の項を除いて0とす
ることで、回折スペクトルが角度分散法により取得された場合は、ピーク位置シフトパラメタを全て0とすることで、ピーク位置の精度を落とした。この時、「取得した格子定数」と「精度を落としたピーク位置より取得した格子定数」の値を比較することで、ピーク位置精度に対する本実施形態の強度と取得される格子定数への影響とをみることができる。
【0469】
取得された格子定数は、
図31に示されるとおり、ピーク位置の精度が悪い方がより値がずれる傾向がある。しかし、いずれの場合においても、取得された格子定数は、非線形最適化等によってピーク位置の精密化を行う際の初期値として用いるのに、十分、実際のピーク位置に近いピーク位置を与える格子定数となっている。
【0470】
なお、
図32、
図33、
図35、
図34は、それぞれ、
図30の表におけるテストデータA、B、E、Gについて、指数付けを行った後、求められた格子定数によるピーク位置の計算値をティックマークにより表示した画面例である。各画面例は、
図29における領域40の画面例である。ユーザは、該画面例により、回折スペクトルのピーク位置と求められた格子定数によるピーク位置とを比較することができる。
図31により示される格子定数は、最も性能指数の高い格子定数である。しかしこのような場合でも、実際に解であるかどうかを調べるために、ユーザは、
図32〜
図35のような画面を見て、それぞれのピーク位置を比較する必要がある。このとき、ユーザは、晶系や、近傍に取得されているほぼ同一の格子定数の候補の数を参考にすることができる。
【0471】
また、本計算結果例は、CPUがIntel(登録商標)社のCore i7の3.20GHz、メモリが
12.0GBのコンピュータにより、計算した結果である。
【0472】
図36は、
図31の「取得した格子定数」を算出する計算過程における計算時間等を示す。なお、
図36において示される計算時間は、CPUがIntel(登録商標)社のCore i7の3.20GH
zのコンピュータを用いた場合の計算時間である。
【0473】
図36における「取得した(選択された)第2のq値の組合せの数」は、組合せ取得部32により取得された第2のq値の組合せの数、及び、格子定数候補取得部35により第3のq値の組合せに用いられた第2のq値の組合せの数(かっこ内の数字)を示す。
【0474】
図36における「取得した(選択された)トポグラフの数」は、組合せ関連付け部33による関連付けにより得られたトポグラフの数、及び、格子定数候補取得部35により第3のq値の組合せに用いられた第2のq値の組合せに係るトポグラフの数(かっこ内の数字)を示す。なお、本計算例では、格子定数候補取得部35により第3のq値の組合せに用いられた第2のq値の組合せに係るトポグラフの数の最大値は、500と設定されている。ただし、特性X線のKα1、Kα2の波長を含むテストデータFでは、性能指数の高い候補を得るために、上記最大値を1500とする必要があった。
【0475】
図36における「取得した第3のq値の組合せの数」は、格子定数候補取得部35により取得された第3のq値の組合せの数を示す。なお、本計算例では、取得される第3のq知の組合せの数は、第3のq値の組合せから取得される格子定数の候補により示される結晶格子の単位胞の体積が大きい順に最大10000と設定されている。そのため、「取得した第3のq値の組合せの数」の最大値が10000となっている。
【0476】
上記の各設定値は、より質の悪いデータに対応する場合、又は、大きな格子定数の格子を指数付けする場合、より大きな値である必要がある。
【0477】
図36における「計算時間」は、処理が開始されてから、格子定数の候補が取得されるまでの時間を示す。また、
図36における「総計算時間」は、全ての処理に係る計算時間を示す。「総計算時間−計算時間」に係る時間は、晶系の判定処理、性能指数の計算処理、線形最適化による各格子定数の候補の改善処理、ほぼ同一の格子定数の候補のうち最良の性能指数を持つ候補の抽出処理等の処理に係る時間を示す。特に、角度分散法(原子炉、特性X線)のデータは、飛行時間法のコンバージョンパラメータと比較して、ピーク位置シフトパラメータの精度があまり良くない。したがって、回折スペクトルが角度分散法により取得された場合、回折スペクトルが飛行時間法により取得された場合に比べ、上記各設定値は大きい値が好ましい。
【0478】
ここで、例えば、2次元部分格子を定める第2のq値の組合せと、3次元格子を定める第3のq値の組合せについて、単純なしらみ潰し徹底探索を行うとする。ここで、格子定数a、b、c、α、β、γの探索範囲の下限と上限が、それぞれ探索範囲(3Å、15Å)、(3Å、15Å)、(3Å、15Å) 、(90°、120°) 、(60°、120°)、(9
0°、120°)と与えられているとする。この時、上記コンピュータが、各探索範囲に
ついて、当該範囲の1/120、1/120、1/120、1/30、1/60、1/30の値をそれぞれのステップ
幅として、格子定数の性能指数を計算し、得られた性能指数を比較して、最良の性能指数を与える格子定数を探索することで該単純なしらみ潰し徹底探索を実行したとする。上記のコンピュータは、8スレッドによる並列計算により1秒あたり、約75,000個の格子定数について性能指数の計算を行うことができる。そのため、上記コンピュータでは格子定数の探索には、三斜晶系の結晶については約14.4日、単斜晶系の結晶については(α=β=90°)約23.1分かかる。
【0479】
本手法は、求める結晶格子のグラム行列を与える第3のq値の組合せの徹底探索を、晶
系を仮定せずに、理論的に非常に高い確率で観測値のq値から取得されると言える方法で探索している。このとき、単位胞の体積の下限、最小格子点間距離のa、b、cの探索範囲の下限には、物理的な制約が設定されうるが、上限に関しては、全く制約が設定されない。それにも関わらず、本手法では、
図31に示す時間内に全ての候補を取得することが可能である。トポグラフの取得の最大数をパラメタとして、個別のケースにチューニングすれば、さらに高速な探索、または丁寧な探索を行うこともできる。これにより、本実施形態の有効性が示されたと言える。
【0480】
§4 実施の形態に係る作用及び効果
以上によれば、本実施形態に係る情報処理装置1では、組合せ取得部32によって、組合せに含まれない他のq値を算出可能なq値の組合せである第1のq値の組合せが取得される。そして、また、組合せ取得部32によって、第1のq値の組合せと前記他のq値から、結晶格子の逆格子の2次元部分格子の基底を形成する可能性のある格子ベクトルに対応するq値の組合せである第2のq値の組合せが取得される。
【0481】
ここで、第1のq値の組合せに含まれるq値から算出可能である他のq値は、q値取得部31によって取得されたq値とは限られない。該他のq値は、例えば、消滅則によりピーク位置が観測されない場合、及び、観測上の精度の限界によりピーク位置が観測されない場合にq値取得部31によって取得できないq値である可能性がある。
【0482】
そして、組合せ関連付け部33によって、組合せ取得部32により取得された第2のq値の組合せに対して、該組合せによって示される2次元部分格子の基底がそれぞれ共通する組合せ同士の関連付けが行われる。更に、関連付け比較部34により、互いに関連付けられた第2のq値の組合せに含まれる異なるq値の数が数えられ、それぞれの関連付けに対して当該数による比較が行われる。そして、格子定数候補取得部35により、関連付け比較部34による比較の結果、例えば、異なるq値が所定の数よりも多い関連付けに係る第2のq値の組合せを用いて、第3のq値の組合せが取得される。また、格子定数候補取得部35により、取得された第3のq値の組合せから、結晶格子の格子定数の候補が取得される。更に、指数付け部36によって、格子定数候補取得部35によって得られた格子定数の候補に対して、それぞれ指数付けが行われる。
【0483】
ここで、互いに関連付けられた第2のq値の組合せに含まれる異なるq値の数は、上述したとおり、該関連付けに係る第2のq値の組合せにより示される2次元部分格子が、結晶格子の逆格子に実際に含まれる2次元部分格子として存在する確からしさを示す指数となりうる。
【0484】
つまり、本実施形態では、関連付け比較部34によって、第2のq値の組合せに対して、当該第2のq値の組合せにより示される2次元部分格子が、求める2次元部分格子である確からしさが判定される。そして、確からしさが比較的に高い、本実施形態では、異なるq値が所定の数よりも多い関連付けに係る第2のq値の組合せを用いて、結晶格子の格子定数の候補が取得される。
【0485】
したがって、本実施形態によれば、消滅則、及び、観測上の精度の限界を考慮した上で、結晶格子の指数付けを行うことができる。また、本実施形態によれば、実際に存在する可能性の高い2次元部分格子に係る第2のq値の組合せを優先的に取得し、更に、格子定数の候補を得るためのq値の組合せを第3のq値の組合せに限定したことにより、理論的に徹底探索の実行を保証しつつ、単純なしらみつぶしによる探索方法よりも高速な結晶格子の探索を行うことが可能となる。
【0486】
§5 変形例
次に、本実施形態に係る情報処理装置1を簡潔な構成にした例を示す。
図37は、本変形例に係る情報処理装置5の構成例を示す。
【0487】
情報処理装置5の記憶部51、制御部52、バス53、及び、入出力部54は、情報処理装置1の記憶部11、制御部12、バス13、及び、入出力部14に相当する。また、q値取得部71、組合せ取得部72、組合せ関連付け部73、関連付け比較部74、及び、格子定数候補取得部75は、それぞれ、q値取得部31、組合せ取得部32、組合せ関連付け部33、関連付け比較部34、及び、格子定数候補取得部35に相当する。したがって、ここでは、各構成についての説明を省略する。
【0488】
図38のフローチャートは、本変形例に係る情報処理装置5の処理例を例示する。なお、
図38のフローチャートにおけるステップ201は、
図8のフローチャートにおけるステップ102におけるq値の取得に係る処理に相当する。また、
図38のフローチャートにおけるステップ202〜ステップ205は、
図8のフローチャートにおけるステップ104〜ステップ107に相当する。したがって、ここでは、説明を省略する。
【0489】
以上の本変形例に係る情報処理装置5では、組合せ取得部72によって、組合せに含まれない他のq値を算出可能なq値の組合せである第1のq値の組合せが取得される。そして、また、組合せ取得部72によって、第1のq値の組合せと前記他のq値から、結晶格子の逆格子の2次元部分格子の基底を形成する可能性のある格子ベクトルに対応するq値の組合せである第2のq値の組合せが取得される。
【0490】
ここで、第1のq値の組合せに含まれるq値から算出可能である他のq値は、q値取得部71によって取得されたq値とは限られない。該他のq値は、例えば、消滅則によりピーク位置が観測されない場合、及び、観測上の精度の限界によりピーク位置が観測されない場合にq値取得部71によって取得できないq値である可能性がある。
【0491】
そして、組合せ関連付け部73によって、組合せ取得部72により取得された第2のq値の組合せに対して、該組合せによって示される2次元部分格子の基底がそれぞれ共通する組合せ同士の関連付けが行われる。更に、関連付け比較部74により、互いに関連付けられた第2のq値の組合せに含まれる異なるq値の数が数えられ、それぞれの関連付けに対して当該数による比較が行われる。そして、格子定数候補取得部75により、関連付け比較部74による比較の結果、例えば、異なるq値が所定の数よりも多い関連付けに係る第2のq値の組合せを用いて、第3のq値の組合せが取得される。また、格子定数候補取得部75により、取得された第3のq値の組合せから、結晶格子の格子定数の候補が取得される。なお、格子定数候補取得部75によって得られた格子定数の候補により、指数付けを実施することが可能となる。
【0492】
ここで、互いに関連付けられた第2のq値の組合せに含まれる異なるq値の数は、上述したとおり、該関連付けに係る第2のq値の組合せにより示される2次元部分格子が、結晶格子の逆格子に実際に含まれる2次元部分格子として存在する確からしさを示す指数となりうる。
【0493】
つまり、本変形例では、関連付け比較部74によって、第2のq値の組合せに対して、当該第2のq値の組合せにより示される2次元部分格子が、求める2次元部分格子である確からしさが判定される。そして、確からしさが比較的に高い、本実施形態では、異なるq値が所定の数よりも多い関連付けに係る第2のq値の組合せを用いて、結晶格子の格子定数の候補が取得される。
【0494】
したがって、本変形例によれば、消滅則、及び、観測上の精度の限界を考慮した上で、
結晶格子の指数付けを行うことができる。また、本変形例によれば、実際に存在する可能性の高い2次元部分格子に係る第2のq値の組合せを優先的に取得し、更に、格子定数の候補を得るためのq値の組合せを第3のq値の組合せに限定したことにより、理論的に徹底探索の実行を保証しつつ、単純なしらみつぶしによる探索方法よりも高速な結晶格子の探索を行うことが可能となる。
【0495】
§6 補足
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【0496】
当業者は、上記本実施形態の記載から、特許請求の範囲の記載および技術常識に基づいて等価な範囲を実施することができる。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられる。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解される意味と同じ意味を有する。両者が矛盾する場合、本明細書において使用される用語は、本明細書(定義を含めて)に記載された意味において理解される。