(57)【要約】  計算量を軽減して高速・高精度で数値シミュレーションを実行することができる数値シミュレーション装置を提供する。  時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションを実行する数値シミュレーション装置（１００）は、プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する実時間発展演算部（１０６）と、実時間発展演算部（１０６）で所定の時間ずつ発展させながら得られた各時刻における第２種波動関数の演算結果を記憶する演算結果記憶部（１０８）とを備える。
2008032646.tif 000002
【特許請求の範囲】
【請求項１】
時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションを実行する数値シミュレーション装置であって、
プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する時間発展演算手段と、
前記時間発展演算手段で所定の時間ずつ発展させながら得られた各時刻における前記第２種波動関数の演算結果を記憶する演算結果記憶手段と
を備えることを特徴とする数値シミュレーション装置。
【請求項２】
前記数値シミュレーション装置は、
初期時刻の前記第２種波動関数としてパルス関数を記憶する初期波動関数記憶手段と、
前記初期波動関数記憶手段で記憶されている前記パルス関数から前記時間発展演算手段によって得られた前記第２種波動関数の演算結果を使用して、所定のエネルギーに関して前記第２種波動関数の周波数解析を行い、前記所定のエネルギーに対する散乱問題の定常解を計算する周波数解析手段と
を備えることを特徴とする請求項１に記載の数値シミュレーション装置。
【請求項３】
前記時間発展演算手段は、時間に虚数を乗算して得られた虚時間を使用して、前記第２種波動関数の虚時間発展を演算する
ことを特徴とする請求項１に記載の数値シミュレーション装置。
【請求項４】
前記数値シミュレーション装置は、数値シミュレーションが実行されるモデルの境界領域における波動関数によって前記モデルに与えられる影響が吸収されるようにして重み付けされた吸収係数を記憶する吸収境界条件記憶手段を備え、
前記吸収境界条件記憶手段で記憶されている前記吸収係数を使用して、前記第２種波動関数の時間発展を演算する
ことを特徴とする請求項１に記載の数値シミュレーション装置。
【請求項５】
時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションを実行する数値シミュレーション方法であって、
プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する時間発展演算ステップと、
前記時間発展演算ステップで所定の時間ずつ発展させながら得られた各時刻における前記第２種波動関数の演算結果を記憶する演算結果記憶ステップと
を含むことを特徴とする数値シミュレーション方法。
【請求項６】
時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションをコンピュータシステムに実行させる数値シミュレーションプログラムであって、
プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する時間発展演算ステップと、
前記時間発展演算ステップで所定の時間ずつ発展させながら得られた各時刻における前記第２種波動関数の演算結果を記憶する演算結果記憶ステップと
をコンピュータシステムに実行させることを特徴とする数値シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ナノスケールによる特性を考慮した電子デバイスや量子コンピュータの開発を行うにあたり必要となる数値シミュレーション装置に関し、特に、計算量を軽減して高速・高精度で数値シミュレーションを実行することができる数値シミュレーション装置に関する。
【背景技術】
【０００２】
近年、ナノスケールの電子デバイスや量子コンピュータなどが活発に研究されている。そして、電子デバイスのスケールが電子の平均自由行程である約１０ｎｍ程度、または、それよりも小さな構造体になると、電気伝導度などの電気的・磁気的特性に、量子的効果が顕著に現れる。これに伴い、通常のマクロスケールの電気的・磁気的特性に基づいた方法によって、これらを設計・開発することが困難になる。このため、これらを設計・開発するにあたって、電子の散乱、透過、反射、干渉、振動、減衰、励起などの動的挙動を高速かつ正確に数値シミュレーションすることが可能な数値シミュレーション装置が必要とされている。【０００３】
例えば、ナノスケールの電子デバイスの微細化や高集積化に伴い、伝導電子のパスが原子サイズになる（例えば、図１（ａ）参照。）。これに伴い、バリスティック伝導などのように、ナノ領域特有の電子輸送特性が現れる。このため、酸化シリコンのリーク電流の評価、量子ワイヤー（例えば、図１（ｂ）参照。）の伝導特性において、時間依存シュレディンガー方程式を利用して伝導特性を数値シミュレーションする必要がある。【０００４】
一般的に、伝導特性を数値シミュレーションするにあたり、散乱問題について定常状態のシュレディンガー方程式を使用する。これに伴い、散乱問題についての定常状態のシュレディンガー方程式を数値シミュレーションする方法が色々と提案されている。その一つとして、実空間差分法を利用したＯＢＭ（Overbridging Boundary-Matching）法がある（例えば、非特許文献１参照。）。【０００５】
また、一方では、時間に依存するシュレディンガー方程式を直接解くことで、電子の動的な振る舞いを明らかにする方法もある。この場合において、下記の式（１）で示される時間依存シュレディンガー方程式を使用する。【０００６】
【数１】
2008032646.tif 000003
【０００７】
ここで、HはHamiltonianであり、下記の式（２）で示される。△は、Laplacianであり、下記の式（３）で示される。V(r, t)は、電子の受けるポテンシャルである。また、単位系として原子単位系を使用している。電子の質量m=1、電気素量e=1、h/2π=1としている。hはPlank定数である。【０００８】
【数２】
2008032646.tif 000004
【０００９】
【数３】
2008032646.tif 000005
【００１０】
さらに、上記の式（１）の解を、プロパゲーターK（Feynman Kernel）を使用して経路積分で表すと、下記の式（４）で示される。ここで、Ψ(r, t0)は、初期時刻t0における波動関数である。【００１１】
【数４】
2008032646.tif 000006
【００１２】
上記の式（４）は、経路積分を使用して表せることが知られている。例えば、微小時間Δｔ後の波動関数は、下記の式（５）で示される（例えば、非特許文献２参照。）。【００１３】
【数５】
2008032646.tif 000007
【非特許文献１】K.Hirose, T.Ono et.al., First-Principles Calculations in Real-Space Formalism, Imperial College Press, London (2005)
【非特許文献２】Ｒ．Ｐ．ファインマン／Ａ．Ｒ．ヒッブス著／北原和夫訳、「ファインマン経路積分と量子力学」マグロウヒル出版、１９９０年７月発行
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、これまでの計算方法では、その計算負荷の大きさから小規模なモデルによる計算と定性的な評価しか試みられてこなかった。例えば、上記の式（５）を利用した数値シミュレーションでは、積分を逐次実行して時間t後の正確な解を求める処理に、膨大な計算量が必要となる。このため、上記の式（５）を使用した数値シミュレーションでは、小規模なモデルを数値シミュレーションすることができるにすぎない。すなわち、具体的な原子から成る三次元構造の電子デバイスや量子コンピュータの設計ツールとしては十分機能していないのが現状である。【００１５】
そこで、本発明は、上記課題に鑑みてなされたものであり、計算量を軽減して高速・高精度で数値シミュレーションを実行することができる数値シミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、（ａ）時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションを実行する数値シミュレーション装置であって、（ａ１）プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する時間発展演算手段と、（ａ２）前記時間発展演算手段で所定の時間ずつ発展させながら得られた各時刻における前記第２種波動関数の演算結果を記憶する演算結果記憶手段とを備える。【００１７】
これによって、時間依存シュレディンガー方程式による波動関数の時間発展数値計算を高速かつ高精度に行うことができる。【００１８】
または、（ｂ）前記数値シミュレーション装置は、（ｂ１）初期時刻の前記第２種波動関数としてパルス関数を記憶する初期波動関数記憶手段と、（ｂ２）前記初期波動関数記憶手段で記憶されている前記パルス関数から前記時間発展演算手段によって得られた前記第２種波動関数の演算結果を使用して、所定のエネルギーに関して前記第２種波動関数の周波数解析を行い、前記所定のエネルギーに対する散乱問題の定常解を計算する周波数解析手段とを備えるとしてもよい。【００１９】
これによって、散乱問題の定常解を数値計算により高速かつ高精度に求めることができる。【００２０】
または、（ｃ）前記時間発展演算手段は、時間に虚数を乗算して得られた虚時間を使用して、前記第２種波動関数の虚時間発展を演算するとしてもよい。【００２１】
これによって、基底状態および励起状態を求める際に利用される波動関数の虚時間発展数値計算を高速かつ高精度に行うことができる。【００２２】
または、（ｄ）前記数値シミュレーション装置は、数値シミュレーションが実行されるモデルの境界領域における波動関数によって前記モデルに与えられる影響が吸収されるようにして重み付けされた吸収係数を記憶する吸収境界条件記憶手段を備え、前記吸収境界条件記憶手段で記憶されている前記吸収係数を使用して、前記第２種波動関数の時間発展を演算するとしてもよい。【００２３】
これによって、無限遠の境界条件を設定する際に必要であった大きな計算領域を大幅に減少させることができる。【００２４】
なお、本発明は、数値シミュレーション装置として実現されるだけではなく、数値シミュレーション装置を制御する数値シミュレーション方法、数値シミュレーション方法を１以上のコンピュータシステムなどに実行させる数値シミュレーションプログラム、数値シミュレーションプログラムを記録した記録媒体などとして実現されるとしてもよい。また、数値シミュレーション装置の機能が組み込まれたＬＳＩ（Large Scale Integration）、その機能をＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）などのプログラマブル・ロジック・デバイスに形成するＩＰ（Intellectual Property）コア、そのＩＰコアを記録した記録媒体などとして実現されるとしてもよい。
【発明の効果】
【００２５】
本発明によれば、Bessel関数を使用して表された波動関数を使用することによって、時間依存シュレディンガー方程式による波動関数の時間発展数値計算を高速かつ高精度に行うことができる。散乱問題の定常解を数値計算により高速かつ高精度に求めることができる。基底状態および励起状態を求める際に利用される波動関数の虚時間発展数値計算を高速かつ高精度に行うことができる。無限遠の境界条件を設定する際に必要であった大きな計算領域を大幅に減少させることができる。【００２６】
さらに、現在の電子状態計算手法の主流である密度汎関数理論に適用すれば、Kohn-Sham方程式の数値解を高速に得ることができる。このため、現実のモデルに対する電子の動的挙動を数値シミュレーションすることができる。これにより、ナノスケールの電子デバイスや量子コンピュータの設計手法として利用することができる。
【図面の簡単な説明】
【００２７】
【図１】図１（ａ）は、ナノスケールの電子デバイスの概要を示す図である。図１（ｂ）は、量子ワイヤーの概要を示す図である。
【図２】図２は、本発明に係わる実施の形態における数値シミュレーション装置の構成を示す図である。
【図３】図３は、本発明に係わる実施の形態における数値シミュレーション装置において実行される数値シミュレーション処理を示す図である。
【図４】図４は、Bessel関数の値および被積分関数の実数部を示す図である。
【図５】図５は、吸収境界条件における波動関数に掛ける係数の設定例を示す図である。
【図６】図６は、ポテンシャル障壁による１次元散乱問題を示す図である。
【図７】図７は、時間発展させた波動関数の周波数を解析した結果と、ポテンシャル障壁に対する透過率を計算した結果とを示す図である。
【図８】図８は、２次元ワイヤーモデルを示す図である。
【図９】図９は、２次元ワイヤーモデルにおける周波数を解析した結果と、コンダクタンスを計算した結果を示す図である。
【図１０】図１０は、吸収境界条件を適用して得られた散乱波動関数を示す図である。
【図１１】図１１は、計算コストの評価を示す図である。
【符号の説明】
【００２８】
１００  数値シミュレーション装置
１０１  計算条件設定部
１０２  計算条件記憶部
１０３  初期値設定部
１０４  初期値記憶部
１０５  実時間発展判定部
１０６  実時間発展演算部
１０７  虚時間発展演算部
１０８  演算結果記憶部
１０９  周波数解析部
１１０  解析結果記憶部
１１１  物性値計算部
１１２  計算結果記憶部
１１３  計算結果出力部
【発明を実施するための最良の形態】
【００２９】
（実施の形態）
以下、本発明に係わる実施の形態について、図面を参照しながら説明する。【００３０】
本実施の形態における数値シミュレーション装置は、下記（ａ）〜（ｄ）に示される特徴を備える。【００３１】
（ａ）時間依存シュレディンガー方程式の解である波動関数を使用した数値シミュレーションを実行する数値シミュレーション装置であって、（ａ１）プロパゲーターを使用して表された第１種波動関数に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数を、初期時刻から所定の時間ずつ発展させながら演算する時間発展演算機能と、（ａ２）時間発展演算機能で所定の時間ずつ発展させながら得られた各時刻における前記第２種波動関数の演算結果を記憶する演算結果記憶機能とを備える。【００３２】
（ｂ）数値シミュレーション装置は、（ｂ１）初期時刻の第２種波動関数としてパルス関数を記憶する初期波動関数記憶機能と、（ｂ２）初期波動関数記憶機能で記憶されているパルス関数から時間発展演算機能によって得られた第２種波動関数の演算結果を使用して、所定のエネルギーに関して第２種波動関数の周波数解析を行い、所定のエネルギーに対する散乱問題の定常解を計算する周波数解析機能とを備える。【００３３】
（ｃ）時間発展演算機能は、時間に虚数を乗算して得られた虚時間を使用して、第２種波動関数の虚時間発展を演算する。【００３４】
（ｄ）数値シミュレーション装置は、数値シミュレーションが実行されるモデルの境界領域における波動関数によってモデルに与えられる影響が吸収されるようにして重み付けされた吸収係数を記憶する吸収境界条件記憶機能を備え、吸収境界条件記憶機能で記憶されている吸収係数を使用して、第２種波動関数の時間発展を演算する。【００３５】
以上の点を踏まえて、本実施の形態における数値シミュレーション装置について説明する。【００３６】
図２は、本実施の形態における数値シミュレーション装置の構成を示す図である。図２に示されるように、数値シミュレーション装置１００は、計算条件設定部１０１、計算条件記憶部１０２、初期値設定部１０３、初期値記憶部１０４、実時間発展判定部１０５、実時間発展演算部１０６、虚時間発展演算部１０７、演算結果記憶部１０８、周波数解析部１０９、解析結果記憶部１１０、物性値計算部１１１、計算結果記憶部１１２、計算結果出力部１１３などを備える。【００３７】
計算条件設定部１０１は、数値シミュレーションが実行されるときに、入力デバイス（不図示）を介してオペレータ（不図示）から計算条件データを受け付けたり、計算条件データが記録されているファイル（不図示）から計算条件データを読み出したりする。そして、オペレータから受け付けた計算条件データやファイルから読み出した計算条件データを起算条件記憶部１０２に出力する。ここで、計算条件データとして、空間の大きさ（Lx, Ly, Lz）、空間の刻み幅（hx, hy, hz）、時間の刻み幅（Δt）、計算時間（T）などがある。【００３８】
計算条件記憶部１０２は、計算条件設定部１０１から出力された計算条件データを記憶する。【００３９】
初期値設定部１０３は、数値シミュレーションが実行されるときに、入力デバイス（不図示）を介してオペレータ（不図示）から初期値を受け付けたり、初期値が記録されているファイル（不図示）から初期値を読み出したりする。そして、オペレータから受け付けた初期値やファイルから読み出した初期値を初期値記憶部１０４に出力する。ここで、初期値として、初期波動関数（χ(rj, t0)）、初期ポテンシャル（V(rj, t)）、吸収境界条件などがある。【００４０】
初期値記憶部１０４は、初期値設定部１０３から出力された初期値を記憶する。【００４１】
実時間発展判定部１０５は、数値シミュレーションが実行されるときに、入力デバイス（不図示）を介してオペレータ（不図示）から指示データを受け付けたり、指示データが記録されているファイル（不図示）から指示データを読み出したりする。そして、オペレータから受け付けた指示データやファイルから読み出した指示データから、実時間発展演算処理を実行するか否かを判定する。判定した結果、実時間発展演算処理を実行する場合は、実時間発展演算部１０６を呼び出して、実時間発展演算処理を実行させる。一方、実時間発展演算処理を実行しない場合は、虚時間発展演算部１０７を呼び出して、虚時間発展演算処理を実行させる。【００４２】
実時間発展演算部１０６は、実時間発展判定部１０５から呼び出されると、実時間発展演算処理を実行する。このとき、計算条件記憶部１０２で記憶されている計算条件と、初期値記憶部１０４で記憶されている初期値とを使用して実時間発展演算処理を実行する。実行して得られた演算結果を、演算結果記憶部１０８に出力する。【００４３】
「実時間発展演算処理」とは、所定の時刻tの波動関数を使用して、所定の時刻tから微小時間Δtだけ発展させた時刻t+Δtの波動関数を演算する。さらに、演算して得られた波動関数を使用して、この演算処理を繰り返すことによって、波動関数の時間発展を演算する処理である。【００４４】
なお、時間依存シュレディンガー方程式の解である波動関数として、プロパゲーター（Feynman Kernel）を使用して経路積分で表された第１種波動関数（上記の式（５））に対して実空間差分法における中心差分近似を適用して得られ、かつBessel関数を使用して表された第２種波動関数（下記の式（６））を使用する。【００４５】
なお、第２種波動関数は、時間発展Green関数を使用して表された波動関数に対して実空間差分法における中心差分近似を適用して得られるとしてもよい。【００４６】
さらに、実時間発展演算部１０６は、実時間発展演算処理が終了すると、周波数解析部１０９と物性値計算部１１１とを呼び出し、周波数解析処理と物性値計算処理とを実行させる。そして、これらの処理が終了すると、計算結果出力部１１３を呼び出し、一連の処理を終了する。【００４７】
虚時間発展演算部１０７は、実時間発展判定部１０５から呼び出されると、虚時間発展演算処理を実行する。このとき、計算条件記憶部１０２で記憶されている計算条件と、初期値記憶部１０４で記憶されている初期値とを使用して虚時間発展演算処理を実行する。実行して得られた演算結果を、演算結果記憶部１０８に出力する。【００４８】
「虚時間発展演算処理」とは、実時間に虚数を乗算して得られた虚時間を使用して、波動関数の虚時間発展を演算する処理である。【００４９】
さらに、虚時間発展演算部１０７は、虚時間発展演算処理が終了すると、物性値計算部１１１を呼び出し、物性値計算処理を実行させる。そして、物性値計算処理が終了すると、計算結果出力部１１３を呼び出し、一連の処理を終了する。【００５０】
演算結果記憶部１０８は、実時間発展演算部１０６から出力された演算結果を記憶する。同様に、虚時間発展演算部１０７から出力された演算結果を記憶する。【００５１】
周波数解析部１０９は、実時間発展演算部１０６から呼び出されると、周波数解析処理を実行する。このとき、計算条件記憶部１０２で記憶されている計算条件データと、初期値記憶部１０４で記憶されている初期値と、演算結果記憶部１０８で記憶されている演算結果とを使用して周波数解析処理を実行する。実行して得られた解析結果を解析結果記憶部１１０に出力する。【００５２】
「周波数解析処理」とは、初期時刻の波動関数として記憶されているパルス関数から実時間発展演算処理によって得られた演算結果を使用して、所定のエネルギーに関して波動関数の周波数解析を行い、所定のエネルギーに対する散乱問題の定常解を計算する処理である。【００５３】
解析結果記憶部１１０は、周波数解析部１０９から出力された解析結果を記憶する。【００５４】
物性値計算部１１１は、実時間発展演算部１０６から呼び出されると、物性値計算処理を実行する。このとき、計算条件記憶部１０２で記憶されている計算条件データと、初期値記憶部１０４で記憶されている初期値と、演算結果記憶部１０８で記憶されている演算結果とを使用して物性値計算処理を実行する。実行して得られた計算結果を計算結果記憶部１１２に出力する。【００５５】
また、物性値計算部１１１は、虚時間発展演算部１０７から呼び出されると、物性値計算処理を実行する。このとき、計算条件記憶部１０２で記憶されている計算条件データと、初期値記憶部１０４で記憶されている初期値と、演算結果記憶部１０８で記憶されている演算結果とを使用して物性値計算処理を実行する。実行して得られた計算結果を計算結果記憶部１１２に出力する。【００５６】
「物性値計算処理」とは、数値計算によって得られた固有関数と固有値を基にして導電率などの物性値を計算する処理である。なお、計算して得られた固有関数や固有値などを使用して、さらに、下記（１）〜（８）に示される物性値を計算するとしてもよい。【００５７】
（１）電荷密度の空間分布を計算するとしてもよい。【００５８】
（２）電子状態密度のエネルギー依存性を計算するとしてもよい。【００５９】
（３）原子に働く力などを計算するとしてもよい。さらに、計算して得られた原子に働く力を使用して、原子の運動を追跡する分子動力学シミュレーションを実行し、最適原子構造の探索や化学反応の追跡する処理を実行するとしてもよい。【００６０】
（４）系の全エネルギーから断熱ポテンシャル曲線を計算し、計算して得られた断熱ポテンシャル曲線から弾性係数を計算するとしてもよい。【００６１】
（５）原子の振動スペクトルを計算するとしてもよい。さらに、計算して得られた原子の振動スペクトルを使用して、赤外線の吸収スペクトルを計算するとしてもよい。【００６２】
（６）反射率、誘電率などの光学物性を計算するとしてもよい。【００６３】
（７）励起エネルギーを計算するとしてもよい。【００６４】
（８）電子のスピンの状態から、磁気的物性を計算するとしてもよい。【００６５】
計算結果記憶部１１２は、物性値計算部１１１から出力された計算結果を記憶する。【００６６】
計算結果出力部１１３は、実時間発展演算部１０６から呼び出されると、演算結果記憶部１０８で記憶されている演算結果と、解析結果記憶部１１０で記憶されている解析結果と、計算結果記憶部１１２で記憶されている計算結果とを出力する。このとき、これらを、出力デバイス（不図示）を介してオペレータに出力したり、ファイルに出力したりする。【００６７】
また、計算結果出力部１１３は、虚時間発展演算部１０７から呼び出されると、演算結果記憶部１０８で記憶されている演算結果と、計算結果記憶部１１２で記憶されている計算結果とを出力する。このとき、これらを、出力デバイス（不図示）を介してオペレータに出力したり、ファイルに出力したりする。【００６８】
次に、本実施の形態における数値シミュレーション装置１００において実行される数値シミュレーション処理について説明する。【００６９】
図３は、本実施の形態における数値シミュレーション装置１００において実行される数値シミュレーション処理を示す図である。図３に示されるように、数値シミュレーション装置１００は、計算条件を設定する（Ｓ１０１）。このとき、計算条件設定部１０１は、入力デバイスを介してオペレータから計算条件データを受け付けたり、計算条件データが記録されているファイルから計算条件データを読み出したりする。オペレータから受け付けた計算条件データや、ファイルから読み出した計算条件データを計算条件記憶部１０２に出力する。計算条件記憶部１０２は、計算条件設定部１０１から出力された計算条件データを記憶する。【００７０】
次に、数値シミュレーション装置１００は、初期値を設定する（Ｓ１０２）。このとき、初期値設定部１０３は、入力デバイスを介してオペレータから初期値を受け付けたり、初期値が記録されているファイルから初期値を読み出したりする。オペレータから受け付けた初期値やファイルから読み出した初期値を初期値記憶部１０４に出力する。初期値記憶部１０４は、初期値設定部１０３から出力された初期値を記憶する。【００７１】
次に、数値シミュレーション装置１００は、実時間発展演算処理を実行するか否かを判定する（Ｓ１０３）。このとき、実時間発展判定部１０５は、入力デバイスを介してオペレータから指示データを受け付けたり、指示データが記録されているファイルから指示データを読み出したりする。オペレータから受け付けた指示データやファイルから読み出した指示データに基づいて、実時間発展演算処理を実行するか否かを判定する。【００７２】
次に、数値シミュレーション装置１００は、判定した結果、実時間発展演算処理を実行する場合は（Ｓ１０３：Ｙｅｓ）、実時間発展演算処理を実行する（Ｓ１０４）。このとき、実時間発展判定部１０５は、実時間発展演算部１０６を呼び出し、実時間発展演算処理を実行させる。【００７３】
さらに、数値シミュレーション装置１００は、実時間発展演算処理が終了すると、周波数解析処理を実行する（Ｓ１０５）。さらに、物性値計算処理を実行する（Ｓ１０６）。このとき、実時間発展演算部１０６は、周波数解析部１０９を呼び出し、周波数解析処理を実行させる。また、物性値計算部１１１を呼び出し、物性値計算処理を実行させる。【００７４】
そして、数値シミュレーション装置１００は、計算結果を出力する（Ｓ１０７）。このとき、実時間発展演算部１０６は、実時間発展演算処理が終了し、周波数解析処理が終了し、物性値計算処理が終了すると、計算結果出力部１１３を呼び出し、一連の処理によって得られた演算結果、解析結果、計算結果を出力させる。【００７５】
一方、数値シミュレーション装置１００は、実時間発展演算処理を実行しない場合は（Ｓ１０３：Ｎｏ）、虚時間発展演算処理を実行する（Ｓ１０８）。このとき、実時間発展判定部１０５は、虚時間発展演算部１０７を呼び出し、虚時間発展演算処理を実行させる。【００７６】
さらに、数値シミュレーション装置１００は、虚時間発展演算処理が終了すると、物性値計算処理を実行する（Ｓ１０６）。このとき、虚時間発展演算部１０７は、物性値計算部１１１を呼び出し、物性値計算処理を実行させる。【００７７】
そして、数値シミュレーション装置１００は、計算結果を出力する（Ｓ１０７）。このとき、虚時間発展演算部１０７は、虚時間発展演算処理が終了し、物性値計算処理が終了すると、計算結果出力部１１３を呼び出し、一連の処理によって得られた演算結果、計算結果を出力させる。【００７８】
次に、本実施の形態における数値シミュレーション装置１００の特徴について説明する。なお、数値シミュレーション装置１００によれば、下記（１）〜（４）の特徴を備える。【００７９】
（１）時間依存シュレディンガー方程式による波動関数の時間発展数値計算を高速かつ高精度に実行することができる。【００８０】
（２）散乱問題の定常解の数値計算を高速かつ高精度に実行することができる。【００８１】
（３）基底状態および励起状態を求める際に利用される波動関数の虚時間発展数値計算を高速かつ高精度に行うことができる。【００８２】
（４）無限遠の境界条件を設定する際に必要であった大きな計算領域を大幅に減少させることができる。【００８３】
まず、本実施の形態における数値シミュレーション装置１００によって、時間依存シュレディンガー方程式による波動関数の時間発展数値計算を高速かつ高精度に行うことができる点について説明する。【００８４】
上記の式（５）の積分を実行する際に、実空間差分法における中心差分近似を適用する。これに伴い、微小時間Δt後の波動関数は、下記の式（６）のように、下記の式（７）で示されるBessel関数を使用して近似することができる。これに伴い、実時間発展演算処理や虚時間発展演算処理における計算量を軽減して高速・高精度で数値シミュレーションを実行することができる。【００８５】
【数６】
2008032646.tif 000008
【００８６】
【数７】
2008032646.tif 000009
【００８７】
ここで、rjは、下記の式（８）で示され、rj'は、下記の式（９）で示される。hlは、空間のl(= x, y, z) 方向の刻み幅であり、jl, jl'は、整数である。【００８８】
【数８】
2008032646.tif 000010
【００８９】
【数９】
2008032646.tif 000011
【００９０】
図４は、Bessel関数Jj-j'(Δt/hx2)の値、および上記の式（５）の被積分関数exp(i(xj-xj')2/2Δt)の実数部を示す図である。ここで、xj=jhx, xj'=j'hxであり、Δt=0.2, hx=0.5とする。【００９１】
図４に示されるように、Bessel関数Jj-j'(x)は、|j-j'|の増加とともに、急激に減衰する（グラフ１２２）。このため、計算結果に影響を及ぼさないような微小項で積算を打ち切ることができる。このため、上記の式（５）を上記の式（６）を使用して近似することで、直接積分を計算する場合と比べれば、上記の式（６）のj'に関する和を求めることから、計算量を激減させることができる。結果、数値シミュレーションを高速に実行することができる。【００９２】
これは、上記の式（５）を直接積分する場合は、非常に広い範囲にわたって積分する必要があるためである。ここで、下記の式（１０）に示される上記の式（５）の被積分関数のうちx'成分を一例とする。この場合において、下記の式（１１）に示されるx'の積分に関する被積分関数は、x'に対する振動関数（三角関数）である。これは、図４に示されるように、x'の増加とともに減衰しない（グラフ１２１）。このため、非常に広い範囲にわたって積分する必要がある。【００９３】
【数１０】
2008032646.tif 000012
【００９４】
【数１１】
2008032646.tif 000013
【００９５】
なお、上記の式（６）を使用して正しい結果が得られることについては、後述する。【００９６】
次に、本実施の形態における数値シミュレーション装置１００によって、散乱問題の定常解の数値計算を、高速かつ高精度に数値シミュレーションすることができる点について説明する。ここでは、ポテンシャルＶが時間に依存しない系を例に説明する。この場合において、周波数解析部１０９は、上記の式（６）を使用して散乱問題における定常状態の解を得ることができる。ここで、下記の式（１２）に示されるように、初期時刻t0の初期波動関数として、平面z=z0上のパルス関数を使用する。【００９７】
【数１２】
2008032646.tif 000014
【００９８】
ここで、Gnx,Gnyは、逆格子ベクトルであり、それぞれ、下記の式（１３）、（１４）で示される。Nxは、x方向の格子点数であり、nxは整数である。Nyは、y方向の格子点数であり、nyは、整数である。【００９９】
【数１３】
2008032646.tif 000015
【０１００】
【数１４】
2008032646.tif 000016
【０１０１】
そして、周波数解析部１０９は、上記の式（１２）で示される初期波動関数と上記の式（５）とを使用して初期時刻t0から任意の時刻に時間発展させた波動関数χ(rj, t)を計算することができる。さらに、下記の式（１５）で示されるように、波動関数χ(rj, t)に対して、エネルギーＥに関する周波数解析を行うことができる。【０１０２】
【数１５】
2008032646.tif 000017
【０１０３】
ここで、C(E)は、下記の式（１６）で示される。vz(E)は、z方向の群速度であり、下記の式（１７）で示される。また、kzは、z方向の波数であり、下記の式（１８）で示される。【０１０４】
【数１６】
2008032646.tif 000018
【０１０５】
【数１７】
2008032646.tif 000019
【０１０６】
【数１８】
2008032646.tif 000020
【０１０７】
そして、上記の式（１５）を使用して、上記の式（１２）で示されるパルス関数を初期波動関数として、時間発展させた波動関数を数値シミュレーションする。これにより、全てのエネルギーEでの定常状態の波動関数Ψ(rj; E)を数値シミュレーションすることができる。【０１０８】
次に、本実施の数値シミュレーション装置１００によって、基底状態および励起状態を求める際に利用される波動関数の虚時間発展数値計算を、高速かつ高精度に数値シミュレーションすることができる点について説明する。ここでは、ポテンシャルVが時間に依存しない系を例に説明する。この場合において、虚時間発展演算部１０７は、上記の式（６）と虚時間発展計算とを使用することで、離散固有値問題における「時間に依存しない定常解」を高速に求める計算手法に拡張することができる。プロパゲーターは、系の固有関数φi(r)と固有値Eiとを使用して、下記の式（１９）で示される。【０１０９】
【数１９】
2008032646.tif 000021
【０１１０】
ここで、r'=rとおいて、rについて積分すると、固有関数の規格直交性により、下記の式（２０）で示される。【０１１１】
【数２０】
2008032646.tif 000022
【０１１２】
さらに、形式的に虚時間τ=itを導入し、十分に長い虚時間を発展させると、すなわち、τ→∞とすると、下記の式（２１）で示されるように近似することができる。これは、最低エネルギーE0の項が最もゆっくり減衰するためである。【０１１３】
【数２１】
2008032646.tif 000023
【０１１４】
これは、虚時間発展計算により、離散固有状態を求めることができることを示しており、よく知られた計算手法である（例えば、非特許文献２参照。）。【０１１５】
これにより、上記の式（６）における時間を虚時間に置き換えると、下記の式（２２）のように示される。【０１１６】
【数２２】
2008032646.tif 000024
【０１１７】
そして、上記の式（２２）を使用することで、虚時間発展を高速に計算することができ、基底状態の波動関数と直交する初期波動関数を使用することで、励起状態についても計算することができる。【０１１８】
次に、本実施の形態における数値シミュレーション装置１００によって、無限遠の境界条件を設定する際に必要であった大きな計算領域を大幅に減少させることができる点について説明する。【０１１９】
例えば、散乱問題で正しい結果を得るために、散乱ポテンシャルの空間的な大きさに対して、１００倍程度以上の十分広い空間（計算領域）を計算条件として設定する必要がある。これに対して、波動関数を滑らかに減衰させるような「吸収境界条件」を吸収領域に適用することで、計算領域の大きさを縮小することができる。【０１２０】
図５は、吸収境界条件における波動関数に掛ける係数の設定例を示す図である。図５に示されるように、例えば、吸収領域１３２ａ，１３２ｂに係数を掛けることにより、波動関数を滑らかに減衰させるような「吸収境界条件」を適用することで、計算領域の大きさを散乱体の大きさの数倍〜１０倍程度にまで縮小することができる。これに伴い、実時間発展演算処理や虚時間発展演算処理における計算量を軽減して高速・高精度で数値シミュレーションを実行することができる。【０１２１】
次に、本実施の形態における数値シミュレーション装置を使用して、簡単なモデルに対して数値シミュレーションを実行した結果を説明する。【０１２２】
図６は、ポテンシャル障壁による１次元散乱問題を示す図である。図６に示されるように、ここでは、一例として、ポテンシャル障壁１４１に対して、左側から入射波１４２を入射したとする。このとき、時間ステップΔt=0.2(a.u.)、グリッド幅h=0.5(a.u.)、z方向の大きさLz=1000.0、z方向のグリッド数Nz=2000、ポテンシャルV=0.3(a.u.)、壁び大きさm=21、積分の上限T=400(a.u.)とする（テーブル１４５）。また、1(a.u.)=0.024(fs)=27.211(eV)=0.52918Åである（テキストボックス１４６）。【０１２３】
図７は、時間発展させた波動関数の周波数を解析した結果と、ポテンシャル障壁に対する透過率を計算した結果とを示す図である。図７に示されるように、時間発展させた波動関数をエネルギーで周波数解析した結果（グラフ１４８ａ，１４８ｂ，１４８ｃ）、これからの結果から、透過率は厳密解と一致する（グラフ１４７）。【０１２４】
図８は、２次元ワイヤーモデルを示す図である。図８に示されるように、ここでは、一例として、左電極１５２と右電極１５３とを結ぶ幅Wx、長さWzのワイヤー１５１に対して、左電極１５２から入射波が入射したとする。このとき、時間ステップΔt=0.2(a.u.)、グリッド幅h=0.5(a.u.)、x方向の大きさLx=4.0、x方向のグリッド数Nx=8、z方向の大きさLz=500.0、z方向のグリッド数Nz=1000、積分の上限T=200(a.u.)、入射電子のエネルギーを0.05〜1.10とする（テーブル１５５）。また、1(a.u.)=0.024(fs)=27.211(eV)=0.52918Åである（テキストボックス１５６）。【０１２５】
図９は、２次元ワイヤーモデルにおける周波数を解析した結果と、コンダクタンスを計算した結果を示す図である。図９に示されるように、時間発展させた波動関数をエネルギーで周波数解析した結果（グラフ１５８ａ〜１５８ｅ）、これからの結果から、ＯＢＭ法による結果と合致した結果が得られている（グラフ１５７）。【０１２６】
図１０は、吸収境界条件を適用して得られた散乱波動関数を示す図である。図１０に示されるように、計算精度を保ったまま、計算時間を大幅に縮小することができる。【０１２７】
図１１は、計算コストの評価を示す図である。図１１に示されるように、本手法は（グラフ１７１）、任意のエネルギーでの散乱解を計算することができることを考慮すると、ＯＢＭ法より（グラフ１７２）、高速な数値シミュレーションを実現することができる。すなわち、高速な電気伝導特性を数値シミュレーションすることができる。【０１２８】
以上、本実施の形態における数値シミュレーション装置１００によれば、Bessel関数を使用して表された波動関数を使用することによって、時間依存シュレディンガー方程式による波動関数の時間発展数値計算を高速かつ高精度に行うことができる。散乱問題の定常解を数値計算により高速かつ高精度に求めることができる。基底状態および励起状態を求める際に利用される波動関数の虚時間発展数値計算を高速かつ高精度に行うことができる。無限遠の境界条件を設定する際に必要であった大きな計算領域を大幅に減少させることができる。【０１２９】
さらに、現在の電子状態計算手法の主流である密度汎関数理論に適用すれば、Kohn-Sham方程式の数値解を高速に得ることができる。このため、現実のモデルに対する電子の動的挙動を数値シミュレーションすることができる。これにより、ナノスケールの電子デバイスや量子コンピュータの設計手法として利用することができる。【０１３０】
ここで、上記の式（６）について補足して説明する。【０１３１】
経路積分表示によると、波動関数の微小時間Δt後の時間発展は、下記の式（２３）で示される（例えば、非特許文献２参照。）。【０１３２】
【数２３】
2008032646.tif 000025
【０１３３】
ここでは、一般的にポテンシャルVも時間に依存するものとしている。なお、座標変数として、x, y, zを使用すると、上記の式（２３）は、下記の式（２４）で示される。【０１３４】
【数２４】
2008032646.tif 000026
【０１３５】
ここで、一般性を失わないので、x座標だけについて説明する。すなわち、上記の式（２４）を下記の式（２５）に簡略化する。【０１３６】
【数２５】
2008032646.tif 000027
【０１３７】
ここで、x'に関する積分は、xの近傍だけが結果に寄与するので（例えば、非特許文献２参照。）、x'=x+ηのように、積分変数をx'からηに変数変換する。これに伴い、上記の式（２５）が下記の式（２６）で示される。【０１３８】
【数２６】
2008032646.tif 000028
【０１３９】
さらに、ηの積分は、ηの小さいところでしか主要に寄与しないことから（例えば、非特許文献２参照。）、波動関数Ψ(x+η, t)をxのまわりでTaylor展開する。また、ポテンシャルV(x+η/2, t+Δt/2)を、tおよびxのまわりでTaylor展開する。これに伴い、上記の式（２６）が下記の式（２７）で近似することができる。【０１４０】
【数２７】
2008032646.tif 000029
【０１４１】
さらに、下記の式（２８）を使用してポテンシャルVの空間微分を含む項を展開する。これに伴い、上記の式（２７）が下記の式（２９）で近似することができる。【０１４２】
【数２８】
2008032646.tif 000030
【０１４３】
【数２９】
2008032646.tif 000031
【０１４４】
ここで、下記の式（３０）で示される偶関数と、下記の式（３１）で示される奇関数との積の成分は、下記の式（３２）で示されるように、0である。【０１４５】
【数３０】
2008032646.tif 000032
【０１４６】
【数３１】
2008032646.tif 000033
【０１４７】
【数３２】
2008032646.tif 000034
【０１４８】
また、下記の式（３３）で示されるように、Δtの１次の項までを考慮し、ηは微小量として、η4を含む項を無視すると、下記の式（３４）が得られる。【０１４９】
【数３３】
2008032646.tif 000035
【０１５０】
【数３４】
2008032646.tif 000036
【０１５１】
次に、空間が周期境界条件を有する離散的な空間であるとして、下記の式（３５）に示されるように、波動関数をFourier級数展開する。ここで、knは、下記の式（３６）で示される。xjは、下記の式（３７）で示される。【０１５２】
【数３５】
2008032646.tif 000037
【０１５３】
【数３６】
2008032646.tif 000038
【０１５４】
【数３７】
2008032646.tif 000039
【０１５５】
ただし、cnは、展開係数である。Lxは、x方向の大きさであり、Lx=Nxhxである。後に、Lx→∞をとり、空間の大きさを無限大にもってゆく。また、簡単のため、Nxは、偶数とする。【０１５６】
さらに、∂2Ψ(x, t)/∂x2に実空間差分法における中心差分近似を適用すると、下記の式（３８）で示される。これから、離散空間における波動関数の時間発展は下記の式（３９）で示される。【０１５７】
【数３８】
2008032646.tif 000040
【０１５８】
【数３９】
2008032646.tif 000041
【０１５９】
ここで、上記の式（２８）を使用すると、上記の式（３９）を下記の式（４０）で近似することができる。【０１６０】
【数４０】
2008032646.tif 000042
【０１６１】
下記の式（４１）で示される積分公式を使用して、ηに関する積分を行うと、上記の式（４０）を下記の式（４２）に近似することができる。【０１６２】
【数４１】
2008032646.tif 000043
【０１６３】
【数４２】
2008032646.tif 000044
【０１６４】
さらに、Δtは、小さいので、もう一度、上記の式（２８）を使用すると、上記の式（４２）を下記の式（４３）で近似することができる。【０１６５】
【数４３】
2008032646.tif 000045
【０１６６】
ここで、Fourier展開係数cnは、下記の式（４４）で示されることから、上記の式（４３）が下記の式（４５）で示される。【０１６７】
【数４４】
2008032646.tif 000046
【０１６８】
【数４５】
2008032646.tif 000047
【０１６９】
さらに、hxを固定し、Nx→∞、すなわち、Lx=hxNx→∞をとり、離散的な無限空間での表示に直すと、下記の式（４６）で示される。ここで、下記の式（４７）〜（５０）を考慮している。【０１７０】
【数４６】
2008032646.tif 000048
【０１７１】
【数４７】
2008032646.tif 000049
【０１７２】
【数４８】
2008032646.tif 000050
【０１７３】
【数４９】
2008032646.tif 000051
【０１７４】
【数５０】
2008032646.tif 000052
【０１７５】
さらに、積分変数変換θ=hxkを行うと、上記の式（４６）が下記の式（５１）で示される。【０１７６】
【数５１】
2008032646.tif 000053
【０１７７】
ここで、下記の式（５２）に示されるように、Bessel関数に対するHansenの積分表示を使用すると、上記の式（５１）が下記の式（５３）で示される。【０１７８】
【数５２】
2008032646.tif 000054
【０１７９】
【数５３】
2008032646.tif 000055
【０１８０】
ここで、JnはBessel関数であり、上記の式（７）で示される。そして、yとzとに関する積分も同様であり、３次元空間では、上記の式（２３）は、下記の式（５４）で示される。【０１８１】
【数５４】
2008032646.tif 000056
【０１８２】
なお、本発明では、上記の式（５）の積分を実行する際に、下記に示すような実空間差分法における差分近似を適用することも可能である。【０１８３】
【数５５】
2008032646.tif 000057
【０１８４】
ここで、Nf は近似の次数、Cnは重み係数である。【０１８５】
特に、もっとも簡単な中心差分近似の場合には、式（５６）に示すものとなる。【０１８６】
【数５６】
2008032646.tif 000058
【０１８７】
微小時間Δt後の波動関数は、次式（５７）のようにBessel関数を用いて書くことができる（例えば、非特許文献３（Chelikowsky J R, Troullier N, Wu K and Saad Y, Phys.Rev.B, 50(16), 11335 (1994)）参照）。【０１８８】
【数５７】
2008032646.tif 000059
【０１８９】
ここで式（５７）中の式（５８）は、上述した式（７）と同様のBessel関数である。また、上述した式（８）及び式（９）と同様の式（５９）の条件を満たしている。【０１９０】
【数５８】
2008032646.tif 000060
【０１９１】
【数５９】
2008032646.tif 000061
ここでhvは空間のv方向の刻みであり、jV, jV'は整数である。【０１９２】
また、Nf次の差分近似を使用した場合には、次式（６０）のようになる。【０１９３】
【数６０】
2008032646.tif 000062
【０１９４】
上述したように、Bessel関数Jj-j'(x)は、図４に示すように|j-j'|の増加とともに急激に減衰するため、計算結果に影響を及ぼさないような微小項で積算を打ち切ることが可能となり、式（５）の積分、すなわち式（５７）のJ'に関する和を求めるための計算量を激減させることができ、数値計算を高速に行うことができる。【０１９５】
これに対して、式（５）を直接積分する場合を考えてみる。式（５）の被積分関数の式（６１）として【０１９６】
【数６１】
2008032646.tif 000063
を見ると、例えばx' の積分に関する被積分関数は式（６２）となる。【０１９７】
【数６２】
2008032646.tif 000064
【０１９８】
この式（６２）はx' に対する振動関数（三角関数）であり、図４にその実数部を示したようにx' の増加とともに減衰せず、非常に広い範囲にわたって積分する必要があることがわかる。従って、式（５７）を用いて正しい結果が得られることは、上記の説明と同様である。【０１９９】
また、本発明においては、式（５７）に「虚時間発展」の考え方を適用することにより、離散固有値問題における「時間に依存しない定常解」を高速に求める計算手法に拡張することが可能である。時間発展プロパゲーターは、考えている系の固有関数φi(r)と固有値Eiを用いて上記の式（１９）と同様の式（６３）のように書ける。【０２００】
【数６３】
2008032646.tif 000065
【０２０１】
ここで、r'=rとおいて、rについて積分すると、固有関数の規格直交性により、上記の式（２０）と同様の式（６４）となる。【０２０２】
【数６４】
2008032646.tif 000066
【０２０３】
ここで、形式的に虚時間τ＝itを導入し、十分に長い虚時間発展、すなわちτ→∞とすると、最低エネルギーＥ0の項が最もゆっくり減衰するため、上記の式（２１）と同様の式（６５）となる。【０２０４】
【数６５】
2008032646.tif 000067
【０２０５】
これは、虚時間発展計算により離散固有状態を求めることができることを示しており、よく知られた計算手法である。【０２０６】
以上の考え方に、式（５７）の数値計算手法を適用すると、式（６６）が得られる。【０２０７】
【数６６】
2008032646.tif 000068
【０２０８】
さらに、Bessel関数Jn(x)と変形Bessel関数In(x)との関係となる式（６７）を用いると、式（６８）が得られる。【０２０９】
【数６７】
2008032646.tif 000069
【０２１０】
【数６８】
2008032646.tif 000070
【０２１１】
これにより、虚時間発展を高速に計算できることになり、基底状態の波動関数を高速・高精度に求めることが可能である。また、基底状態の波動関数と直交する初期波動関数を用いれば、励起状態についても求めることが可能である。【０２１２】
また、上記の式（５５）から（６２）で述べた高次差分近似を用いる場合には、次式（６９）のようになる。【０２１３】
【数６９】
2008032646.tif 000071
【０２１４】
（その他）
なお、数値シミュレーション装置１００は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、ネットワークアダプタなどを備えるとしてもよい。さらに、ＨＤＤなどに、数値シミュレーション装置１００を制御するプログラム（以下、数値シミュレーションプログラムと呼称する。）がインストールされており、数値シミュレーションプログラムが実行されることによって、数値シミュレーション装置１００の各機能が実現されるとしてもよい。【０２１５】
また、数値シミュレーション装置１００は、複数のコンピュータシステムによって構成されているとしてもよい。この場合において、グリッドコンピューティングのように、複数のコンピュータシステムを１つの複合したコンピュータシステムとして利用するとしてもよい。【０２１６】
また、数値シミュレーション装置１００は、フロントエンドとバックエンドとから構成されているとしてもよい。この場合において、フロントエンドで、初期値、計算条件、指示データをオペレータから受け付け、受け付けた初期値、計算条件、指示データを使用してバックエンドで、実時間発展演算処理、虚時間発展演算処理、周波数解析処理、物性値計算処理などを実行する。【０２１７】
なお、数値シミュレーションプログラムは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、数値シミュレーション装置１００の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。【０２１８】
また、数値シミュレーションプログラムは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、数値シミュレーション装置１００の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ（Power Line Communication）、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）がある。【０２１９】
なお、数値シミュレーション装置１００は、数値シミュレーション装置１００の各機能が組み込まれたＬＳＩによって実現されるとしてもよい。【０２２０】
なお、ＬＳＩは、フルカスタムＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）などのようなセミカスタムＬＳＩ、ＦＰＧＡやＣＰＬＤなどのようなプログラマブル・ロジック・デバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスに形成されるとしてもよい。【０２２１】
さらに、プロセッサの各機能をＬＳＩに形成する設計データは、ハードウェア記述言語によって記述されたプログラム（以下、ＨＤＬプログラムと呼称する。）としてもよい。さらに、ＨＤＬプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語として、ＶＨＤＬ（Very high speed integrated circuit Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ、ＳｙｓｔｅｍＣがある。【０２２２】
さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。【０２２３】
または、設計データは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてよい。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）がある。【０２２４】
または、設計データは、通電時にＦＰＧＡに転送され得るように、シリアルＲＯＭに記録しておくとしてもよい。そして、シリアルＲＯＭに記録された設計データは、通電時に、直接、ＦＰＧＡにダウンロードされるとしてもよい。【０２２５】
または、設計データは、通電時に、マイクロプロセッサによって生成されて、ＦＰＧＡにダウンロードされるとしてもよい。
【産業上の利用可能性】
【０２２６】
本発明は、ナノスケールによる特性を考慮した電子デバイスや量子コンピュータの開発を行うにあたり必要となる数値シミュレーション装置などとして、特に、計算量を軽減して高速・高精度で数値シミュレーションを実行することができる数値シミュレーション装置などとして、利用することができる。
【図１】
2008032646.tif 000072
【図２】
2008032646.tif 000073
【図３】
2008032646.tif 000074
【図４】
2008032646.tif 000075
【図５】
2008032646.tif 000076
【図６】
2008032646.tif 000077
【図７】
2008032646.tif 000078
【図８】
2008032646.tif 000079
【図９】
2008032646.tif 000080
【図１０】
2008032646.tif 000081
【図１１】
2008032646.tif 000082
【国際調査報告】
2008032646.tif 000083
2008032646.tif 000084
2008032646.tif 000085