(57)【要約】フォークト関数を用いたライン・バイ・ライン計算において従来よりも５０〜１００倍高速に計算できる計算方法及びプログラムを提供する。  フォークト関数をピーク近傍の第１の範囲と、該第１の範囲に含まれない裾部分とに分け、該第１の範囲を３次関数で置き換え、該裾部分をフォークト関数として等間隔の所定の範囲で計算する。さらに第１の範囲のピーク近傍を３次関数で置き換え、裾部分をフォークト関数と３次関数の差の関数として前記第１の所定の間隔よりせまい第２の所定の間隔で計算する。これを所望の精度になるまで繰り返す。また、これら所定の間隔の間を４または５分割する補間を行う。
2005033640.tif 000002
【特許請求の範囲】
【請求項１】
ライン・バイ・ライン計算に用いるフォークト関数の近似計算方法であって、該方法は、
（１）フォークト関数の対象範囲を、フォークト関数のピーク近傍の第１の範囲および第１の範囲に含まれない裾部分に分けて、第１の範囲を３次関数で代替し、第１の所定の間隔ごとに該３次関数と裾部分のフォークト関数の値及び微分値を計算し、前記３次関数と前記フォークト関数の接続点において、両関数の値及び微分値を用いて接続する段階と、
（２）複数の吸収線について前記（１）の結果を足し合わせる段階と、
（３）前記（２）の結果を前記第１の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（４）前記第１の範囲をピーク近傍の第２の範囲と第２の範囲に含まれない裾部分に分けて、「フォークト関数と前記３次関数の差の関数」の該第２の範囲を３次関数で代替し、第２の所定の間隔ごとに該３次関数と裾部分の該「フォークト関数と前記３次関数の差の関数」の値及び微分値を計算する段階と、
（５）前記３次関数と前記「フォークト関数と前記３次関数の差の関数」の接続点において、両関数の値及び微分値を用いて接続する段階と、
（６）複数の吸収線について前記（４）及び（５）の結果を前記（３）の結果に足し合わせる段階と、
（７）前記（６）の結果を前記第２の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（８）前記第２の範囲において複数の吸収線について「フォークト関数と前記３次関数の差の関数」の値を前記（７）の結果に足し合わせる段階と、
を有する方法。
【請求項２】
（９）最小単位の間隔になるまで間隔を狭めながら補間により関数値、微分値を計算する段階を繰り返す請求項１に記載の方法。
【請求項３】
第３の所定の間隔になるまで前記（４）ないし（７）に記載された段階を１回以上繰り返す請求項１に記載の方法。
【請求項４】
前記所定の間隔は以下の式を用いて決定する請求項１に記載の方法。
最も広い幅のサブ関数に対する第１の所定の間隔は、jkmaxｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kmaxは、jkmax＋２ｐｄν≦ Vmax
を満たす自然数である。ただし、Vmax は 吸収線中心からの計算範囲で最大のもの、ｐは計算精度を制御する自然数である。
【請求項５】
前記所定の間隔は以下の式を用いて決定する請求項３に記載の方法。
前記最も詳細な第３の所定の間隔は、ｊkminｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kminは、 jkminｐｄν≦α（αはγ／４程度）を満たす最大の非負の整数である。ただし、γは吸収線の半値幅の近似値、ｐは計算精度を制御する自然数である。
【請求項６】
前記第２の所定の間隔は以下の式を用いて決定する請求項１に記載の方法。
第ｋ−kmin＋１番目に狭い幅のサブ関数に対して所定の間隔は、ｊkｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kはkmin≦ｋ＜kmaxである。
【請求項７】
前記補間は、ｊを４として補間区間（ｘ０、ｘ１）においてｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´を用いて、以下の(１)式は関数値の補間式、(２)式は関数微分値の補間式、εを非負の小数として計算する請求項１ないし３のいずれかに記載の方法。
2005033640.tif 000034
2005033640.tif 000035
【請求項８】
前記補間は、ｊを５として補間区間（ｘ０、ｘ１）においてｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´を用いて、以下の(３)式は関数値の補間式、(４)式は関数微分値の補間式、εを非負の小数として計算する請求項１ないし３のいずれかに記載の方法。
2005033640.tif 000036
2005033640.tif 000037
【請求項９】
フォークト関数をK(x,y)とし、吸収線のフォークト線形からのずれがK(x,y)+f(x)であるとき、
2005033640.tif 000038
を  
2005033640.tif 000039
、
2005033640.tif 000040
を  
2005033640.tif 000041
で置き換えることによって高速化する請求項１ないし８に記載の方法。
【請求項１０】
フォークト関数をK(x,y)とし、吸収線のフォークト線形からのずれK(x,y)f(x)がであるとき、
2005033640.tif 000042
を
2005033640.tif 000043
2005033640.tif 000044
を
2005033640.tif 000045
で置き換えることによって高速化する請求項１ないし８に記載の方法。
【請求項１１】
サブローレンツィアン補正について、
2005033640.tif 000046
および
2005033640.tif 000047
を利用して高速化する請求項１ないし１０に記載の方法。
【請求項１２】
ラインミキシング補正について、以下に表す式で置き換えることによって高速化する請求項１ないし１０に記載の方法。
2005033640.tif 000048
を
2005033640.tif 000049
2005033640.tif 000050
を
2005033640.tif 000051
ここでL(x,y)は次式で定義される、複素数z=x+iyの関数w(z)の虚数成分である（実数部分はフォークト関数）。
2005033640.tif 000052
（erfc(z)は複素相補誤差関数）
【請求項１３】
ライン・バイ・ライン計算に用いるフォークト関数の近似計算プログラムであって、該プログラムは、
（１）フォークト関数の対象範囲を、フォークト関数のピーク近傍の第１の範囲および第１の範囲に含まれない裾部分に分けて、第１の範囲を３次関数で代替し、第１の所定の間隔ごとに該３次関数と裾部分のフォークト関数の値及び微分値を計算し、前記３次関数と前記フォークト関数の接続点において、両関数の値及び微分値を用いて接続する段階と、
（２）複数の吸収線について前記（１）の結果を足し合わせる段階と、
（３）前記（２）の結果を前記第１の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（４）前記第１の範囲をピーク近傍の第２の範囲と第２の範囲に含まれない裾部分に分けて、「フォークト関数と前記３次関数の差の関数」の該第２の範囲を３次関数で代替し、第２の所定の間隔ごとに該３次関数と裾部分の該「フォークト関数と前記３次関数の差の関数」の値及び微分値を計算する段階と、
（５）前記３次関数と前記「フォークト関数と前記３次関数の差の関数」の接続点において、両関数の値及び微分値を用いて接続する段階と、
（６）複数の吸収線について前記（４）及び（５）の結果を前記（３）の結果に足し合わせる段階と、
（７）前記（６）の結果を前記第２の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（８）前記第２の範囲において複数の吸収線について「フォークト関数と前記３次関数の差の関数」の値を前記（７）の結果に足し合わせる段階と、
を有するプログラム。
【請求項１４】
最小単位の間隔になるまで間隔を狭めながら補間により関数値、微分値を計算する段階を繰り返す請求項１３に記載のプログラム。
【請求項１５】
第３の所定の間隔になるまで前記（４）ないし（７）に記載された段階を１回以上繰り返す請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は大気の観測において、気体分子の吸収係数スペクトルの高速ライン・バイ・ライン計算に関する。
【背景技術】
【０００２】
地球の大気は太陽からの電磁波を受ける一方で、自身も赤外領域を中心とする電磁波を宇宙空間に放出している。そして、これらの電磁波は大気に含まれる気体分子や雲、エアロゾルなどにより吸収、放射、散乱などの相互作用を受ける。こうした大気との相互作用によってもたらされる電磁波のスペクトル分布の変化（これを理論的に求める計算を放射伝達計算という）を地上、航空機、あるいは人工衛星に搭載されたセンサで測定することにより、気温、気圧や微量な気体成分の濃度などを分析することができる。【０００３】
大気の放射伝達計算ではライン・バイ・ライン計算と呼ばれる手法が用いられているが、ライン・バイ・ライン計算は計算量が膨大である。このため、計算時間が非常に長くパーソナルコンピュータ等で広いスペクトル範囲にわたって高速に計算することは実質的に困難である。また、このような問題を回避する方法としてテーブルルックアップなどを利用して事前にライン・バイ・ライン計算を行ったデータを利用する方法があるが、これは大容量データファイルを必要とする欠点を有していた。また事前計算を必要としない他のアルゴリズムでもライン・バイ・ライン計算の２０倍程度の計算速度にとどまっていた。
【非特許文献１】Akihiro Uchiyama ,”Line-By-Line Computation Of The Atmospheric Absorption Spectrum Using The Decomposed VOIGT Line Shape” J. Quant. Spectrosc. Radiant. Transfer Vol. 47, No6, pp.521-532, 1992.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のような問題から、高速でライン・バイ・ライン計算ができる計算方法が望まれており、本発明はこのような計算方法およびプログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明はライン・バイ・ライン計算に用いるフォークト関数の近似計算方法であって、該方法は、以下の各段階を含む。
（１）フォークト関数の対象範囲を、フォークト関数のピーク近傍の第１の範囲および第１の範囲に含まれない裾部分に分けて、第１の範囲を３次関数で代替し、第１の所定の間隔ごとに該３次関数と裾部分のフォークト関数の値及び微分値を計算し、前記３次関数と前記フォークト関数の接続点において、両関数の値及び微分値を用いて接続する段階と、
（２）複数の吸収線について前記（１）の結果を足し合わせる段階と、
（３）前記（２）の結果を前記第１の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（４）前記第１の範囲をピーク近傍の第２の範囲と第２の範囲に含まれない裾部分に分けて、「フォークト関数と前記３次関数の差の関数」の該第２の範囲を３次関数で代替し、第２の所定の間隔ごとに該３次関数と裾部分の該「フォークト関数と前記３次関数の差の関数」の値及び微分値を計算する段階と、
（５）前記３次関数と前記「フォークト関数と前記３次関数の差の関数」の接続点において、両関数の値及び微分値を用いて接続する段階と、
（６）複数の吸収線について前記（４）及び（５）の結果を前記（３）の結果に足し合わせる段階と、
（７）前記（６）の結果を前記第２の所定の間隔より狭い間隔で、補間により関数値及び微分値を計算する段階と、
（８）前記第２の範囲において複数の吸収線について「フォークト関数と前記３次関数の差の関数」の値を前記（７）の結果に足し合わせる段階。
以上の段階を用いる方法により、フォークト関数を３次関数を用いて高速に計算することができる。【０００６】
これに加えて第３の所定の間隔になるまで前記（５）ないし（８）に記載された段階を１回以上繰り返すこともできる。これによって計算間隔の小さい詳細な結果を得ることができる。このような第１〜第３の所定の間隔は以下のように求める。【０００７】
最も広い幅のサブ関数に対する第１の所定の間隔は、jkmaxｄνである。ここで、jは所定の間隔に分割にするときの所定の分割数であり、１桁の自然数、ｄνは波数の増分、kmaxはjkmax＋２ｐｄν≦ Vmaxを満たす自然数である。ただし、Vmax は 吸収線中心からの計算範囲、ｐは計算精度を制御する自然数(p=1,2,3)である。
最も詳細な第３の所定の間隔は、ｊkminｄνである。ここで、jは１桁の自然数であり２〜６程度の値である。ｄνは波数の増分、kminは、 jkminｐｄν≦α（αはγ／４程度）を満たす最大の非負の整数である（存在しない場合は0とする）。ただし、γは吸収線の半値幅の近似値、ｐは計算精度を制御する自然数(p=1,2,3)である。
第２の所定の間隔は以下の式を用いて決定する請求項１ないし４のいずれかに記載の方法。
第ｋ−kmin＋１番目に狭い幅のサブ関数に対して所定の間隔は、ｊkｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kはkmin≦ｋ＜kmaxである。【０００８】
４分割の補間に関しては、前記補間は、ｊを４とし、補間区間（ｘ０、ｘ１）においてｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´、以下の(１)式は関数値の補間式、(２)式は関数微分値の補間式を用いて、εを非負の小数として計算する
【数１】
2005033640.tif 000003
【数２】
2005033640.tif 000004
【０００９】
また５分割の補間に関しては、ｊを５とし、補間区間（ｘ０、ｘ１）においてｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´、以下の(３)式は関数値の補間式、(４)式は関数微分値の補間式を用いて、εを非負の小数として計算する。
【数３】
2005033640.tif 000005
【数４】
2005033640.tif 000006
このような計算によって高速に補間ができる。【００１０】
またフォークト関数をK(x,y)とし、吸収線のフォークト線形からのずれがK(x,y)+f(x)であるとき、
【数５】
2005033640.tif 000007
【数６】
2005033640.tif 000008
で置き換えることによって高速化する方法を提供する。【００１１】
さらに、フォークト線形からのずれがK(x,y)f(x)の形であるとき、
【数７】
2005033640.tif 000009
【数８】
2005033640.tif 000010
で置き換えることによって高速化する方法を提供する。【００１２】
さらにラインミキシング補正では、
【数９】
2005033640.tif 000011
【数１０】
2005033640.tif 000012
ここでL(x,y)は次式で定義される、複素数z=x+iyの関数w(z)の虚数成分である（実数部分はフォークト関数）。
【数１１】
2005033640.tif 000013
（erfc(z)は複素相補誤差関数）
で置き換えることによる高速計算方法を提供する。【００１３】
さらにこれら上記記載の方法をプログラムとして実装することによって本発明の方法を実行する装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１はフォークト関数を概略的な図である。
【図２】図２は本発明の方法において、フォークト関数をサブ関数に分解する様子を示した図である。
【図３】図３はフォークト関数と３次関数の誤差を示した図である。
【符号の説明】
【００１５】
１  フォークト関数
２  第１の範囲
３  裾部分
４  第１の範囲に含まれる関数
５  第１の範囲に含まれない部分
【発明を実施するための最良の形態】
【００１６】
以下に本発明の実施例を説明する。図１はフォークト関数１の形を示した図である。本発明ではまずこのフォークト関数１をサブ関数に分ける。該サブ関数はピーク近傍の第１の範囲２と該第１の範囲２以外の裾部分３であり、該第１の範囲１を３次関数で代替し、該第１の範囲に含まれない部分、つまり裾部分をフォークト関数で計算する。【００１７】
図２に詳細な計算方法を示した。図２（ａ）に示したようにフォークト関数１のうち第１の範囲２に含まれる関数４を３次関数で代替する。このとき３次関数とフォークト関数の接続点における両関数の微分値が一致し滑らかに接続するよう３次関数を決定する。また該第１の範囲に含まれない部分５はフォークト関数で計算する。計算は第１の所定の間隔で行い、これは波数の増分をｄνとして、jkmaxｄνである。ここでjは１桁の自然数、kmaxは、jkmax＋２ｐｄν≦ Vmaxを満たす最大の自然数である。Vmaxは例えば２５ｃｍ-1
を利用する。また、通常ｊは２〜６程度の数値が与えられ、好適な値は４である。またＶmaxは吸収線中心からの計算範囲、ｐは計算精度を制御する自然数であり、好適にはｐの値は１、２、３である。【００１８】
このようにして計算した結果を複数の吸収線について足し合わせる。この段階では第１の所定の間隔で計算した粗い結果となっている。【００１９】
次に第１の所定の間隔より小さい間隔で未評価点を計算する。つまり第１の所定の間隔を４分割する間隔で未評価点の補間を行う。この分割点の計算は以下の補間式によって行う。
補間区間（ｘ０、ｘ１）においてｘ０、ｘ１での関数値をｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´をとして以下の２つの式、
【数１２】
2005033640.tif 000014
【数１３】
2005033640.tif 000015
により求める。ここでεは非負の小数である。このεに関しては、図３に示したようにフォークト関数と３次関数が補間点ｘ０、ｘ１で一致しても、補間点の間の領域では曲線の曲率が異なるため関数値に誤差が生じる。ε＝0でも十分な精度が得られるが、３次関数の曲率をεの値を変化させることによって調節することにより誤差をさらに半分程度に抑えることが可能である。この２つの式により前記第１の所定の間隔の補間区間（ｘ０、ｘ１）を４分割する点の関数値ｙａ、ｙｂ、ｙｃ、およびその微分値ｙa´、ｙｂ´、ｙｃ´を求めることができる。ここでｘ０、ｘ１は本発明においては波数である。前記εの調整は、計算スペクトル範囲のうちの一部の狭いスペクトル範囲において、εを変化させた場合の計算結果を通常のライン・バイ・ライン法の計算結果と比較しておこなう。【００２０】
また前記第１の所定の間隔を５分割する補間も本発明では提案する。５分割する補間式は、
【数１４】
2005033640.tif 000016
【数１５】
2005033640.tif 000017
である。式中の各文字は前記４分割の場合と同様である。またｙｄ、ｙｄ´はそれぞれ関数値および微分値であることは当業者には明らかである。ここで上記記載の補間式は第１の所定の間隔だけでなく他の所定の間隔に対しても用いることができ、これは当業者には明白である。【００２１】
以上のようにして各補間点を計算する。次に図２（ｂ）に示したように前記第１の範囲内においてさらにピーク近傍の領域を補間により計算する。前記記載と同様に該第１の範囲内においてピーク近傍を第２の範囲６とし、該第２の範囲６に含まれない裾部分とに分け、第２の範囲を第２の３次関数で、該第２の範囲に含まれない裾部分を「フォークト関数と第１の３次関数との差の関数」７でそれぞれ表す。該第２の３次関数は新たな３次関数と第１の３次関数の差の関数である。ここで該「フォークト関数と第１の３次関数との差の関数」を以後単に「差の関数」と称する。該第２の３次関数と「差の関数」７の接続点では前記記載と同様に関数値および微分値が一致することを条件として接続する。【００２２】
このように関数を接続した後、第２の範囲において第２の所定の間隔で関数値及び微分値を計算する。この第２の所定の間隔は第１の所定の間隔より狭い間隔でありこれは以下の式によって計算される。
第ｋ−kmin＋１番目に狭い幅のサブ関数に対して所定の間隔は、ｊkｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kはkmin≦ｋ＜kmaxである。
またこの計算を全ての吸収線について行う。さらにこれら計算した各点間の補間を行う。補間は前記（１）と（２）または（３）と（４）の式を用いる。【００２３】
ここで、前記第２の範囲に含まれない裾部分の「差の関数」とこれに滑らかに接続する第２の範囲の３次関数を複数の吸収線ついて計算する上の方法を述べたがこの代わりに、第２の範囲に含まれない裾部分のフォークト関数とこれに滑らかに接続する３次関数を複数の吸収線について計算した後で第１の３次関数を第１の範囲全体から複数の吸収線について差し引く方法を用いることも可能である。【００２４】
この第２の範囲に関しては所定の間隔に達するまで上記計算を繰り返すことができる。つまり第２の範囲を更にピーク近傍および裾部分に分割しそれぞれを３次関数、差の関数で計算した後接続し、第２の所定の間隔を計算する式のｋを１つ増加させて計算しする。この計算を全ての吸収線について行い、これを図２（ｂ）で計算した結果に足し合わせる。これを所定の間隔になるまで繰り返す。【００２５】
さらにピーク近傍を３次関数で代替し、裾部分を「差の関数」として前記第２の間隔より狭い第３の所定の間隔で計算をする。該第３の所定の間隔は以下の式で表される。
第３の所定の間隔は、ｊkminｄνである。ここで、jは１桁の自然数、ｄνは波数の増分、kminは、 jkminｐｄν≦α  を満たす最大の非負の小数である（存在しない場合は0とする）。ただし、αはγ／4程度の値（γは吸収線の半値幅の近似値）、ｐは計算精度を制御する自然数(p=1,2,3)である。【００２６】
以上のような段階によってフォークト関数を精度良く、かつ高速に計算することができる。ここで実際の二酸化炭素等のフォークト関数と若干のずれを生じることが知られており、このずれに対して補正を行う方法が知られている。本発明の方法はこれらの補正に対しても適用できる。この補正に関して次に説明する。【００２７】
一般的な線形補正を最初に説明する。
フォークト関数をK(x,y)と表わす。フォークト線形からのずれがK(x,y)+f(x)の形で表わされる場合、置き換える関数を、
【数１６】
2005033640.tif 000018
として、
【数１７】
2005033640.tif 000019
【数１８】
2005033640.tif 000020
で置き換えることによって高速化手法を適用できる。同様に、フォークト線形からのずれがK(x,y)f(x)の形で表わせる場合は、
【数１９】
2005033640.tif 000021
【数２０】
2005033640.tif 000022
で置き換えることによって高速化手法を適用できる。【００２８】
上記の補正方法を具体的な実施例で説明すると、サブローレンツィアン補正に対しては、
【数２１】
2005033640.tif 000023
【数２２】
2005033640.tif 000024
はそれぞれ、
【数２３】
2005033640.tif 000025
【数２４】
2005033640.tif 000026
となる。ここでA、Bは補正係数である。またsgn(x)は符号関数であることは当業者には既知である。【００２９】
ラインミキシング補正に関しては次の関係、
【数２５】
2005033640.tif 000027
【数２６】
2005033640.tif 000028
が成り立つことから、
【数２７】
2005033640.tif 000029
【数２８】
2005033640.tif 000030
はそれぞれ、
【数２９】
2005033640.tif 000031
【数３０】
2005033640.tif 000032
である。
ここでL(x,y)は次式で定義される、複素数z=x+iyの関数w(z)の虚数成分である。実数部分はフォークト関数である。
【数３１】
2005033640.tif 000033
erfc(z)は複素相補誤差関数である。【００３０】
以上のように本発明の計算方法によってフォークト関数を用いたライン・バイ・ライン計算を精度良く高速に実行することができる。さらにこれらの方法をコンピュータプログラムとして実装することにより、具体的な装置を実現することができる。このプログラムは例えばパーソナルコンピュータ上で動作するスタンドアロン型のプログラムでも良い。また他のソフトウエアのプラグインとして実現することもできる。
【図１】
2005033640.tif 000053
【図２】
2005033640.tif 000054
【図３】
2005033640.tif 000055
【手続補正書】
【提出日】平成16年11月30日(2004.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】請求の範囲
【請求項１】多数の重なり合う吸収線のライン・バイ・ライン計算の高速化方法であって、該方法は、
（１）吸収線の形状を表わすフォークト関数の対象範囲を、フォークト関数のピーク近傍の第１の範囲および第１の範囲に含まれない裾部分に分けて、第１の範囲を、前記フォークト関数との接続点において、前記フォークト関数と関数の値及び微分値が一致する３次関数で代替し、第１の所定の間隔ごとに該３次関数と裾部分のフォークト関数の値及び微分値を計算する段階と、
（２）複数の吸収線について前記（１）の結果を足し合わせる段階と、
（３）前記（２）の結果を補間して前記第１の所定の間隔より狭い第２の所定の間隔で関数値及び微分値を計算する段階と、
（４）前記第１の範囲をピーク近傍の第２の範囲と第２の範囲に含まれない裾部分に分けて、「フォークト関数と前記３次関数の差の関数」の該第２の範囲を、前記「フォークト関数と前記３次関数の差の関数」との接続点において、前記「フォークト関数と前記３次関数の差の関数」の関数の値及び微分値が一致する第２の３次関数で代替し、前記第２の所定の間隔ごとに該第２の範囲を代替した該第２の３次関数と裾部分の該「フォークト関数と前記第２の３次関数の差の関数」の値及び微分値を計算する段階と、
（５）複数の吸収線について前記（４）の結果を前記（３）の結果に足し合わせる段階と、
（６）前記（５）の結果を補間して前記第２の所定の間隔より狭い間隔で関数値及び微分値を計算する段階と、
（７）前記第２の範囲において複数の吸収線について「フォークト関数と前記第２の３次関数の差の関数」の値を前記（６）の結果に足し合わせる段階と、
を有する方法。
【請求項２】（８）最小単位の間隔になるまで間隔を狭めながら補間により関数値、微分値を計算する段階を繰り返す請求項１に記載の方法。
【請求項３】前記（６）の段階における「前記第２の所定の間隔より狭い間隔」が第３の所定の間隔になるまで前記（４）ないし（６）に記載された段階を１回以上繰り返す請求項１に記載の方法。
【請求項４】前記所定の間隔は以下の式を用いて決定する請求項１に記載の方法。
前記第１の所定の間隔は、ｊｋｍａｘｄνである。ここで、ｊは１桁の自然数、ｄνは波数の増分、ｋｍａｘは、ｊｋｍａｘ＋２ｐｄν≦Ｖｍａｘ
を満たす自然数である。ただし、Ｖｍａｘは吸収線中心からの計算範囲で最大のもの、ｐは計算精度を制御する自然数である。
【請求項５】前記所定の間隔は以下の式を用いて決定する請求項３に記載の方法。
第３の所定の間隔は、ｊｋｍｉｎｄνである。ここで、ｊは１桁の自然数、ｄνは波数の増分、ｋｍｉｎは、ｊｋｍｉｎｐｄν≦α（αはγ／４程度）を満たす最大の非負の整数である。ただし、γは吸収線の半値幅の近似値、ｐは計算精度を制御する自然数である。
【請求項６】前記第２の所定の間隔は以下の式を用いて決定する請求項１に記載の方法。
第ｋ−ｋｍｉｎ＋１番目に狭い幅の所定の間隔は、ｊｋｄνである。ここで、ｊは１桁の自然数、ｄνは波数の増分、ｋはｋｍｉｎ≦ｋ＜ｋｍａｘである。ｋｍａｘは、ｊｋｍａｘ＋２ｐｄν≦Ｖｍａｘを満たす自然数である。ただし、Ｖｍａｘは吸収線中心からの計算範囲で最大のもの、ｐは計算精度を制御する自然数である。ｋｍｉｎは、ｊｋｍｉｎｐｄν≦α（αはγ／４程度）を満たす最大の非負の整数である。ただし、γは吸収線の半値幅の近似値、ｐは計算精度を制御する自然数である。
【請求項７】前記補間は、補間区間を４等分し、補間区間（ｘ０、ｘ１）において４分割する点の関数値をｙａ、ｙｂ、ｙｃ、およびその微分値をｙａ´、ｙｂ´、ｙｃ´とし、ｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´を用いて、以下の（１）式は関数値の補間式、（２）式は関数微分値の補間式、εを非負の小数として計算する請求項１ないし３のいずれかに記載の方法。
2005033640.tif 000056
2005033640.tif 000057
【請求項８】前記補間は、補間区間を５等分し、補間区間（ｘ０、ｘ１）において５分割する点の関数値をｙａ、ｙｂ、ｙｃ、ｙｄ、およびその微分値をｙａ´、ｙｂ´、ｙｃ´、ｙｄ´とし、ｘ０、ｘ１での関数値ｙ０、ｙ１及び関数微分値ｙ０´、ｙ１´を用いて、以下の（３）式は関数値の補間式、（４）式は関数微分値の補間式、εを非負の小数として計算する請求項１ないし３のいずれかに記載の方法。
2005033640.tif 000058
【請求項９】フォークト関数をＫ（ｘ，ｙ）とし、吸収線のフォークト線形からずれた吸収線の形がＫ（ｘ，ｙ）＋ｆ（ｘ）であるとき、
2005033640.tif 000059
を
2005033640.tif 000060
2005033640.tif 000061
を
2005033640.tif 000062
で置き換えることによってライン・バイ・ライン計算を高速化する請求項１ないし８に記載の方法。
【請求項１０】フォークト関数をＫ（ｘ，ｙ）とし、フォークト線形からずれた吸収線の形がＫ（ｘ，ｙ）ｆ（ｘ）がであるとき、
2005033640.tif 000063
を
2005033640.tif 000064
を
2005033640.tif 000065
で置き換えることによってライン・バイ・ライン計算を高速化する請求項１ないし８に記載の方法。
【請求項１１】サブローレンツィアン補正について、
2005033640.tif 000066
および
2005033640.tif 000067
を利用してライン・バイ・ライン計算を高速化する請求項１０に記載の方法。
【請求項１２】ラインミキシング補正について、以下に表す式で置き換えることによってライン・バイ・ライン計算を高速化する請求項９に記載の方法。
2005033640.tif 000068
を
2005033640.tif 000069
を
2005033640.tif 000070
ここでＬ（ｘ，ｙ）は次式で定義される、複素数ｚ＝ｘ＋ｉｙの関数ｗ（ｚ）の虚数成分である（実数部分はフォークト関数）。
2005033640.tif 000071
（ｅｒｆｃ（ｚ）は複素相補誤差関数）
【請求項１３】多数の重なり合う吸収線のライン・バイ・ライン計算の高速化プログラムであって、該プログラムは、
（１）吸収線の形状を表わすフォークト関数の対象範囲を、フォークト関数のピーク近傍の第１の範囲および第１の範囲に含まれない裾部分に分けて、第１の範囲を、前記フォークト関数との接続点において、前記フォークト関数と関数の値及び微分値が一致する３次関数で代替し、第１の所定の間隔ごとに該３次関数と裾部分のフォークト関数の値及び微分値を計算する段階と、
（２）複数の吸収線について前記（１）の結果を足し合わせる段階と、
（３）前記（２）の結果を補間して前記第１の所定の間隔より狭い第２の所定の間隔で関数値及び微分値を計算する段階と、
（４）前記第１の範囲をピーク近傍の第２の範囲と第２の範囲に含まれない裾部分に分けて、「フォークト関数と前記３次関数の差の関数」の該第２の範囲を、前記「フォークト関数と前記３次関数の差の関数」との接続点において、前記「フォークト関数と前記３次関数の差の関数」の関数の値及び微分値が一致する第２の３次関数で代替し、前記第２の所定の間隔ごとに該第２の範囲を代替した該第２の３次関数と裾部分の該「フォークト関数と前記第２の３次関数の差の関数」の値及び微分値を計算する段階と、
（５）複数の吸収線について前記（４）の結果を前記（３）の結果に足し合わせる段階と、
（６）前記（５）の結果を補間して前記第２の所定の間隔より狭い間隔で関数値及び微分値を計算する段階と、
（７）前記第２の範囲において複数の吸収線について「フォークト関数と前記第２の３次関数の差の関数」の値を前記（６）の結果に足し合わせる段階と、
を有するプログラム。
【請求項１４】最小単位の間隔になるまで間隔を狭めながら補間により関数値、微分値を計算する段階を繰り返す請求項１３に記載のプログラム。
【請求項１５】前記（６）の段階における「前記第２の所定の間隔より狭い間隔」が第３の所定の間隔になるまで前記（４）ないし（６）に記載された段階を１回以上繰り返す請求項１３に記載のプログラム。




【国際調査報告】
2005033640.tif 000072
2005033640.tif 000073
2005033640.tif 000074
2005033640.tif 000075