(57)【要約】【課題】  速やかに電子ポテンシャルを演算することができる電子ポテンシャル演算装置、電子ポテンシャル演算方法、及び物性予測値演算プログラムを提供する。【解決手段】  本発明の電子ポテンシャル演算装置１０は、残差変化ポテンシャル群を生成する変化ポテンシャル群生成部２３ａと、前記残差変化ポテンシャル群を特異値分解することで変換残差変化ポテンシャル群に近似変換する変換部２３ｂと、前記変換残差変化ポテンシャル群に基づいて新たな入力ポテンシャルを演算する演算部２３ｃとを備えている。変化ポテンシャル群生成部２３ａは、現状の残差変化ポテンシャルと、過去の演算結果による変換残差変化ポテンシャル群とを要素として含んだものを前記残差変化ポテンシャル群として生成する。【選択図】      図１
2009229402.tif 000002
【特許請求の範囲】
【請求項１】
第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算装置であって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力するための入力手段と、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算部と、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算部と、
前記入力ポテンシャル演算部によって演算された前記新たな入力ポテンシャルに基づいて、前記残差演算部に前記残差を反復演算させる反復演算部と、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると前記残差演算部による反復演算を停止させる制御部と、を備え、
前記入力ポテンシャル演算部は、
前記残差演算部の反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成部と、
前記残差変化ポテンシャル群生成部により生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換部と、
前記変換部が変換した前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算部と、を備え、
前記残差変化ポテンシャル群生成部は、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、前記変換部による過去の演算結果である前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴とする電子ポテンシャル演算装置。
【請求項２】
前記残差変化ポテンシャル群は、下記式（１）で示される数値群である請求項１に記載の電子ポテンシャル演算装置。
【数１】
2009229402.tif 000021
【請求項３】
前記入力ポテンシャル演算部は、さらに、当該入力ポテンシャル演算部の反復演算により演算される複数の入力ポテンシャルから得られる演算前後の入力ポテンシャル変化を示す入力変化ポテンシャル群より、前記変換残差変化ポテンシャル群に整合する変換入力変化ポテンシャル群を算出する変換入力変化ポテンシャル群算出部と、
現状の演算結果による入力ポテンシャルと過去の演算結果による入力ポテンシャルとの間の差である入力変化ポテンシャルと、変換入力変化ポテンシャル群算出部による過去の演算結果である前記変換入力変化ポテンシャル群とを、要素として含んだものを前記入力変化ポテンシャル群として生成する入力変化ポテンシャル群生成部と、を備え、
前記演算部は、前記変換部、及び前記変換入力変化ポテンシャル群算出部がそれぞれ算出する前記変換残差変化ポテンシャル群、及び前記変換入力変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算するものである請求項１又は２に記載の電子ポテンシャル演算装置。
【請求項４】
前記入力変化ポテンシャル群は、下記式（２）で示される数値群であるとともに、前記変換入力変化ポテンシャル群は、下記式（３）及び式（４）で示される数値群である請求項３に記載の電子ポテンシャル演算装置。
【数２】
2009229402.tif 000022
【請求項５】
第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算方法であって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力する入力ステップと、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算ステップと、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算ステップと、
前記入力ポテンシャル演算ステップ、及び前記残差演算ステップを反復演算させる反復ステップと、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると、前記入力ポテンシャル演算ステップ、及び前記残差演算ステップによる反復演算を停止させる停止ステップと、を備え、
前記入力ポテンシャル演算ステップは、
前記残差演算ステップの反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成ステップと、
前記残差変化ポテンシャル群生成ステップにより生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換ステップと、
前記変換ステップにて変換される前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算ステップと、を備え、
前記残差変化ポテンシャル群生成ステップは、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、過去の演算結果による前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴とする電子ポテンシャル演算方法。
【請求項６】
第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算プログラムであって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力する入力ステップと、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算ステップと、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算ステップと、
前記入力ポテンシャル演算ステップ、及び前記残差演算ステップを反復演算させる反復ステップと、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると、前記入力ポテンシャル演算ステップ、及び前記残差演算ステップによる反復演算を停止させる停止ステップと、を備え、
前記入力ポテンシャル演算ステップは、
前記残差演算ステップの反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成ステップと、
前記残差変化ポテンシャル群生成ステップにより生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換ステップと、
前記変換ステップにて変換される前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算ステップと、を備え、
前記残差変化ポテンシャル群生成ステップは、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、過去の演算結果による前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴とする電子ポテンシャル演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第一原理計算に基づいて電子ポテンシャルを演算するための電子ポテンシャル演算装置、電子ポテンシャルの演算方法、及び電子ポテンシャル演算プログラムに関する。
【背景技術】
【０００２】
一般に、金属や無機物質等の固体における電子ポテンシャルを演算するには、例えば、下記式（ａ）に示すような、第一原理計算に基づく自己無撞着な非線形方程式Ｆを解くことで行われる。なお、式（ａ）中、ｖは電子ポテンシャルとしての入力値である。
非線形方程式  Ｆ（ｖ）  ＝  ０  ・・・・  （ａ）
【０００３】
具体的には、入力値ｖinに対する残差ｖresは、下記式（ｂ）のように示される。そして、この残差ｖres及び入力値ｖinに基づいて、新たな入力値ｖinを設定し、再度残差ｖresを演算する。このような演算を、入力値ｖinを調整しつつ反復することで、残差ｖresを減少させ、残差ｖresが充分に減少し「０」に収束したと判断しうる値となったときのの解を上記式（ａ）を満たすｖに近似する値として、電子ポテンシャルを得る。
ｖres  ＝  Ｆ（ｖin）  ・・・・  （ｂ）
【０００４】
ここで、上記新たな入力値を求めるには、以下の方法が採られる。すなわち、演算の反復回数をｋとするとき、反復回数ｋにおける入力値ｖink及び残差ｖreskは既知であるので、反復回数ｋ＋１における新たな入力値ｖink+1を下記式（ｃ）で予測する。なお、式（ｃ）中、緩和係数Ａは、反復回数ｋ＋１における残差ｖresk+1が反復回数ｋにおける残差ｖreskよりも小さい値となることが期待される値を選んで設定される。
【０００５】
【数３】
2009229402.tif 000003
【０００６】
上述の演算において、より速やかに残差ｖreskを減少させうる新たな入力値ｖink+1を求めるための方法として、Ａｎｄｅｒｓｏｎ法や、多重割線型Ｂｒｏｙｄｅｎ法と呼ばれる方法が知られている（例えば、非特許文献１参照）。
上記Ａｎｄｅｒｓｏｎ法では、反復回数ｋ＋１における新たな入力値ｖink+1を、以下に示す方法によって算出する。
すなわち、反復回数ｋ＋１における新たな入力値ｖink+1は、下記式（ｄ）によって示される。
【０００７】
【数４】
2009229402.tif 000004
【０００８】
Ａｎｄｅｒｓｏｎ法では、式（ｄ）に示すように、現状（反復回数ｋ）の演算結果に加えて、過去の演算結果も含めて演算を行う。なお、式（ｄ）中、ｌkは、反復回数ｋから過去の演算にさかのぼる反復回数を示しており、参照すべき過去の演算結果の個数を示している。
上記式（ｄ）において、仮の残差を下記式（ｅ）、仮の入力値を下記式（ｆ）と定義し、仮の残差を最小化するパラメータｘの値を求め、得られたパラメータｘを式（ｅ）、（ｆ）に代入することで、仮の残差及び仮の入力値を求める。そして、これら仮の残差及び仮の入力値を式（ｃ）中の残差ｖresk及び入力値ｖinkとして代入し、演算することで、反復回数ｋ＋１における新たな入力値ｖink+1が得られる。
【０００９】
【数５】
2009229402.tif 000005
【００１０】
上記式（ｅ）における仮の残差を最小化するパラメータｘを求めるためには、式（ｅ）中の「ｖresλ−ｖresλ-1」で表される数値群に対して、予め定めた条件数の上限値に基づいて特異値分解を行うことで、仮の残差を最小化するパラメータｘが求められる。
以上のようにして得られた新たな入力値ｖink+1は、残差ｖresk+1を減少させる上で効果的であり、上記演算を反復することで、速やかに残差ｖresk+1を減少させることができる。
【００１１】
【非特許文献１】澤村明賢、香山正憲、結石友宏、鍜治幹雄，「自己無撞着な電子構造計算の加速法、記憶量節約、多重割線型のＢｒｏｙｄｅｎ法の実現（Ａｃｃｅｌｅｒａｔｉｏｎ  ｏｆ  ｓｅｌｆ−Ｃｏｎｓｉｓｔｅｎｔ  Ｅｌｅｃｔｒｏｎｉｃ−Ｓｔｒｕｃｔｕｒｅ  Ｃａｌｃｕｌａｔｉｏｎｓ：Ｓｔｏｒａｇｅ−Ｓａｖｉｎｇ  ａｎｄ  Ｍｕｌｔｉｐｌｅ−ｓｅｃａｎｔ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ｔｈｅ  Ｂｒｏｙｄｅｎ  Ｍｅｔｈｏｄ）」，Ｍａｔｅｒｉａｌｓ  Ｔｒａｎｓａｃｔｉｏｎｓ，日本金属学会，１９９９年，Ｖｏｌ４０，Ｎｏ１１，ｐ．１１８６−１１９２
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、Ａｎｄｅｒｓｏｎ法においては、上述のように、過去の演算結果を参照しており、参照すべき過去の演算結果の個数ｌk（上記式（ｄ）参照）を定める必要がある。
また、上記方法では、参照する過去の演算結果である式（ｅ）で示される仮の残差を最小化する際に特異値分解を行うが、この特異値分解についての条件数の上限値を定める必要がさらにある。
ここで、特異値分解とは、条件数の上限値に基づいて、与えられた個々のデータを、独立性の高い要素に近似的に変換するものと言える。また、条件数の上限値とは、与えられたデータ間の独立性がどの程度有意であるかどうかを判定する基準であり、小さすぎれば本来有意であるはずのデータを取りこぼすおそれがある。また、大きすぎれば誤差を大きく含んでしまうおそれが生じる。
【００１３】
上記Ａｎｄｅｒｓｏｎ法では、参照すべき過去の演算結果による数値群を上記特異値分解の対象としているため、参照すべき過去の演算結果の個数ｌkと、条件数の上限値とは、上記残差を速やかに減少させる上において、相互に密接に関係している。すなわち、条件数の上限値の設定を適切に行ったとしても、前記個数ｌkが非常に大きい数値に設定された場合、参照すべき過去の演算結果を過剰に保持することとなり、演算を行うための装置に対する処理負荷を増大させるばかりか、多量の誤差が発生するおそれもある。逆に前記個数ｌkが非常に小さい数値に設定された場合、過去の演算結果を参照する個数が過小となり、Ａｎｄｅｒｓｏｎ法を利用する利点が損なわれる。
上記のように、演算を行うための装置に対する処理負荷が増大したり、特異値分解によって変換された数値群に誤差が含まれたりすることは、残差を速やかに減少させる上での阻害要因となる。
【００１４】
以上のように、参照すべき過去の演算結果の個数ｌk、及び条件数の上限値は、残差が充分に減少するまでの反復回数に大きく影響を及ぼすにも関わらず、人為的に設定する必要があった。上記演算を効率よく速やかに行うためには、これら両設定値を好適に設定することが望ましいが、両設定値間の関係による影響を考慮しつつ、実際にどの程度の値に設定すればよいかを推定することは困難であり、この点において演算の効率化を妨げる要因となっていた。このため、電子ポテンシャルを演算する上で、より効率よく速やかに残差を減少させうる方策が嘱望されていた。
【００１５】
本発明はこのような事情に鑑みてなされたものであり、効率よく速やかに残差を減少させることで演算の反復回数を減らし、速やかに電子ポテンシャルを演算することができる電子ポテンシャル演算装置、電子ポテンシャル演算方法、及び電子ポテンシャル演算プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するための本発明は、第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算装置であって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力するための入力手段と、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算部と、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算部と、
前記入力ポテンシャル演算部によって演算された前記新たな入力ポテンシャルに基づいて、前記残差演算部に前記残差を反復演算させる反復演算部と、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると前記残差演算部による反復演算を停止させる制御部と、を備え、
前記入力ポテンシャル演算部は、
前記残差演算部の反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成部と、
前記残差変化ポテンシャル群生成部により生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換部と、
前記変換部が変換した前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算部と、を備え、
前記残差変化ポテンシャル群生成部は、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、前記変換部による過去の演算結果である前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴としている。
【００１７】
上記のように構成された電子ポテンシャル演算装置において、残差変化ポテンシャル群は、特異値分解によって、当該残差変化ポテンシャル群に含まれる要素の内、線形従属性の高い要素について一つの要素にまとめられることで、互いに線形独立性の高い要素のみが残るように近似変換されるので、特異値分解後の変換残差変化ポテンシャル群の要素の個数は、当該特異値分解の結果によって、残差変化ポテンシャル群の要素の個数以下に定まる。
演算部は、変換残差変化ポテンシャル群に基づいて演算を行うので、演算部による演算の際に参照すべき過去の演算結果の個数は、変換残差変化ポテンシャル群の要素の個数と一致する。すなわち、参照すべき過去の演算結果の個数は、特異値分解による変換によって定まるので、過去にさかのぼって参照すべき過去の演算結果の個数を予め設定する必要がない。
すなわち、互いに残差が充分に減少したと判断されるまでの反復回数に大きく影響を及ぼす設定値である、参照すべき過去の演算結果の個数、及び条件数の上限値の内、参照すべき過去の演算結果の個数については、予め設定する必要がないので、条件数の上限値についての好適な値の推定が容易となる。この結果、効率よく速やかに残差を減少させることが可能となる。従って、演算の反復回数を減らすことができ、速やかに電子ポテンシャルを演算することができる。
【００１８】
さらに、本発明の電子ポテンシャル演算装置では、特異値分解を行った過去の変換残差変化ポテンシャル群に現状の残差変化ポテンシャルを加えたものを残差変化ポテンシャル群として更新して生成し、この生成された残差変化ポテンシャル群について特異値分解して変換残差変化ポテンシャル群を算出する。このため、参照すべき過去の演算結果としての要素の個数を予め設定せずに演算を反復したとしても、変換残差変化ポテンシャル群に含まれる要素の個数が無駄に増大化することを防止することができる。この結果、装置に作用する処理負荷を低減でき、より効率よく速やかに残差を減少させることができる。
【００１９】
具体的には、前記残差変化ポテンシャル群は、下記式（１）で示される数値群であることが好ましい。
【００２０】
【数６】
2009229402.tif 000006
【００２１】
また、上記電子ポテンシャル演算装置において、前記入力ポテンシャル演算部は、さらに、当該入力ポテンシャル演算部の反復演算により演算される複数の入力ポテンシャルから得られる演算前後の入力ポテンシャル変化を示す入力変化ポテンシャル群より、前記変換残差変化ポテンシャル群に整合する変換入力変化ポテンシャル群を算出する変換入力変化ポテンシャル群算出部と、
現状の演算結果による入力ポテンシャルと過去の演算結果による入力ポテンシャルとの間の差である入力変化ポテンシャルと、変換入力変化ポテンシャル群算出部による過去の演算結果である前記変換入力変化ポテンシャル群とを、要素として含んだものを前記入力変化ポテンシャル群として生成する入力変化ポテンシャル群生成部と、を備え、
前記演算部は、前記変換部、及び前記変換入力変化ポテンシャル群算出部がそれぞれ算出する前記変換残差変化ポテンシャル群、及び前記変換入力変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算するものであることが好ましい。
【００２２】
この場合、上記入力変化ポテンシャル群生成部、及び変換入力変化ポテンシャル群算出部によって、変換残差変化ポテンシャル群に整合する好適な値とされた変換入力変化ポテンシャル群を算出することができる。
【００２３】
具体的には、前記入力変化ポテンシャル群は、下記式（２）で示される数値群であるとともに、前記変換入力変化ポテンシャル群は、下記式（３）及び式（４）で示される数値群であることが好ましい。
【００２４】
【数７】
2009229402.tif 000007
【００２５】
また、本発明は、第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算方法であって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力する入力ステップと、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算ステップと、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算ステップと、
前記入力ポテンシャル演算ステップ、及び前記残差演算ステップを反復演算させる反復ステップと、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると、前記入力ポテンシャル演算ステップ、及び前記残差演算ステップによる反復演算を停止させる停止ステップと、を備え、
前記入力ポテンシャル演算ステップは、
前記残差演算ステップの反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成ステップと、
前記残差変化ポテンシャル群生成ステップにより生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換ステップと、
前記変換ステップにて変換される前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算ステップと、を備え、
前記残差変化ポテンシャル群生成ステップは、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、過去の演算結果による前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴としている。
【００２６】
上記のように構成された電子ポテンシャル演算方法によれば、上述のように、効率よく速やかに残差を減少させることで演算の反復回数を減らし、速やかに電子ポテンシャルを演算することができる。
【００２７】
また、本発明は、第一原理計算に基づいて入力ポテンシャルから残差を得る演算、及び前記入力ポテンシャル及び前記残差に基づいて当該残差を減少させうる新たな入力ポテンシャルを得る演算を反復することで前記残差を減少させ、当該残差が充分に減少したと判断される所定の閾値以下となったときの解を電子ポテンシャルとして得る電子ポテンシャル演算プログラムであって、
初期値としての前記入力ポテンシャル、及び前記新たな入力ポテンシャルを得る演算に用いる条件数の上限値を入力する入力ステップと、
前記入力ポテンシャルに基づいて前記残差を演算する残差演算ステップと、
前記入力ポテンシャル及び前記残差に基づいて前記新たな入力ポテンシャルを演算する入力ポテンシャル演算ステップと、
前記入力ポテンシャル演算ステップ、及び前記残差演算ステップを反復演算させる反復ステップと、
前記残差が前記閾値以下であるか否かを判定するとともに、当該残差が前記閾値以下であると判定すると、前記入力ポテンシャル演算ステップ、及び前記残差演算ステップによる反復演算を停止させる停止ステップと、を備え、
前記入力ポテンシャル演算ステップは、
前記残差演算ステップの反復演算により演算される複数の残差から得られる演算前後の残差変化を示す残差変化ポテンシャル群を生成する残差変化ポテンシャル群生成ステップと、
前記残差変化ポテンシャル群生成ステップにより生成される前記残差変化ポテンシャル群を、前記条件数の上限値に基づいて特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群に近似変換する変換ステップと、
前記変換ステップにて変換される前記変換残差変化ポテンシャル群に基づいて、新たな入力ポテンシャルを演算する演算ステップと、を備え、
前記残差変化ポテンシャル群生成ステップは、現状の演算結果による残差と過去の演算結果による残差との間の差である残差変化ポテンシャルと、過去の演算結果による前記変換残差変化ポテンシャル群とを、要素として含んだものを前記残差変化ポテンシャル群として生成することを特徴としている。
【００２８】
上記のように構成された電子ポテンシャル演算プログラムによれば、上述のように、効率よく速やかに残差を残差させることで演算の反復回数を減らし、速やかに電子ポテンシャルを演算することができる。
【発明の効果】
【００２９】
以上のように、本発明の電子ポテンシャル演算装置、電子ポテンシャル演算方法、及び電子ポテンシャル演算プログラムによれば、より効率よく速やかに電子ポテンシャルを演算することができる。
【発明を実施するための最良の形態】
【００３０】
〔装置の全体構成〕
次に、本発明の好ましい実施形態について添付図面を参照しながら説明する。図１は、本発明の一実施形態に係る電子ポテンシャル演算装置の構成を示す図である。この電子ポテンシャル演算装置１０は、第一原理計算に基づいて、対象となる固体や分子の電子ポテンシャルを算出するものであり、キーボードやマウス等からなる入力デバイス１１と、ディスプレイや、プリンタ等からなる出力デバイス１２と、各種情報を記憶するためのハードディスク等からなる記憶部１３と、入力デバイス１１から入力される各種データに基づいて電子ポテンシャルを演算するための処理を行うデータ処理部２０とを備えており、コンピュータ等によって構成されている。
電子ポテンシャル演算装置１０は、例えば、電子ポテンシャルの演算を行うためのプログラム（電子ポテンシャル演算プログラム）が記憶部１３にインストールされており、そのプログラムが実行されることによりデータ処理部２０が有している、後述の電子ポテンシャルの演算処理を行うための各機能部を実現する。
【００３１】
データ処理部２０は、上記第一原理計算を行うために必要な初期値としての電子ポテンシャルを算出するための初期ポテンシャル演算部２１を有している。データ処理部２０は、さらに、第一原理計算を反復演算するための機能部群として、残差演算部２２と、入力ポテンシャル演算部２３と、判定部２４と、制御部２７とを有している。
初期ポテンシャル演算部２１は、当該装置１０が受け付けた、演算対象の物性値や、後述する条件数の上限値Ｓ、緩和係数Ａといった数値情報等に基づいて、初期値としての平均的な電子ポテンシャルを演算する。
残差演算部２２は、入力値としての電子ポテンシャルが入力されると、この電子ポテンシャルに基づいて第一原理計算を行う。すなわち、残差演算部２２は、入力された電子ポテンシャル（以下、入力ポテンシャルともいう）を上記式（ｂ）にて表されるｖinとして代入し、残差ｖresを演算する。入力ポテンシャルｖinは、上記初期ポテンシャル演算部２１又は入力ポテンシャル演算部２３によって演算され、当該残差演算部２２に提供される。
【００３２】
判定部２４は、上記残差演算部２２により算出される残差ｖresが予め設定された目標値以下であるか否かを判定する機能を有している。なお、この目標値とは、前記残差ｖresが充分に減少したか否かを判断するための閾値であり、残差ｖresが目標値以下の場合、後述するように残差ｖresが充分に減少したものと判断される。一方、残差ｖresが目標値よりも大きい場合、残差ｖresが未だ充分に減少していないものと判断される。
なお、前記目標値は、残差ｖresが「０」に収束したとみなせる程度に充分に減少したと判断される値に設定されている。
【００３３】
入力ポテンシャル演算部２３は、上記判定部２４の判定に基づいて前記残差ｖresが充分に減少していないと判断された場合、さらに残差演算部２２によって残差ｖresの演算を行う際の新たな入力ポテンシャルを演算する機能を有している。
また、入力ポテンシャル演算部２３は、現状の入力ポテンシャル及び残差に基づいて新たな入力ポテンシャルを演算するための機能部として、変化ポテンシャル群生成部２３ａ、変換部２３ｂ、及び演算部２３ｃを有している。これら各部の機能については、後に詳述する。
【００３４】
制御部２７は、データ処理部２０の各機能部を包括的に制御する。例えば、判定部２４によって残差が目標値よりも大きいと判定されると、制御部２７は、残差ｖresは未だ充分に減少していないと判断し、さらに残差ｖresを演算するために入力ポテンシャル演算部２４及び残差演算部２２に演算を実行する旨の命令を出力する。また、判定部２４によって残差ｖresが目標値以下と判定されると、制御部２７は、残差ｖresが充分に減少したものと判断し、演算を停止する旨の命令を出力する。また、その時点での出力ポテンシャルを、電子ポテンシャルの演算結果として出力デバイス１２に出力させる機能も有している。すなわち、制御部２７は、残差ｖresが充分に減少するまで各部に残差を反復演算させるように制御するものであり、入力ポテンシャル演算部２４によって演算された前記新たな入力ポテンシャルに基づいて、残差演算部２２に残差ｖresを反復演算させる機能を有するとともに、判定部２４によって残差ｖresが目標値以下であると判定された場合、当該残差ｖresが充分に減少したと判断し各部に反復演算を停止させる機能を有している。
【００３５】
物性演算部３０は、演算結果として得られる電子ポテンシャルを制御部２７から受け取り、この電子ポテンシャルに基づいて、前記対象となる固体や分子に関する電子密度分布、前記固体や分子を構成する原子の結合状態、原子間の位置、導電性、及び熱伝導性等といった物性について、予測される物性予測値を演算し、出力デバイス１２に出力させる機能を有している。すなわち、本実施形態の電子ポテンシャル演算装置１０は、固体や分子の物性予測値の演算を行う物性予測値演算装置としての機能も有している。
また、データ処理部２０は、上記演算の反復回数ｋをカウントするためのカウンタ２８を機能的に有している。
次に、上記構成の電子ポテンシャル演算装置の動作について説明する。
【００３６】
〔電子ポテンシャル演算装置の動作について〕
図２は、本実施形態の電子ポテンシャル演算装置の具体的な動作を示したフローチャートである。
本装置１０において、電子ポテンシャルを算出しようとする金属又は分子等からなる固体を構成する原子の種類、位置、当該固体における一般的な電子密度といった演算対象の物性値や、入力ポテンシャル演算部２３の演算に必要となる条件数の上限値Ｓ、緩和係数Ａといった数値情報が入力されると（ステップＳ１０１）、データ処理部２０の制御部２７は、これらデータに基づいて初期値としての平均的な入力ポテンシャルを、初期ポテンシャル演算部２１に演算させる（ステップＳ１０２）。
【００３７】
図３は、上記ステップＳ１０１において、電子ポテンシャルを算出しようとする固体等の前記数値情報の入力を受け付けるためのディスプレイ表示の一例である。制御部２７は、図３に示すように、数値情報を入力するための枠である入力枠部４０を出力デバイス１２であるディスプレイに表示する。この入力枠部４０は、例えば、単位格子に含まれる各原子それぞれの３次元座標値が入力できるように設けられている。当該装置１０の操作者は、マウス等で入力しようとする入力枠部４０にカーソルを移動させた後、キーボード等を操作することで、数値情報を入力する。入力デバイス１１、及び出力デバイス１２は、この入力枠部４０に入力された各数値情報を各原子の位置として受け付ける。つまり、入力デバイス１１、出力デバイス、及び初期ポテンシャル演算部２１は、初期値としての入力ポテンシャル、及び前記条件数の上限値を得るための入力手段を構成している。
なお、ここでは、原子の位置の数値情報を入力する際の態様を示したが、他の情報（原子の種類、電子密度、条件数の上限値、緩和係数Ａ）についても、同様の入力画面が用意され、受け付けることができる。
【００３８】
初期ポテンシャル演算部２１が入力ポテンシャルを演算すると、制御部２７は、カウンタ２８における反復回数ｋを「１」に設定する（ステップＳ１０３）。
次に、制御部２７は、上記初期値としての入力ポテンシャルｖinkに基づいて、残差ｖreskを、残差演算部２２に演算させる（ステップＳ１０４）。なお、このステップＳ１０４において、残差演算部２２は、第一原理計算に基づいた上記式（ａ）及び式（ｂ）で示される非線形方程式を解くことで残差ｖreskを演算する。
【００３９】
次に、制御部２７は、ステップＳ１０４で得られた残差ｖreskが所定の目標値Ｔ以下であるか否かを、判定部２４に判定させる（ステップＳ１０５）。
判定部２４によって残差ｖreskが目標値Ｔ以下であると判定された場合、制御部２７は、残差ｖreskが充分に減少したものと判断し、入力ポテンシャル演算部２３及び残差演算部２２による反復演算を停止する（ステップＳ１０６）。
ここで、目標値Ｔは、上述したように、残差ｖreskが「０」に収束したとみなせる程度に充分に減少したと判断される値に設定されている。
上記式（ａ），（ｂ）より、残差ｖreskが最終的に「０」に収束したときに真値としての解が得られるが、本実施形態では、真値とみなせる程度に近似した解が得られる程度に残差ｖreskが減少した段階で、当該残差が「０」に収束したと判断するために目標値Ｔを定めており、判定部２４及び制御部２７は、残差ｖreskが目標値Ｔ以下であると判定すると、残差ｖreskが「０」に収束したとみなせる程度に充分に減少したと判断する。
【００４０】
制御部２７は、入力ポテンシャル演算部２３及び残差演算部２２による反復演算を停止した後（ステップＳ１０６）、現状の入力ポテンシャルを式（ａ）の解とみなし、電子ポテンシャルの演算結果として出力デバイス１２に出力させる（ステップＳ１０７）。
さらに、制御部２７は、演算結果としての電子ポテンシャルを物性演算部３０に出力する。演算結果を受け取った物性演算部３０は、前記対象となる固体や分子に関する物性値についての予測値を演算解析し（ステップＳ１０８）、出力デバイス１２に出力する（ステップＳ１０９）。
【００４１】
一方、ステップＳ１０５において、判定部２４により残差ｖreskが目標値Ｔより大きいと判定された場合、制御部２７は、残差ｖreskが未だ充分に減少していないと判断し、ステップＳ１１０に進み、入力ポテンシャル演算部２３に新たな入力ポテンシャルｖink+1を演算させる（ステップＳ１１０）。なお、このステップＳ１１０における新たな入力ポテンシャルｖink+1の演算の方法については後述する。
【００４２】
ステップＳ１１０によって、新たな入力ポテンシャルが得られると、制御部２７は、ステップＳ１１１に進み、カウンタ２８の反復回数ｋに「１」を加え（ステップＳ１１１）、ステップＳ１０４に戻る。
制御部２７は、ステップＳ１１０にて得られた新たな入力ポテンシャルｖink+1に基づいて残差演算部２２に、再度、新たな残差ｖresk+1を演算させ（ステップＳ１０４）、判定部２４に新たな残差ｖresk+1を判定させる（ステップＳ１０５）。これを繰り返すことで、判定部２４によって残差が目標値Ｔ以下と判定されるまで、上記演算を反復する。
演算を反復した結果、判定部２４によって残差ｖreskが目標値Ｔ以下であると判定された場合は、ステップＳ１０６に進み、上述の通り処理がなされる。
【００４３】
〔新たな入力ポテンシャルを算出する際の動作について〕
次に、ステップＳ１１０における、新たな入力ポテンシャルｖink+1を算出する際の動作について説明する。
本実施形態の電子ポテンシャル演算装置１０において、基本的には、上記式（ｃ）に基づいて新たな入力ポテンシャルｖink+1を算出するように構成されている。すなわち、仮の残差、及び仮の入力ポテンシャルを算出し、得られた値を上記式（ｃ）中の残差ｖresk及び入力ポテンシャルｖinkとして代入し演算することで、反復回数ｋ＋１における新たな入力ポテンシャルｖink+1を得る。
【００４４】
図４は、図２中ステップＳ１１０における、新たな入力ポテンシャルｖink+1を算出する際の動作を示したフローチャートである。
制御部２７は、判定部２４により残差が目標値Ｔより大きいと判定され（ステップＳ１０５）、ステップＳ１１０に進むと、入力ポテンシャル演算部２３に、カウンタ２８の反復回数ｋの値が１であるか否かを判断させる（ステップＳ２０１）。
【００４５】
反復回数ｋが１であると判断された場合、入力ポテンシャル演算部２３は、ステップＳ２０２に進み、新たな入力ポテンシャルｖink+1を、現状（反復回数ｋ＝１）における入力ポテンシャルｖink、残差ｖresk、及び上記ステップＳ１０１にて入力された緩和係数Ａに基づいて演算する（ステップＳ２０２）。
このとき、入力ポテンシャル演算部２３は、下記式（５）により、新たな入力ポテンシャルｖink+1を演算する。その後、図２に示すフローチャートに戻り、ステップＳ１１１に進んで、カウンタ２８の反復回数ｋに「１」を加え（ステップＳ１１１）、制御部２７は、新たな入力ポテンシャルｖink+1に基づいて再度残差ｖreskの演算を残差演算部２２に行わせる（ステップＳ１０４）。
【００４６】
【数８】
2009229402.tif 000008
【００４７】
一方、図４中、ステップＳ２０１において反復回数ｋが１でないと判断された場合、入力ポテンシャル演算部２３は、ステップＳ２０３に進み、変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを算出する（ステップＳ２０３）。なお、これら変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkの内容ついては、後に詳述する。
【００４８】
図５は、図４中ステップＳ２０３における、変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを算出する際の動作を示したフローチャートである。
図５において、入力ポテンシャル演算部２３は、まず、反復回数ｋが２より大きいか否かを判断する（ステップＳ３０１）。
反復回数ｋが２より大きくないと判断したとき、すなわち、反復回数ｋが２である場合（図４中ステップＳ２０１において、ｋ＝１の場合は除外されているためである。）、入力ポテンシャル演算部２３は、変化ポテンシャル群生成部２３ａに、下記式（６）、式（７）にそれぞれ示される残差変化ポテンシャルδｖresk、及び入力変化ポテンシャル値δｖinkを演算させ、さらにこれらに基づいて、下記式（８）、式（９）にそれぞれ示される残差変化ポテンシャル群ΔＶresk、及び入力変化ポテンシャル群ΔＶinkを生成させる（ステップＳ３０２）。
【００４９】
【数９】
2009229402.tif 000009
【００５０】
残差変化ポテンシャルδｖreskは、現状（反復回数がｋ）の演算結果である残差ｖreskと過去（反復回数がｋ−１）の演算結果である残差ｖresk-1との差を示す値であるが、後の演算を容易にするために、実質的な残差の差（ｖresk−ｖresk-1）をその絶対値で除している。
また、入力変化ポテンシャル値δｖinkは、現状（反復回数がｋ）の演算結果である入力ポテンシャルｖinkと過去（反復回数がｋ−１）の演算結果である入力ポテンシャルｖink-1との差を示す値であるが、後の演算を容易にするために、上記残差変化ポテンシャルδｖresに合わせて実質的な入力ポテンシャルの差（ｖink−ｖink-1）を実質的な残差の差（ｖresk−ｖresk-1）の絶対値で除している。
なお、過去（反復回数がｋ−１）の演算結果である残差ｖresk-1、及び入力ポテンシャルｖink-1は、その演算時に、記憶部１３に記憶されており、上記式（６）、（７）による演算の際、それを参照して演算を行う。
【００５１】
残差変化ポテンシャル群ΔＶreskは、残差変化ポテンシャルδｖresλ（λ≦ｋ）を要素として含む数値群であり、後に示すように、残差演算部２２の反復演算により演算される複数の残差から得られる演算前後の残差変化を示すものであるが、ここでは、反復回数ｋが２であるときの値（δｖreskのみ一つだけ）を要素として含むものとして生成される。
入力変化ポテンシャル群ΔＶinkは、入力変化ポテンシャルδｖinλ（λ≦ｋ）を要素として含む数値群であり、後に示すように、入力ポテンシャル演算部２３の反復演算により演算される複数の入力ポテンシャルから得られる演算前後の入力ポテンシャル変化を示すものであるが、ここでは、反復回数ｋが２であるときの値（δｖinkのみ一つだけ）を要素として含むものとして生成される。
【００５２】
次に、入力ポテンシャル演算部２３は、変換部２３ｂに、ステップＳ３０２にて得られた残差変化ポテンシャル群ΔＶreskについて、ステップＳ１０１にて入力された条件数の上限値Ｓによって特異値分解させることにより、変換残差変化ポテンシャル群Ｗreskを算出させ、さらに、この変換残差変化ポテンシャル群Ｗreskに基づいて、有効部分抽出行列Ｂkを算出する（ステップＳ３０３）。
【００５３】
次いで、入力ポテンシャル演算部２３は、上記残差変化ポテンシャル群ΔＶresk、入力変化ポテンシャル群ΔＶink、及び有効部分抽出行列Ｂkに基づいて、変換入力変化ポテンシャル群Ｗinkを変換部２３ｂに算出させる（ステップＳ３０４）。
以上のようにして、入力ポテンシャル演算部２３は、変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを算出する。
なお、上記特異値分解は、後述するように、複数の数値からなる数値群をベクトル群とみなして演算するものであるが、反復回数ｋが２の場合、残差変化ポテンシャル群ΔＶresk、及び入力変化ポテンシャル群ΔＶinkは、要素としての数値を一つしか持っていないため、実質的な演算は行われない。
【００５４】
また、入力ポテンシャル演算部２３は、算出した変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを記憶部１３に記憶する。
上記ステップＳ３０３、Ｓ３０４における処理内容、及び上記有効部分抽出行列Ｂkについては、後に詳述する。
【００５５】
その後、入力ポテンシャル演算部２３は、図４中のフローチャートのステップＳ２０３に戻る。
【００５６】
一方、図５中のステップＳ３０１において、反復回数ｋが２より大きいと判断したときには、入力ポテンシャル演算部２３は、変化ポテンシャル群生成部２３ａに、上記式（６）、式（７）にそれぞれ示される現状の反復回数における残差変化ポテンシャルδｖresk、及び入力変化ポテンシャル値δｖinkを演算させる。さらに、これらと、記憶部１３に記憶された過去（反復回数がｋ−１）の演算結果による変換残差変化ポテンシャル群Ｗresk-1、及び変換入力変化ポテンシャル群Ｗink-1に基づいて、下記式（１０）、式（１１）にそれぞれ示される残差変化ポテンシャル群ΔＶresk、及び入力変化ポテンシャル群ΔＶinkを生成させる（ステップＳ３０５）。
【００５７】
【数１０】
2009229402.tif 000010
【００５８】
ここで、変化ポテンシャル群生成部２３ａは、上記式（１０）に示すように、過去（反復回数がｋ−１）の演算結果による変換残差変化ポテンシャル群Ｗresk-1と、現状（反復回数がｋ）の残差変化ポテンシャルδｖresk、とを要素として含んだ数値群を残差変化ポテンシャル群ΔＶreskとして生成する。
また、同様に、上記式（１１）に示すように、過去（反復回数がｋ−１）の演算結果による変換入力変化ポテンシャル群Ｗink-1と、現状（反復回数がｋ）の入力変化ポテンシャル値δｖink、とを要素として含んだ数値群を入力変化ポテンシャル群ΔＶinkとして生成する。
【００５９】
次に、入力ポテンシャル演算部２３は、変換部２３ｂに、ステップＳ３０５にて得られた残差変化ポテンシャル群ΔＶreskを、ステップＳ１０１にて入力された条件数の上限値Ｓに基づいて特異値分解することにより、変換残差変化ポテンシャル群Ｗreskに変換し、さらに、この変換残差変化ポテンシャル群Ｗreskに基づいて、有効部分抽出行列Ｂkを算出する（ステップＳ３０３）。
【００６０】
ここで、特異値分解とは、ある数値群をベクトル群とみなし、このベクトル群に含まれるベクトルの内、線形従属性の高いベクトル同士をまとめてしまい、線形独立性の高いベクトル（充分に違いの多い有意性の高い成分）のみを抽出し、互いに独立性の高いベクトル群で構成されるように近似変換するものであり、例えば、下記式（１２）に示す数値群である残差変化ポテンシャル群ΔＶreskを特異値分解すると、下記式（１３）に示す数値群である変換残差変化ポテンシャル群Ｗreskを得ることができる。
【００６１】
【数１１】
2009229402.tif 000011
【００６２】
なお、上記式（１２）において、ｌkは、反復回数ｋから過去の演算にさかのぼって参照すべき過去の演算結果としての要素の個数を示しており、上記式（１３）において、ｍkは、変換残差変化ポテンシャル群Ｗreskに含まれる要素の個数を示している。
上記式（１３）中の変換残差変化ポテンシャル群Ｗreskに含まれる要素である変換残差変化ポテンシャルｗresλ（但し、ｋ−ｍk＋１≦λ≦ｋ）は、それぞれ、特異値分解によって、残差変化ポテンシャル群ΔＶreskに含まれる要素の内、線形従属性の高い要素について一つの要素にまとめられ、互いに線形独立性の高い要素のみが残るように近似変換された結果、得られる要素（値）である。従って、式（１３）における列数としての要素の個数ｍkは、式（１２）における変換前の列数としての要素の個数ｌk以下となるように定まる。つまり、個数ｍkは、特に設定せずとも、特異値分解による変換の際に、変換前（現状）の要素の個数ｌk以下の値に定まる。
また、本実施形態では、変換部２３ｂは、残差変化ポテンシャル群ΔＶreskについて、特異値分解を行うと同時に、直交変換も行う。
なお、特異値分解における条件数の上限値Ｓは、与えられた数値間の独立性がどの程度有意であるかどうかを判定する基準であり、対象の数値群を変換するに当たっての変換後の最大長さを最小長さで除した比であり誤差拡大率を設定するためのパラメータである。
【００６３】
上記のように、変換部２３ｂは、変化ポテンシャル群生成部２３ａにより生成される残差変化ポテンシャル群ΔＶreskを、条件数の上限値Ｓによって特異値分解することにより、互いに独立性の高い要素群で構成される変換残差変化ポテンシャル群Ｗreskに近似変換するように構成されている。
【００６４】
上記ステップＳ３０５にて変化ポテンシャル群生成部２３ａが生成する残差変化ポテンシャル群ΔＶreskは、過去（反復回数がｋ−１）の演算結果による変換残差変化ポテンシャル群Ｗresk-1と、現状（反復回数がｋ）の残差変化ポテンシャルδｖreskとによって構成されており、変換部２３ｂは、この残差変化ポテンシャル群ΔＶreskに対してさらに特異値分解を行うので、反復演算の際、変換部２３ｂは、得られる過去の演算結果の全てについて特異値分解を行うことができ、過去の演算結果の全てを現状の演算に反映することができる。
【００６５】
例えば、過去の演算にさかのぼって参照すべき過去の演算結果としての要素の個数ｌkを予め設定した場合、その参照範囲から外れるより古い過去の演算結果は、演算結果に反映されなくなるので、その中に有効な値が含まれていたとすれば、残差を速やかに減少させる上で、効率を低下させる要因となる。これに対して、本実施形態では、過去の演算結果の全てを現状の演算に反映することができるので、演算の効率を低下させることがない。
【００６６】
また、本実施形態では、演算の際に参照すべき過去の演算結果の個数は、特異値分解による変換の際に、現状の個数以下の値に定まるので、過去の演算にさかのぼって参照すべき過去の演算結果としての要素の個数ｌkを予め設定する必要がない。
さらに、本実施形態では、特異値分解を行った過去の変換残差変化ポテンシャル群Ｗresk-1に現状の残差変化ポテンシャルδｖreskを加えたものを残差変化ポテンシャル群ΔＶreskとして更新して生成し、この生成された残差変化ポテンシャル群ΔＶreskについて特異値分解して変換残差変化ポテンシャル群Ｗreskを算出する。このため、参照すべき過去の演算結果としての要素の個数を予め設定せずに演算を反復したとしても、変換残差変化ポテンシャル群Ｗreskに含まれる要素の個数が無駄に増大化するのを防止することができる。この結果、装置に作用する処理負荷を低減でき、より効率よく速やかに残差を減少させることができる。
【００６７】
以上のように、変換残差変化ポテンシャル群Ｗreskは、反復演算ごとに得られる残差（残差変化ポテンシャル）を反映して更新される残差変化ポテンシャル群ΔＶreskを、特異値分解により変換することによって得られる数値群である。
さらに、変換部２３ｂは、上記のようにして得られた変換残差変化ポテンシャル群Ｗreskに基づいて、下記式（１４）を満たす有効部分抽出行列Ｂkを算出する。
【００６８】
【数１２】
2009229402.tif 000012
【００６９】
有効部分抽出行列Ｂkは、残差変化ポテンシャル群ΔＶreskから有効な部分を取り出す行列であり、後の演算に用いられる。
【００７０】
次に、入力ポテンシャル演算部２３は、ステップＳ３０４に進み、上記入力変化ポテンシャル群ΔＶink、及び有効部分抽出行列Ｂkに基づいて、変換入力変化ポテンシャル群Ｗinkを、変換部２３ｂに算出させる（ステップＳ３０４）。
変換入力変化ポテンシャル群Ｗinkは、下記式（１５）によって求められる。すなわち、変換部２３ｂは、入力変化ポテンシャル群ΔＶinkに有効部分抽出行列Ｂkを乗することで、変換残差変化ポテンシャル群Ｗreskに整合する部分のみを抽出し、その抽出した部分を変換入力変化ポテンシャル群Ｗinkとして得る。
【００７１】
【数１３】
2009229402.tif 000013
【００７２】
上記式（１５）によって得られる変換入力変化ポテンシャル群Ｗinkは、残差変化ポテンシャル群ΔＶreskを特異値分解することで得られる変換残差変化ポテンシャル群Ｗreskに整合する数値群を構成する。つまり、有効部分抽出行列Ｂkは、数値群に対して反復回数ｋにおける特異値分解を行うための変換行列といえる。
また、入力ポテンシャル演算部２３は、算出した変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを記憶部１３に演算を行うごとに更新して記憶する。
【００７３】
その後、入力ポテンシャル演算部２３は、図４中のフローチャートのステップＳ２０３に戻る。
【００７４】
以上のようにして、入力ポテンシャル演算部２３は、図４中のフローチャートのステップＳ２０３において、変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを算出する。
【００７５】
次に、入力ポテンシャル演算部２３は、図４中ステップＳ２０４に進み、後述するパラメータｘを演算部２３ｃに算出させ（ステップＳ２０４）、上記各ステップにて算出した変換残差変化ポテンシャル群Ｗresk、変換入力変化ポテンシャル群Ｗink、及びパラメータｘに加えて、現状の入力ポテンシャルｖink、現状の残差ｖresk、及び緩和係数Ａによって、新たな入力ポテンシャルｖink+1を、演算部２３ｃに演算させる（ステップＳ２０５）。
【００７６】
ここで、ステップＳ２０４、及びＳ２０５において、演算部２３ｃが、上記変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkを用いて、新たな入力ポテンシャルｖink+1を算出する処理について説明する。
【００７７】
上述したように、新たな入力ポテンシャルｖink+1は、上記式（ｃ）（式（５））を基本として演算され、過去の演算結果を参照しつつ残差を減少させるためには、上記式（ｄ）に基づいて、演算が行われる。
本実施形態においては、上記式（ｄ）に代入される仮の残差、及び仮の入力ポテンシャルを、下記式（１６）及び式（１７）によって定義する。
【００７８】
【数１４】
2009229402.tif 000014
【００７９】
演算部２３ｃは、式（１６）、式（１７）に示される仮の残差及び仮の入力ポテンシャルを求め、さらにこれらを上記式（ｃ）（式（５））に代入することで、新たな入力ポテンシャルｖink+1を算出する。
【００８０】
上記式（１６）において、「ｖresλ−ｖresλ-1」を「ｖresλ−ｖresλ-1」の絶対値で除しているが、これは、「ｖresλ−ｖresλ-1」によって表される数値群をベクトルとみなしたときにその長さが全て１となるように規格化するためである。これに合わせて、式（１７）における「ｖinλ−ｖinλ-1」についても、同様に「ｖresλ−ｖresλ-1」の絶対値で除している。また、式（１６）、式（１７）中、パラメータｘλは、仮の残差を最小化するときの変数であり、仮の残差を最小化したときの値を上記式（１６）、式（１７）に代入することで、仮の残差及び仮の入力ポテンシャルが算出される。
なお、本実施形態において、上記演算は、上述のステップＳ３０２、Ｓ３０５において、残差変化ポテンシャルδｖresk、及び入力変化ポテンシャル値δｖinkを演算するための式（６）、式（７）によって行われる。
式（１６）、式（１７）は、それぞれ上記式（６）、式（７）を適用することで、下記式（１８）、式（１９）のように表される。
【００８１】
【数１５】
2009229402.tif 000015
【００８２】
本実施形態では、上記式（１８）、式（１９）に対して過去の演算結果を反映させるために、上記式（８）〜（１１）を適用する。その結果、仮の残差及び仮の入力ポテンシャルは、下記式（２０）、式（２１）のように表される。
【００８３】
【数１６】
2009229402.tif 000016
【００８４】
上記式（２０）、式（２１）中、パラメータ群Ｘkは、数値群である残差変化ポテンシャル群ΔＶresk、及び入力変化ポテンシャル群ΔＶinkに合わせて、下記式（２２）に示すパラメータを要素とする数値群（行列）として表される。
【００８５】
【数１７】
2009229402.tif 000017
【００８６】
なお、式（２０）中の残差変化ポテンシャル群ΔＶreskは、上述したように、過去の演算結果による変換残差変化ポテンシャル群Ｗresk-1と、現状の残差変化ポテンシャルδｖreskとによって構成された数値群であり、式（２１）中の入力変化ポテンシャル群ΔＶinkは、過去の演算結果による変換入力変化ポテンシャル群Ｗink-1と、現状の入力変化ポテンシャル値δｖink、とによって構成された数値群であり、これらは、上述したように図５中のステップＳ３０２及びＳ３０５によって生成される。
【００８７】
さらに本実施形態では、下記式（２３）、式（２４）に示すように、式（２０）中の残差変化ポテンシャル群ΔＶreskについて特異値分解を行い、入力変化ポテンシャル群ΔＶinkについては、特異値分解に整合する演算を行い、得られる変換残差変化ポテンシャル群Ｗresk、及び、変換入力変化ポテンシャル群Ｗinkを上記式（２０）、式（２１）に適用し、仮の残差及び仮の入力ポテンシャルを算出する。なお、変換残差変化ポテンシャル群Ｗreskは、図５中ステップＳ３０３にて算出され、変換入力変化ポテンシャル群Ｗinkは、図５中ステップＳ３０４にて算出される。
【００８８】
【数１８】
2009229402.tif 000018
【００８９】
すなわち、演算部２３ｃは、過去の変換残差変化ポテンシャル群Ｗresk-1を含む残差変化ポテンシャル群ΔＶreskを特異値分解することで得た変換残差変化ポテンシャル群Ｗreskに基づいて、仮の残差を求める。
また同様に、演算部２３ｃは、過去の変換入力変化ポテンシャル群Ｗink-1を含む入力変化ポテンシャル群ΔＶinkから算出される変換残差変化ポテンシャル群Ｗreskに整合する変換入力変化ポテンシャル群Ｗinkに基づいて、仮の入力ポテンシャルを算出する。
なお、上記式（２３）、（２４）中、ｍkは、上述したように、変換残差変化ポテンシャル群Ｗreskに含まれる要素の個数を示しており、特異値分解による変換によって定まる値である。
また、上記式（２３）、式（２４）において、パラメータ群Ｙkは、上記式（２０）、式（２１）におけるパラメータ群Ｘkに対応するものであり、下記式に示すように、変換残差変化ポテンシャル群Ｗresk、及び変換入力変化ポテンシャル群Ｗinkに対応するｍk個の（仮の残差を最小化するための変数である）パラメータｙλを要素とする数値群（行列）として表される。
【００９０】
【数１９】
2009229402.tif 000019
【００９１】
ここで、上記式（２３），（２４）から仮の残差及び仮の入力ポテンシャルを算出するには、仮の残差を最小化するパラメータ群Ｙ´k（パラメータｙ´λ）を求める必要がある。
仮の残差を最小化するパラメータ群Ｙ´kは、上記式（２３）より、下記式（２５）のように表される。
【００９２】
【数２０】
2009229402.tif 000020
【００９３】
演算部２３ｃは、上記式（２５）に基づいて、ステップＳ２０３にて得られた変換残差変化ポテンシャル群Ｗreskを用いて、仮の残差を最小化するパラメータ群Ｙ´kを算出する（ステップＳ２０４）。なお、この仮の残差を最小化するパラメータ群Ｙ´kは、残差に対する変換残差変化ポテンシャル群Ｗreskの類似度を示している。
【００９４】
次いで、演算部２３ｃは、上記式（２３），（２４）それぞれに、式（２５）で得られた仮の残差を最小化するパラメータ群Ｙ´kを代入し、パラメータ群Ｙ´kと変換残差変化ポテンシャル群Ｗreskとの一次結合、及び、パラメータ群Ｙ´kと変換入力変化ポテンシャル群Ｗinkとの一次結合を求めることで、仮の残差及び仮の入力ポテンシャルを算出する。
そして、この仮の残差及び仮の入力ポテンシャルを上記式（ｃ）（式（５））に代入することで、新たな入力ポテンシャルｖink+1を算出する（ステップＳ２０５）。
【００９５】
ステップ２０５にて新たな入力ポテンシャルｖink+1を得ると、ステップＳ１１０に戻り、制御部２７は、ステップＳ１１１、ステップＳ１０４と進む。その後の処理は、上述の通りである。
【００９６】
以上のようにして、本実施形態の電子ポテンシャル演算装置は、第一原理計算を反復演算することで、残差ｖreskが充分に減少したと判断しうる値まで減少させ、電子ポテンシャルを演算、算出することができる。
【００９７】
上記のように構成された本実施形態の電子ポテンシャル演算装置１０において、残差変化ポテンシャル群ΔＶresは、変換部２３ｂによる特異値分解によって、当該残差変化ポテンシャル群ΔＶresに含まれる要素の内、線形従属性の高い要素について一つの要素にまとめられることで、互いに線形独立性の高い要素のみが残るように近似変換されるので、特異値分解後の変換残差変化ポテンシャル群Ｗresの要素の個数は、当該特異値分解の結果によって、残差変化ポテンシャル群ΔＶresの要素の個数以下に定まる。
演算部は、変換残差変化ポテンシャル群Ｗresに基づいて演算を行うので、演算部２３ｃによる演算の際に参照すべき過去の演算結果の個数は、変換残差変化ポテンシャル群Ｗresの要素の個数と一致する。すなわち、参照すべき過去の演算結果の個数である変換残差変化ポテンシャル群Ｗresの要素の個数は、特異値分解による変換によって定まるので、過去にさかのぼって参照すべき過去の演算結果の個数を予め設定する必要がない。
【００９８】
すなわち、互いに残差が充分に減少したと判断されるまでの反復回数に大きく影響を及ぼす設定値である、参照すべき過去の演算結果の個数、及び条件数の上限値Ｓの内、参照すべき過去の演算結果の個数については、予め設定する必要がなくなるので、条件数の上限値Ｓについての好適な値の推定が容易となる。この結果、効率よく速やかに残差を減少させることが可能となる。従って、演算の反復回数を減らすことができ、速やかに電子ポテンシャルを演算することができる。
【００９９】
さらに、本発明の電子ポテンシャル演算装置１０では、特異値分解を行った過去の変換残差変化ポテンシャル群Ｗresk-1に現状の残差変化ポテンシャルδｖreskを加えたものを残差変化ポテンシャル群ΔＶreskとして更新して生成し、この生成された残差変化ポテンシャル群ΔＶreskについて特異値分解して変換残差変化ポテンシャル群Ｗreskを算出する。このため、参照すべき過去の演算結果としての要素の個数を予め設定せずに演算を反復したとしても、変換残差変化ポテンシャル群Ｗreskに含まれる要素の個数が無駄に増大化することを防止することができる。この結果、装置に作用する処理負荷を低減でき、より効率よく速やかに残差を減少させることができる。
【０１００】
〔効果の確認について〕
本発明者は、本実施形態による電子ポテンシャル演算装置１０によって、実際に電子ポテンシャルの演算を行い、従来の方法（Ａｎｄｅｒｓｏｎ法）で演算を行った場合と比較してその効果の検証を行った。
演算対象としては、ＺｎＯを採用し、原子位置の緩和まで行った場合の電子ポテンシャルを演算する場合の反復回数をカウントした。また、実施例としては、上記実施形態による電子ポテンシャル演算装置１０を用いて演算を行い、比較例としては、Ａｎｄｅｒｓｏｎ法に基づいて演算を行い、両者の演算の反復回数を比較することで評価した。その結果を図６に示す。
【０１０１】
なお、演算に際して、緩和係数Ａは、０．２（図６（ａ））と、１．６（図６（ｂ））の２水準、条件数の上限値（図では逆数１／Ｓで示している）は、図６のように４水準に設定し、比較例における参照すべき過去の演算結果の個数ｌｍａｘは、４水準に設定した。また、図６中の実施例の欄における括弧内の数値は、反復演算する上で、自動的に定まった参照すべき過去の演算結果の個数ｍである。
【０１０２】
図６を見ると、実施例では、条件に関わらず、反復回数が４０回前後と安定した数値が得られていることが判る。一方、比較例では、４０回前後から最大で１６７回と条件の違いに対して数値の幅が大きくなっている。
また、条件によっては、実施例と比較例との差がほぼ同等である場合もあるが、全体として、実施例の場合の方が少ない反復回数となっていると言える。
【０１０３】
この結果より、本実施形態による電子ポテンシャル演算装置によれば、条件に関わらず、安定して少ない反復回数で演算を行うことで、反復回数を減らすことができ、より効率よく速やかに電子ポテンシャルを演算することができることが明らかとなった。
【０１０４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【図面の簡単な説明】
【０１０５】
【図１】本発明の一実施形態に係る電子ポテンシャル演算装置の構成を示す図である。
【図２】本実施形態の電子ポテンシャル演算装置の具体的な動作を示したフローチャートである。
【図３】数値情報の入力を受け付けるためのディスプレイ表示の一例である。
【図４】図２中ステップＳ１１０における、新たな入力ポテンシャルを算出する際の動作を示したフローチャートである。
【図５】図４中ステップＳ２０３における、変換残差変化ポテンシャル群、及び変換入力変化ポテンシャル群を算出する際の動作を示したフローチャートである。
【図６】電子ポテンシャルの演算を行い、演算の反復回数をカウントした結果を示す図であり、（ａ）は緩和係数Ａが０．２の場合、（ｂ）は緩和係数Ａが１．６の場合の結果を示す図である。
【符号の説明】
【０１０６】
１０      電子ポテンシャル演算装置
１１      入力デバイス
１２      出力デバイス
２２      残差演算部
２３      入力ポテンシャル演算部
２３ａ    変化ポテンシャル群生成部（残差変化ポテンシャル群生成部、入力変化ポテンシャル群生成部）
２３ｂ    変換部（変換入力変化ポテンシャル群算出部）
２３ｃ    演算部
２４      判定部
２７      制御部（反復演算部）
【図１】
2009229402.tif 000023
【図２】
2009229402.tif 000024
【図３】
2009229402.tif 000025
【図４】
2009229402.tif 000026
【図５】
2009229402.tif 000027
【図６】
2009229402.tif 000028