JP2005235121A - 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体 - Google Patents

実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体 Download PDF

Info

Publication number
JP2005235121A
JP2005235121A JP2004046894A JP2004046894A JP2005235121A JP 2005235121 A JP2005235121 A JP 2005235121A JP 2004046894 A JP2004046894 A JP 2004046894A JP 2004046894 A JP2004046894 A JP 2004046894A JP 2005235121 A JP2005235121 A JP 2005235121A
Authority
JP
Japan
Prior art keywords
polynomial
zero
determining
real
closed curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004046894A
Other languages
English (en)
Other versions
JP4321301B2 (ja
Inventor
Hiroshi Sekikawa
浩 関川
Kiyoshi Shirayanagi
潔 白柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004046894A priority Critical patent/JP4321301B2/ja
Publication of JP2005235121A publication Critical patent/JP2005235121A/ja
Application granted granted Critical
Publication of JP4321301B2 publication Critical patent/JP4321301B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】 複素空間が与えられた場合に、特殊な制約条件が同時に付与されている場合以外は、零点を判定する方法がない。
【解決手段】 本発明は、判定問題を場合分けし、単純閉曲線C上または、C内部に零点を有する区間多項式が存在するか、Cの区分Cの端点に零点を有する多項式が存在するか、また、Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式が存在するかの判定を行う。
【選択図】 図1

Description

本発明は、実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体に係り、特に、係数に誤差のある一変数実多項式の零点の位置判定を行うための実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体に関する。
係数が確定している一変数多項式の零点、即ち、その多項式が0に等しいとおいた一変数代数方程式の根が、与えられた領域に少なくとも一つ存在するかどうかの判定は、古典的な「Sturmのアルゴリズム」などを用いれば可能である(例えば、非特許文献1参照)。しかしながら、実際の応用上現れる多項式においては、係数を測定によって得たり、あるいは、測定値より計算したものであることが多い。即ち、係数の正確な値は分からない場合が多い。
一変数代数方程式の根は、次数が変化しないときには係数に関して連続だが、係数の変動に対して非常に敏感であって、係数をわずかに変えただけで激しく動く。ここでは、Wilkinsonによる例を取り上げて説明する。1から20までの連続する20個の整数を根として持つ20次の代数方程式
P(x)=(x−1)(x−2)…(x−20)=x20−210x19+…+20!=0
をとり、
Q(x)=P(x)−2−2319
と置く。P(x)とQ(x)の違いは、x19の係数が前者は-210、後者は-210.00000011…
である点だけである。P(x)とQ(x)をすべて書き下ろしたものを、以下に示す。
Figure 2005235121
上記のP(x)=0の根はすべて実で20個(1から20までの連続する整数)あるが、Q(x)=0の実根は10個になってしまう(残りの10個は5組の共役な虚根となる)。Q(x)=0の最大の実根は、20.08…、二番目に大きい実根は8.9…である。
したがって、係数が正確にはわからない方程式の根の位置判定は、慎重に行う必要がある。
以下、方程式の係数は実数で誤差があるものとし、その範囲を区間数で表す。区間数[m,u]とは、m≦c≦uとなる実数cの全体の集合のことである。mとuを区間数[m,u]の端点と呼ぶ。区間多項式とは、
Figure 2005235121
のように表記されるもので、全てのj(0≦j≦d)に対してc∈[m,u]となる多項式
Figure 2005235121
全体の集合を表すものである。ここでは、全ての区間数の端点は有理数であるものとし、与えられた領域に零点をもつような多項式f(x)(∈F(x))が存在するか否かを判定する問題を考える。
もし、与えられた領域が実の場合、即ち、ある実の区間[a,b]であれば、以下の方法をとればよい。
場合1:区間[a,b]が0以上の領域に入る場合、すなわち、0≦aの場合、
Figure 2005235121
と置く。このとき、f,f∈F(x)かつ、区間[a,b]において、つねに、f(x)≦f(x)が成り立つことに注意する。
まず、区間の端点a,bにおいて、f,fの値を調べる。
・f(a),f(b),f(a),f(b)の中に0のものがあれば、零点が存在することがわかり、判定終了。
・f(a),f(b),f(a),f(b)の中に異符号のものがあれば、さらに場合分けする。f(a)とf(b)が異符号の場合は、あるc(a<c<b)があって、f(c)=0であることがわかり、判定終了。f(a)とf(b)が異符号の場合も、あるc(a<c<b)があってf(c)=0であることがわかり、判定終了。残るは、f(a)とf(b)が同符号、f(a)とf(b)が同符号の場合である。この場合の状況を図20に示す。f(a)≦f(a)だから、f(a)<0<f(a)である(f(a)とf(a)が同符号ならば、f(a),f(b),f(a),f(b)の全てが同符号になってしまう)。g(t,x)=(1−t)f(x)+tf(x)とおくと、任意の0≦t≦1に対し、g(t,x)は区間多項式Fに属す。f(a)−f(a)>0であり、t=−f(a)/(f(a)−f(a))とおくと、g(t,a)=0かつ0<−f(a)/(f(a)−f(a))<1。すなわち、多項式g(t,x)は、区間多項式Fに属し、しかも、aを零点とすることがわかり、判定終了。
(a),f(b),f(a),f(b)の全てが同符号の場合、それが正ならばfが[a,b]に零点を持つか否か調べればよい。図21、図22は、それぞれ、fが零点を持つ場合、持たない場合を示す図である。同様に、f(a),f(b),f(a),f(b)のすべてが負ならば、fが[a,b]に零点を持つか否か調べればよい。いずれの場合も、既に知られている『Sturmのアルゴリズム』その他を用いれば判定できる。
場合2: 区間[a,b]が0以下の領域に入る場合、即ち、b≦0の場合、この場合は、x=−yと変数変換することにより、ケース1に帰着する。
場合3: 区間[a,b]の内部に0が含まれる場合、すなわち、a<0<bの場合。この場合は、区間[a,b]を[a,0]と[0,b]に分ければ、それぞれ、ケース1、ケース2に帰着する。
複素平面上にある領域を対象とするとき、特別な場合には「Rouche」(ルーシェ)の定理(f(z)とg(z)とは閉曲線Cの内部及びC上で正則とし、C上では|f(z)|>|g(z)|であるとする。このとき、f(z)とf(z)+g(z)とはC内部に重複度を含めて、同数個の零点をもつ)を用いて判定可能である(例えば、非特許文献2参照)。有限個に区分された各区分が一変数有理係数有理式で表される複素平面上の単純閉曲線(Jordan曲線)Cが与えられたとき、Fに属するある多項式fについて、fは、Cの周上に零点を持たず(この判定はSturmのアルゴリズムなどで可能)、任意のg∈Fに対し、|g−f|<|f|がC上でつねに成り立つことがいえるならば、fのみをRoucheの定理を用いて調べればよい。この場合、任意のg∈Fに対し、C上にはgの零点はなく、Cで囲まれた領域内のgの零点の数は、fのそれに等しいからである。但し、上記の逆はいえないので、|g−f|≧|f|となるgが存在する場合には、上記の手法は適用できない。
また、『少なくとも一つの零点が存在』ではなく、『すべての零点が存在』という形なら、エッジ定理(例えば、非特許文献3参照)が適用可能である。すなわち、Fに属する全てのエッジ多項式、つまり、高々一つの係数を除く、係数が区間数の端点となっている多項式のみ調べればよい。但し、今考えている領域をDとしたとき、領域Dに「Dの補集合の任意の点が無限遠に向かう適当な経路上にある」という制限がつく。従って、『領域Dに少なくとも一つの零点がある』の否定と同値な「領域Dの補集合に全ての零点があり、かつ、Dの境界上に零点がない」を示すのにエッジ定理を常に使えるわけではない。
上記のように、対象とする領域が実をはみ出し複素平面上にあるとき、いかなる集合であっても有限ステップで厳密に判定が可能な手法は存在していない
高木貞治、代数学講義(改訂新版)、第3章、共立出版、1965 吉田洋一、函数論(第2版)、VII章、留数、§48、1965 A. C. Bartlett, L.Huang and C. V. Hollot, Root location of an entire polytope of polynomials: it suffices to check the edges, Mathematics of Controls, Signals and Systems, Vol.1, pp.61-71, 1988
上記のように、従来は、対象とする領域が実をはみ出し複素平面上にある場合は、特殊な制約条件が同時に付与されている場合以外は、零点を判断する方法がなかった。
本発明は、上記の点に鑑みなされたもので、各係数の誤差範囲が区間で指定された区間多項式に属する多項式であって、与えられた複素平面上の単純閉曲線で囲まれた境界も含む領域内に零点を持つものが存在するか否かを有限ステップで厳密に判定することが可能な実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体を提供することを目的とする。
図1は、本発明の原理を説明するための図である。
本発明は、実区間多項式の零点の位置を判定する方法において、
入力手段から、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを入力し、該一変数実区間多項式と該単純閉曲線とを記憶手段に記憶する入力ステップ(ステップ1)と、
多項式抽出手段において、記憶手段から一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップ(ステップ2)と、
多項式判定手段において、読み出された多項式fについて、記憶手段から単純閉曲線を読み出して、該単純閉曲線C上または、該C内部にfが零点を有するかを判定する多項式判定ステップ(ステップ3)と、
区分境界点判定手段において、単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップ(ステップ4)と、
区分内点判定手段において、単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップ(ステップ5)と、からなる。
また、本発明は、多項式判定ステップにおいて、
抽出された多項式fが単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fがCの内部に零点を有するかを判定する。
また、本発明は、区分境界点判定ステップにおいて、
ある端点αを取り、区間多項式Fを
Figure 2005235121
と書き直し、(u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え、
(u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え、
最終的なΣ…を0に等しいとおいた上で、
Figure 2005235121
と書き換え、a,a,…,aの凸包を求め、
bが凸包に属していれば、区間多項式はC上あるいはC内部に零点を有すると判定する。
また、本発明は、区分内点判定ステップにおいて、
エッジ多項式を取得し、エッジに対応するただ一つ残っているパラメータをtとし、
エッジ多項式に対し、まだ調べていない単純閉曲線Cの区分Cを取得し、
の有理係数有理式の表記φ(s)+iψ(s)(s∈S)をエッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とし、
(s)−h(s)の分母を払った多項式をP(s)とし、
(s)、h(s)のどちらかを選びH(s)とし、
H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算し、
(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいは内部に零点を有すると判定し、
ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいは内部に零点を有すると判定し、
ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定する。
本発明は、実区間多項式の零点の位置を判定させるプログラムであって、
コンピュータに、
入力手段から入力された、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを記憶手段に格納する入力ステップと、
記憶手段から一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップと、
読み出された多項式fについて、記憶手段から単純閉曲線を読み出して、該単純閉曲線C上または、該C内部にfが零点を有するかを判定する多項式判定ステップと、
単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップと、
単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップと、を実行させる。
また、本発明は、多項式判定ステップにおいて、
抽出された多項式fが単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fがCの内部に零点を有するかを判定するステップを実行させる。
また、本発明は、区分境界点判定ステップにおいて、
ある端点αが設定されると、多項式Fを
Figure 2005235121
と設定し直すステップと、
(u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
(u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
最終的なΣ…を0に等しいとおいた上で、
Figure 2005235121
と書き換え、a,a,…,aの凸包を求めるステップと、
bが凸包に属していれば、区間多項式はC上あるいはC内部に零点を有すると判定するステップと、を実行させる。
また、本発明は、区分内点判定ステップにおいて、
エッジ多項式を取得し、エッジに対応するただ一つ残っているパラメータをtとするステップと、
エッジ多項式に対し、まだ調べていない単純閉曲線Cの区分Cを取得するステップと、
の有理係数有理式の表記φ(s)+iψ(s)(s∈S)をエッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とするステップと、
(s)−h(s)の分母を払った多項式をP(s)とするステップと、
(s)、h(s)のどちらかを選びH(s)とするステップと、
H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算するステップと、
(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定するステップと、
ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定するステップと、
ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定するステップと、を実行させる。
本発明は、実区間多項式の零点の位置を判定させるプログラムを格納した記憶媒体であって、
コンピュータに、
入力手段から入力された、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを記憶手段に格納する入力ステップと、
記憶手段から一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップと、
読み出された多項式fについて、記憶手段から単純閉曲線を読み出して、該単純閉曲線Cまたは、該C内部にfが零点を有するかを判定する多項式判定ステップと、
単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップと、
単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップと、を実行させるプログラムを格納した記憶媒体である。
また、本発明は、多項式判定ステップにおいて、
抽出された多項式fが単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fがCの内部に零点を有するかを判定するステップを実行させるプログラムを格納した記憶媒体である。
また、本発明は、区分境界点判定ステップにおいて、
ある端点αが設定されると、多項式Fを
Figure 2005235121
と設定し直すステップと、
(u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
(u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
最終的なΣ…を0に等しいとおいた上で、
Figure 2005235121
と書き換え、a,a,…,aの凸包を求めるステップと、
bが凸包に属していれば、区間多項式はC上あるいはC内部に零点を有すると判定するステップと、を実行させるプログラムを格納した記憶媒体である。
また、本発明は、区分内点判定ステップにおいて、
エッジ多項式を取得し、残りのパラメータとするステップと、
エッジ多項式に対し、まだ調べていない単純閉曲線Cの区分Cを取得するステップと、
の有理係数有理式の表記φ(s)+iψ(s)(s∈S)をエッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とするステップと、
(s)−h(s)の分母を払った多項式をP(s)とするステップと、
(s)、h(s)のどちらかを選びH(s)とするステップと、
H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算するステップと、
(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定するステップと、
ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、C上あるいはC内部に零点を有すると判定するステップと、
ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、C上に零点を有すると判定するステップと、を実行させるプログラムを格納した記憶媒体である。
上記のように、本発明によれば、区間係数多項式に対して、与えられた複素平面上の領域に根が存在するような多項式の存在の有無を判定することが可能である。
以下、図面と共に本発明の実施の形態を説明する。
図2は、本発明の一実施の形態における位置判定装置の構成を示す。
同図に示す実区間多項式の零点の位置判定装置は、入力部10、代表多項式抽出部20、代表多項式判定部30、区分境界判定部40、区分内点判定部50及び、出力部60から構成される。
入力部10は、区間の端点が有理数である一変数実区間多項式と、有限個に区分された各区分が一変数有理係数有理式で表される複素平面上の単純閉曲線とを入力し、一変数実区間多項式と単純閉曲線を記憶手段(図示せず)に格納する。
代表多項式抽出部20は、記憶手段に格納されている一変数実区間多項式に属する一つの多項式を読み出す。
代表多項式判定部30は、代表多項式抽出部20で抽出された一つの多項式が入力された単純閉曲線C上、または、単純閉曲線Cで囲まれた領域に零点を持つか否かを判定する。
区分境界点判定部40は、記憶手段から一変数実区間多項式Fを読出し、単純閉曲線Cの各区分Cの端点を零点とする多項式が存在するか否かを判定する。即ち、Cの区分Cの端点を零点とする多項式g∈Fの存在の有無を判定する。
区分内点判定部50は、区分境界点判定部40において、Cの端点に零点を有する多項式が存在しない場合に、区間多項式に属する全てのエッジ多項式に対して単純閉曲線C上の各区分の内点において少なくとも一つの零点を持つか否かを判定する。即ち、Cに零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fの存在の有無を判定する。
出力部60は、各判定結果を出力する。
図3は、本発明の一実施の形態における判定処理のフローチャートである。
区間多項式
Figure 2005235121
及び、単純閉曲線Cが与えられているものとし、C上あるいは、C内部に零点を持つような多項式f∈Fが存在するか否かを判断する問題を考える。但し、Cは有限個に区分され、各区分が一変数有理係数有理式で表されているものとする。
まず、代表多項式抽出部20は、記憶手段(図示せず)から区間多項式Fに属する多項式fを一つ読み出し(ステップ110)、代表多項式判定部30において、それがC上あるいはCの内部に零点を持つか否かを調べる(判定A:ステップ120)。これは、「Sturmのアルゴリズム」などで判断できる。図4は、本発明の一実施の形態における判定Aの動作のフローチャートである。
Figure 2005235121
は、中心(c=(m+u)/2),端(c=mあるいはu)、その他計算しやすいものでよい。この段階で、もし、零点をもつことがわかれば判定は終了する(ステップ121)。
以下、C上にはfの零点がないものとする。fの零点がCで囲まれた領域内にあるかどうかは、複素領域に対する「Sturmのアルゴリズム」や、偏角の原理により判定可能である。この段階でもし、零点をもつことがわかれば判定は終了する(判定A:ステップ122)。
の零点がC上にも、Cで囲まれた領域の内部にもない場合(ステップ120、No)、もし、区間多項式Fに属するgで、C上あるいはCで囲まれた領域に零点を持つものがあれば、C上で零点を持つh∈Fが存在する。なぜなら、g自身がC上に零点を持つ場合はhとしてgをとればよいし、gがC上に零点を持たない場合は、もし、任意のt(0≦t≦1)に対し、f+t(g−f)がC上に零点を持たないとすると、Cで囲まれた領域の内部にあるfの零点とf+(g−f)=fの零点の数は等しくなる(Roucheの定理の特別な場合)。これは矛盾するからあるt(0≦t≦1)があって、h=f+t(g−f)の零点はC上にある。作り方から、任意の(0≦t≦1)に対し、f+t(g−f)はFに属するから、h∈Fである。よって、以下C上に零点を持つ多項式g∈Fが存在するか否かを判定すれば十分である。
次に、任意のf∈F及び、fの任意の零点αに対し、g∈Fであってg(α)=0となる多項式
Figure 2005235121
で、高々二つのjを除き、c=mあるいはuとなるものが存在することを説明する。
αを根とする次数が高々dの一変数実多項式g(x)(F(x)に入らないものも含める)の係数の集合をVとする。g(α)=0を実部と虚部に分けて、その連立方程式と見ることにより、Vは、Rd+1の中でd次元(αが実数の場合)、あるいは、d−1次元(αが虚数の場合)のベクトル空間となることがわかる。ベクトル空間Vと、Fの係数からなる超直方体Bとは交わる(fは両者に入る)ので、特に、ベクトル空間Vは、Bの面と共通点があることがわかる。すなわち、高々2つを除くと、係数が区間の端点となる多項式g(x)∈F(x)であって、g(α)=0となるものが存在することがわかる。
以上より、fがC上及びCで囲まれた内部に零点を持たない場合(ステップ120、No)、C上あるいは、Cで囲まれた内部に零点を持つ多項式g∈Fが存在することと、高々二個の係数を除き係数が区間の端点となっている多項式g∈Fであって、その零点がC上にあるものが存在することが同値であることがわかる。
以下、高々二個の係数を除き係数が区間の端点となっている多項式g∈Fであって、その零点がC上にあるものが存在するか否かを問題にする。
高々二個の係数を除き、係数が区間の端点となっている多項式g∈FがC上に根αを持つとする。
αがCの区分Cにあるとし、Cの表記をx=φ(s)+iψ(s)とする。但し、φ(s)、ψ(s)は、sの有理係数有理式とする。g(φ(s)+iψ(s))の実部をu(s)、虚部をv(s)とおくと、u(s)=v(s)=0という連立方程式となる。
今、gの係数のうち、区間の端点となっていないもの(高々二つ)をt、tと書くことにする。u(s)=v(s)=0を、sをパラメータとするt,tの連立方程式とみれば、sを動かしたとき、行列式が0でない限りは、必ず解が存在し、しかも、sについて連続である。よって、αに対応するsをsと書けば、sをsから動かしていったとき、
(1)行列式が0になるか、
(2)行列式が0とならず、tあるいはtが区間の端点に達するか、
(3)行列式が0とならず、sがパラメータの動く範囲の端点に達するか、
のいずれかが起こる。
(2)はエッジ多項式となる。(3)は、パラメータが端点のところで、対応する根が区分Cの端点となる。
(1)の場合は、そのとき連立方程式の解が不定なら、式が一本の場合と同じ状況になるので、sを止めたままで、t、tを連立方程式を満たすよう動かすことができる。そして、t,tのうちの少なくとも一つが区間の端点に達するまで動かせる。すなわち、上記(2)の場合になる。不能の場合、パラメータsが行列式を0にする値に近付くとき、t,tのうち少なくとも一方は∞あるいは−∞に発散するから、そのまえに区間の端点に達する。すなわち、上記(2)の場合に含まれる。以上より、(1)の場合は、(2)に含まれることがわかる。
以上を整理すれば、
(a)高々一個の係数を除き係数が区間の端点となっている多項式(エッジ多項式)g∈Fであって、その零点がC上にあるものが存在する、
(b)高々二個の係数を除き係数が区間の端点となっている多項式g∈Fであって、Cの端点の根とするものが存在する、
としたとき、(a)あるいは(b)が成り立つことと、高々二個の係数を除き係数が区間の端点となっている多項式g∈Fであって、その零点がC上にあるものが存在することは同値である。
よって、以下、(a),(b)をいかに調べるか、について記述する。
最初に、(b)の場合について述べる。まず、区間多項式を
Figure 2005235121
と書き直す。以下、アルゴリズムを簡単かつ、効率よくするため、エッジ多項式と限らない範囲で調べる(判定B:ステップ130)。
図5は、本発明の一実施の形態における判定Bの動作のフローチャートである。区分境界判定部40は、まず、まだ調べていない端点αを取る(ステップ131)。xにαを代入し、Fを
Figure 2005235121
と書き直す(ステップ132)。(u−m)αの実部が負となるjが存在するかを判定し(ステップ133)、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え(ステップ135)、(u−m)αの実部が0かつ虚部が負となるjが存在するか判定し(ステップ134)、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え(ステップ135)、その結果を、
Figure 2005235121
とする(ステップ136)。これを満たすような0≦t≦1が存在するか否かの判定となるが、これは、
Figure 2005235121
但し、e=0あるいは1、の全体、高々2d+1個の点の凸包にbが入るか否かの判定である。よって、まず、
Figure 2005235121
の全体の凸包を求める。これは、効率的に計算できる。まず、aを傾きでソートする。但し、傾きは−π/2とπ/2の間、とする。ソートの結果をv,…,vとする。但し、同じ傾きのものがあるときには、それらを全部足したもの一つに置き換える(例えば、aとaの傾きが同じときには、v,…,vの中には、a,aの代わりに、a+aを入れる。よって、nは、d+1より小さいことがある)。このとき、求める凸包の頂点は、0から始めて反時計回りに、0,v,v+v,…,v+…+v,v+v+…v,v+…+v,vn−1+v,vの全部で2n個となる(ステップ137)。この凸包にbが属するかを判定し(ステップ138)、属する場合には(ステップ138、Yes)FはC上あるいはCの内部に零点を有すると判定する。属さない場合は(ステップ138、No)、まだ調べていない端点があるかを判断し、ある場合にはステップ131に移行し、ない場合には判定C(ステップ140)に移行する。
次に、(a)の場合を説明する(判定C:ステップ140)。ただ一つ残ったパラメータをtとし、u(s)=v(s)=0を、パラメータも明記して、u(s,t)=v(s,t)=0と書く。この方程式は、tについては一次であるから、u(s,t)=0,v(s,t)=0それぞれからtを解いて、t=h(s)=h(s)と書ける。但し、h、hともにsの有理係数有理式である。h(s)−h(s)の分母を払った多項式をP(x)とし、sの動く範囲をSとする。Sは、有限の閉空間[a,b]か、片方が無限となる[a,∞)あるいは、(∞,b]、両方が無限のR全体、のいずれかである。
解くべき問題は、『有理係数方程式P(s)=0のSに入る実根α、有理係数有理式H(s),(h,hのどちらでも同じなので、計算が簡単な方を選んでよい)、有理数m,uに対してm≦H(α)≦uかどうかを判定せよ』である。
これを解くために、H(s)−mの分母を払った多項式とP(s)との最大多項式G(s)、及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算する。GとGは互いに素であるから(Gの根αに対しH(α)=mとなり、Gの根βに対しH(β)=uとなるから)、Pの根は、Gの根、Gの根、P/(G)の根の、三種類に分かれる。GあるいはGの根αについては、α∈Sの判定のみ行えば十分であり、これは、「Sturmのアルゴリズム」などで可能である。P/(G)の根βについては、β∈S及びm≦H(β)≦uの判定となるが、前者は、「Sturmのアルゴリズム」で、後者は、等号が成り立つことはなく、m<H(β)<uの判定であるから、十分に精度を上げた誤差解析付の近似計算、例えば、区間計算で判定可能である。
以上を、各エッジ多項式について行っていき、どこかで零点があることが分かれば判定終了である。エッジ多項式は有限個であるから、全てについて零点がないことがわかれば区間多項式Fに属する多項式で、与えられた領域に零点をもつものがないことがわかり、判定が終了する。
図6は、本発明の一実施の形態における判定Cの動作のフローチャートである。
まず、区分内点判定部50は、まだ調べていないエッジ多項式を記憶手段から読み出し、残っているパラメータをtとする(ステップ141)。取得したエッジ多項式に対し、まだ調べていないCの区分Cを取得する(ステップ142)。Cの有理係数有理式の表記φ(s)+iψ(s)(s∈S)をエッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)と書く(ステップ143)。
次に、u=v=0をtについて解く。u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とする(ステップ144)。h(s)−h(s)の分母を払った多項式をP(s)と書く(ステップ145)。h(s),h(s)のどちらかを選びH(s)と書く(ステップ146)。H(s)−mの分母を払った多項式とP(s)の最大公約数多項式G(s)及びH(s)−uの分母を払った多項式P(s)の最大公約多項式G(s)を計算する(ステップ146)。
(s)=0の実根βで、β∈Sを満たすものがあるかを判断し(ステップ148)、ある場合には、CあるいはCの内部に零点を有すると判断する。ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判断する(ステップ149)。ある場合には、CあるいはCの内部に零点を有すると判断する。ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判断する(ステップ150)。ある場合は、CあるいはCの内部に零点を有すると判断する。ない場合には、取得したエッジ多項式に対し、まだ調べていないCの区分が存在するかを判定し、存在する場合にはステップ142に移行する(ステップ151)。存在しない場合には、まだ調べていない多項式が存在するかを判断し、存在する場合にはステップ141に移行し、存在しない場合には、多項式Fは、C及び内部に零点を有しないと判断し、処理を終了する(ステップ152)。
以下、図面と共に本発明の実施例を説明する。
以下では、実際に区間多項式と領域を与えて説明する。なお、以下では、ある桁から先の値を省略する意味の『…』がない小数は、正確な値を表すものとする。
[第1の実施例]
図7は、本発明の第1の実施例の動作のフローチャートである。
本実施例では、Fを二次の区間多項式
[0.9995,1.0005]x2+[-0.6185,-0.6175]x+[0.995,1.0005]
とし、単純閉曲線Cとして、中心がc=0.3096+i・0.9526、半径がr=0.0004の円周をとり、C及びその内部をDとしたとき、Dに少なくとも一つの根を持つようなFに属する多項式が存在するか否かを判定することを考える。
図8は、本発明の第1の実施例の円周Cを示す。なお、Cの有理関数による表示は以下の通り与えられているものとする。
C=C∪C、但し、Cは、一点c−r(=0.3092+i・0.9526)のみからなり、Cは、Cから一点c−rを除いたものである。前者の表記は、x=c−rであり、後者の表記は、x=c+r(1−s)/(1+s)+i・2rs/(1+s)、但し、−∞<s<∞である。
まず、Fに属する多項式fを一つとる(ステップ201)。ここでは、各区間係数の中点を係数とする多項式をfとする。すなわち、f0(x)=x2-0.618+1である。f0(x)=0の二根は、0.309±i・√0.904519=0.309±i・0.951062,…であって、実部を見れば、Dの外にあることがわかる(ステップ202)。この状況を図9に示す。
次に、C上に根を持つようなf∈Fが存在するか否かの判定になる。
まず、「C,Cの端点を根として持つfが存在するか」(ステップ203)、であるが、今の場合、Cには端点がなく、Cの端点は、c−rただ一点である。すなわち、「c−r(=0.3092+i・0.9526)を根とするfが存在するか」、である。
F={(0.9995+0.001t2)x2-(0.6185+0.001t1)x+(0.9995+0.001t0)|0≦t0,t1,t2≦1}
と書けることから、
(0.9995+0.001t2)x2-(0.6185+0.001t1)x+(0.9995+0.001t0)=0
を解くことになる。これに、x=c−rを代入し、整理したものが以下のようになる。
Figure 2005235121
の係数の実部が負なので、tを1−tで置き換えると、以下のようになる。
Figure 2005235121
係数をソートすると、
v1=0.00081184212-i・0.00058908784,
v2=0.001,
v3=0.0003092+i・0.0009526
となる。よって、凸包の頂点リスト及びその座標は、以下のようになる。
Figure 2005235121
この凸包に、
Figure 2005235121
の右辺の値v=0.00398824106-i・0.00019928392は入らないことがわかる。この状況を図10に示す。
次に、C上に零点があるかの判定を行なう(ステップ205)。これは、以下に示す12本のエッジ多項式から決まる方程式が対象となる。
Figure 2005235121
以下、上記の最初の式をfとし、それについて説明する。
f1(x)=tx2-(6185/10000)x+9995/10000=0(9995/10000≦t≦10005/10000)である。
まず、x=c+r(1-s2)/(1+s2)+i・2rs/(1+s2)(-∞<s<∞)を代入して整理すると、その実部、虚部は、以下の通りとなる。
Figure 2005235121
上記の実部、虚部それぞれにおいて、tを解くと以下のようになる。
Figure 2005235121
上記の等式を整理すると、以下のようになる。
Figure 2005235121
「Sturmのアルゴリズム」を使えば、上記の方程式に実根がないことがわかる。よって、全ての
t(9995/10000≦t≦10005/10000)
に対して
f1(x)=tx2-(6185/10000)x+9995/10000=0
の根はDの外であることがわかる。
他の11本の多項式についても同じように確認することにより(ステップ206)、Fの中にはDに根を持つ多項式がないことがわかる(ステップ207)。
[第2の実施例]
本実施例では、区間多項式Fは、上記の第1の実施例と同じものとする。
単純閉曲線Cとして、4つの頂点が、
R1=0.3092+i・0.95
R2=0.31+i・0.95
R3=0.31+i・0.953
R4=0.3092+i・0.953
である長方形をとる。図11にその長方形Cを示す。なお、同図において、点線で示してある円周は、前述の第1の実施例のものである。なお、Cの有理関数による表示は、以下の通り与えられているものとする。
C=C∪C∪C∪C但し、C,C,C,Cの表示は、以下に示すとおりである。
Figure 2005235121
図12は、本発明の第2の実施例の動作のフローチャート(その1)である。
Fに属する多項式として、第1の実施例と同じf0(x)=x2-0.618x+1をとる(ステップ301)。f0(x)=0の二根は、0.309±i・√0.904519=0.309±i・0.951062…であって、実部を見ればいずれもDの外にあることがわかる。この状況を図13に示す。
次に、C上に零点を持つようなf∈Fが存在するか否かの判定を行う(ステップ302)。
まず、「C,C,C,Cの端点、すなわち、4点R,R,R,Rを零点として持つfが存在するか」、を判定する。第1の実施例と同じく、
(0.9995+0.001t2)x2-(0.6185+0.001t1)x+(0.9995+0.001t0)=0
のxに、R,R,R,Rの座標を入れて整理し(ステップ303)、必要ならtを1−tで置き換えて、凸包を作って調べることになる(ステップ304)。R,R,R,Rそれぞれに対応する凸包及びその頂点を、図14、図15、図16、図17に示す、いずれにしてもCの区分の端点を零点とする多項式f∈Fは存在しないことがわかる(ステップ306)。
図18は、本発明の第2の実施例の動作のフローチャート(その2)である。
次に、端点を除く、C,C,C,C上に零点があるかの判定を行う。これは、第1の実施例と同じ、以下の12本のエッジ多項式から決まる方程式が対象となる。
Figure 2005235121
但し、それぞれの方程式について、C,C,C,C上を調べることになるので、全部で48回の判定となる。以下、上記の最初の式をfとし(ステップ401)、それについて説明する。
(x)=tx2-(6185/10000)x+9995/10000=0(9995/10000≦t≦10005/10000)
である。
まず、長方形の上の辺Cについて調べる。
x=s+i・953/1000(3092/10000≦s≦31/100)
を代入して整理すると(ステップ402)、その実部、虚部は、以下のようになる。
Figure 2005235121
上記の実部、虚部それぞれにおいてtを解くと(ステップ403)、以下のようになる。
Figure 2005235121
上記の第二項と第三項が等しいという方程式を整理すると、以下のようになる。
Figure 2005235121
上記の方程式は、3092/10000≦s≦31/100の範囲に根を持たない。実際、これの一根は、0.028…、もう一根は32.3…である(ステップ404)。
次に、長方形の左の辺Cについて調べる。
x=3092/10000+i・s(95/100≦s≦953/1000)
を代入して整理すると(ステップ405)、その実部、虚部は、以下のようになる。
Figure 2005235121
上記の実部、虚部それぞれにおいて、tを解くと(ステップ406)、以下のようになる。
Figure 2005235121
上記の第二項と第三項が等しいという式を整理すると、以下のようになる。
Figure 2005235121
上記の方程式は、95/100≦s≦953/1000の範囲に一つの根s=0.950649…を持つ(ステップ407)。そのとき、t=6185/6184=1.0001617…で、9995/10000≦t≦10005/10000、すなわち、0.9995≦t≦1.0005の範囲内に収まっている(ステップ408)。
以上より、Fに属する多項式
tx2-0.6185x+0.9995=0(t=6185/6184)が、0.3092+si(s=0.950649…)
というD内(より詳しくは、長方形の左の辺C上)に根を持つことがわかる(ステップ304)。この状況を図19に示す。
ここまでは、説明を簡単にするため、区間の端点や曲線を表す式の係数は有理数としてきたが、有理数に限らず、計算機上で四則演算及び等号判定が厳密に実行可能な数ならよい。例えば、実代数的数(一変数整数係数代数方程式の根となる実数)としてもよい。
また、区間多項式は、単項式xに区間係数[m,u]を掛けたものの和の形のみであったが、より一般的に、係数が正確に分かっている多項式e(x)に区間係数[m,u]を掛けたものの和の形としてもよい。すなわち、
Figure 2005235121
の形でもよい。
なお、区間演算を用いて、
Figure 2005235121
を、
Figure 2005235121
と整理すると、(Aは区間)、F(x)⊂G(x)は常に成立するが、一般にはF(x)≠G(x)である。よって、整理する前の形のまま扱う必要がある。
このような形は、応用上、例えば、いつくかの点における値によって定められた多項式として現れる。具体的には、相異なるn+1個の点a,a,…,aでの値がb,b,…,bである高々n次の多項式f(x)は一意に決まり、
Figure 2005235121
として、
Figure 2005235121
と書ける。従って、bの値に誤差があるときは、
Figure 2005235121
の形となる。
なお、上記の実施の形態及び実施例における動作をプログラムとして構築し、コンピュータのCPUにインストールし実行させる、または、ネットワークを介して流通させることが可能である。
また、構築されたプログラムをコンピュータに接続されるハードディスク装置や、フレキシブルディスクやCD−ROM等の可搬記憶媒体に格納しておき、コンピュータに読み込ませ、実行させることも可能である。
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
本発明は、与えられた領域(単純閉曲線やその内部)が複素空間である場合に適用可能である。
本発明の原理を説明するための図である。 本発明の一実施の形態における位置判定装置の構成図である。 本発明の一実施の形態における判定処理のフローチャートである。 本発明の一実施の形態における判定Aの動作のフローチャートである。 本発明の一実施の形態における判定Bの動作のフローチャートである。 本発明の一実施の形態における判定Cの動作のフローチャートである。 本発明の第1の実施例の動作のフローチャートである。 本発明の第1の実施例の円周Cを示す図である。 本発明の第1の実施例の各区間係数の中点を係数とする多項式を説明するための図である。 本発明の第1の実施例の動作を説明するための図である。 本発明の第2の実施例の与えられた単純閉曲線である長方形Cを示す図である。 本発明の第2の実施例の動作のフローチャート(その1)である。 本発明の第2の実施例の一つ取り出した多項式の零点と与えられた領域の位置関係を示す図である。 本発明の第2の実施例の長方形の頂点Rを根とするFに属する多項式が存在するか否かを判定するための凸包及びその頂点座標を示す図である。 本発明の第2の実施例の長方形の頂点Rを根とするFに属する多項式が存在するか否かを判定するための凸包及びその頂点座標を示す図である。 本発明の第2の実施例の長方形の頂点Rを根とするFに属する多項式が存在するか否かを判定するための凸包及びその頂点座標を示す図である。 本発明の第2の実施例の長方形の頂点Rを根とするFに属する多項式が存在するか否かを判定するための凸包及びその頂点座標を示す図である。 本発明の第2の実施例の動作のフローチャート(その2)である。 本発明の第2の実施例の与えられた長方形の左辺上にあるFに属する多項式の零点を示す図である。 (a)とf(b)が同符号、f(a)とf(b)が同符号の場合を示す図である。 が区間[a,b]に根を持つ例を示す図である。 が区間[a,b]に根を持たない例を示す図である。
符号の説明
10 入力部
20 代表多項式抽出部
30 代表多項式判定部
40 区分境界点判定部
50 区分内点判定部
60 出力部

Claims (12)

  1. 実区間多項式の零点の位置を判定する方法において、
    入力手段から、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを入力し、該一変数実区間多項式と該単純閉曲線とを記憶手段に記憶する入力ステップと、
    多項式抽出手段において、前記記憶手段から前記一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップと、
    多項式判定手段において、読み出された前記多項式fについて、前記記憶手段から前記単純閉曲線Cを読み出して、該単純閉曲線C上または、該C内部にfが零点を有するかを判定する多項式判定ステップと、
    区分境界点判定手段において、前記単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップと、
    区分内点判定手段において、前記単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップと、からなることを特徴とする実区間多項式の零点の位置判定方法。
  2. 前記多項式判定ステップにおいて、
    抽出された前記多項式fが前記単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fが前記Cの内部に零点を有するかを判定する請求項1記載の実区間多項式の零点の位置判定方法。
  3. 前記区分境界点判定ステップにおいて、
    ある端点αを取り、前記区間多項式Fを
    Figure 2005235121
    と書き直し、(u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え、
    (u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換え、
    最終的なΣ…を0に等しいとおいた上で、
    Figure 2005235121
    と書き換え、a,a,…,aの凸包を求め、
    前記bが前記凸包に属していれば、前記区間多項式は前記C上あるいは該C内部に零点を有すると判定する請求項1記載の実区間多項式の零点の位置判定方法。
  4. 前記区分内点判定ステップにおいて、
    エッジ多項式を取得し、エッジに対応する、ただ一つ残っているパラメータをtとし、
    前記エッジ多項式に対し、まだ調べていない前記単純閉曲線Cの区分Cを取得し、
    前記Cの有理係数有理式の表記φ(s)+iψ(s)(s∈S)を前記エッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とし、
    (s)−h(s)の分母を払った多項式をP(s)とし、
    (s)、h(s)のどちらかを選びH(s)とし、
    H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算し、
    (s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいはC内部に零点を有すると判定し、
    ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいは該C内部に零点を有すると判定し、
    ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、前記C上あるいは該C内部に零点を有すると判定する請求項1記載の実区間多項式の零点の位置判定方法。
  5. 実区間多項式の零点の位置を判定させるためのプログラムであって、
    コンピュータに、
    入力手段から入力された、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを記憶手段に格納する入力ステップと、
    前記記憶手段から前記一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップと、
    読み出された前記多項式fについて、前記記憶手段から前記単純閉曲線を読み出して、該単純閉曲線C上または、該C内部にfが零点を有するかを判定する多項式判定ステップと、
    前記単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップと、
    前記単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップと、を実行させることを特徴とする実区間多項式の零点の位置判定プログラム。
  6. 前記多項式判定ステップにおいて、
    抽出された前記多項式fが前記単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fが該Cの内部に零点を有するかを判定するステップを実行させる請求項5記載の実区間多項式の零点の位置判定プログラム。
  7. 前記区分境界点判定ステップにおいて、
    ある端点αが設定されると、前記区間多項式Fを
    Figure 2005235121
    と設定し直すステップと、
    (u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
    (u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
    最終的なΣ…を0に等しいとおいた上で、
    Figure 2005235121
    と書き換え、a,a,…,aの凸包を求めるステップと、
    前記bが前記凸包に属していれば、前記区間多項式は前記C上あるいは該C内部に零点を有すると判定するステップと、を実行させる請求項5記載の実区間多項式の零点の位置判定プログラム。
  8. 前記区分内点判定ステップにおいて、
    エッジ多項式を取得し、エッジに対応するただ一つ残っているパラメータをtとするステップと、
    前記エッジ多項式に対し、まだ調べていない前記単純閉曲線Cの区分Cを取得するステップと、
    前記Cの有理係数有理式の表記φ(s)+iψ(s)(s∈S)を前記エッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とするステップと、
    (s)−h(s)の分母を払った多項式をP(s)とするステップと、
    (s)、h(s)のどちらかを選びH(s)とするステップと、
    H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算するステップと、
    (s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいは該Cの内部に零点を有すると判定するステップと、
    ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいは該Cの内部に零点を有すると判定するステップと、
    ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、前記C上あるいは該Cの内部に零点を有すると判定するステップと、を実行させる請求項5記載の実区間多項式の零点の位置判定プログラム。
  9. 実区間多項式の零点の位置を判定するプログラムを格納した記憶媒体であって、
    コンピュータに、
    入力手段から入力された、区間の端点が有理数である一変数実区間多項式と、有限個に区分され各区分が一変数有理式で表される複素平面上の単純閉曲線とを記憶手段に格納する入力ステップと、
    前記記憶手段から前記一変数実区間多項式Fに属する一つの多項式fを読み出す多項式抽出ステップと、
    読み出された前記多項式fについて、前記記憶手段から前記単純閉曲線を読み出して、該単純閉曲線C上または、該C内部にfが零点を有するかを判定する多項式判定ステップと、
    前記単純閉曲線Cの区分Cの端点に零点を有する多項式g∈Fが存在するかを判定する区分境界点判定ステップと、
    前記単純閉曲線Cの区分C上に零点を有し、高々1個の係数を除く他の係数が区間の端点である多項式g∈Fが存在するかを判定する区分内点判定ステップと、を実行させるプログラムを格納したことを特徴とする実区間多項式の零点の位置判定プログラムを格納した記憶媒体。
  10. 前記多項式判定ステップにおいて、
    抽出された前記多項式fが前記単純閉曲線C上に零点を有するか判定し、有していないと判定された場合には、該多項式fが該Cの内部に零点を有するかを判定するステップを実行させる請求項9記載の実区間多項式の零点の位置判定プログラムを格納した記憶媒体。
  11. 前記区分境界点判定ステップにおいて、
    ある端点αが設定されると、前記区間多項式Fを
    Figure 2005235121
    と設定し直すステップと、
    (u−m)αの実部が負となるjが存在するかを判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
    (u−m)αの実部が0、かつ、虚部が負となるjが存在するか判定し、存在する場合には、{(u−m)t+m}αを{(u−m)(1−t)+m}αと書き換えるステップと、
    最終的なΣ…を0に等しいとおいた上で、
    Figure 2005235121
    と書き換え、a,a,…,aの凸包を求めるステップと、
    前記bが前記凸包に属していれば、前記区間多項式は前記C上あるいは該C内部に零点を有すると判定するステップと、を実行させる請求項9記載の実区間多項式の零点の位置判定プログラムを格納した記憶媒体。
  12. 前記区分内点判定ステップにおいて、
    エッジ多項式を取得し、エッジに対応するただ一つ残っているパラメータをtとするステップと、
    前記エッジ多項式に対し、まだ調べていない前記単純閉曲線Cの区分Cを取得するステップと、
    前記Cの有理係数有理式の表記φ(s)+iψ(s)(s∈S)を前記エッジ多項式に代入し、実部をu(s,t)、虚部をv(s,t)とし、u=v=0をtについて解き、u=0から解いたものをt=h(s),v=0から解いたものをt=h(s)とするステップと、
    (s)−h(s)の分母を払った多項式をP(s)とするステップと、
    (s)、h(s)のどちらかを選びH(s)とするステップと、
    H(s)−mの分母を払った多項式とP(s)の最大公約多項式G(s)及び、H(s)−uの分母を払った多項式とP(s)の最大公約多項式G(s)を計算するステップと、
    (s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいは、該Cの内部に零点を有すると判定するステップと、
    ない場合には、G(s)=0の実根βで、β∈Sを満たすものがあるかを判定し、ある場合には、前記C上あるいは該Cの内部に零点を有すると判定するステップと、
    ない場合には、P(s)/(G(s)G(s))=0の実根βで、β∈Sかつm<H(β)<uを満たすものがあるかを判定し、ある場合には、前記C上あるいは該Cの内部に零点を有すると判定するステップと、を実行させる請求項9記載の実区間多項式の零点の位置判定プログラムを格納した記憶媒体。
JP2004046894A 2004-02-23 2004-02-23 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体 Expired - Fee Related JP4321301B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004046894A JP4321301B2 (ja) 2004-02-23 2004-02-23 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004046894A JP4321301B2 (ja) 2004-02-23 2004-02-23 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
JP2005235121A true JP2005235121A (ja) 2005-09-02
JP4321301B2 JP4321301B2 (ja) 2009-08-26

Family

ID=35017993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004046894A Expired - Fee Related JP4321301B2 (ja) 2004-02-23 2004-02-23 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体

Country Status (1)

Country Link
JP (1) JP4321301B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020619A (ja) * 2007-07-10 2009-01-29 Nippon Telegr & Teleph Corp <Ntt> 多項式間距離算出装置、方法、プログラムおよび記録媒体、一変数最近実多項式算出装置、方法、プログラムおよび記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020619A (ja) * 2007-07-10 2009-01-29 Nippon Telegr & Teleph Corp <Ntt> 多項式間距離算出装置、方法、プログラムおよび記録媒体、一変数最近実多項式算出装置、方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP4321301B2 (ja) 2009-08-26

Similar Documents

Publication Publication Date Title
Johansson et al. A high order discontinuous Galerkin Nitsche method for elliptic problems with fictitious boundary
Shu High order numerical methods for time dependent Hamilton-Jacobi equations
Lu et al. Parallel mesh adaptation for high-order finite element methods with curved element geometry
Hasan et al. No-bend orthogonal drawings and no-bend orthogonally convex drawings of planar graphs
Leroy Convergence under Subdivision and Complexity of Polynomial Minimization in the Simplicial Bernstein Basis.
JP6777574B2 (ja) 区分線形近似関数生成装置および方法
US20120191423A1 (en) Method for local refinement of geometric or physical representation
Fu et al. A polygons Boolean operations-based adaptive slicing with sliced data for additive manufacturing
JP4321301B2 (ja) 実区間多項式の零点の位置判定方法及び位置判定プログラム及び位置判定プログラムを格納した記憶媒体
Moscato et al. Affine arithmetic and applications to real-number proving
Manni et al. Standard and non-standard CAGD tools for isogeometric analysis: a tutorial
US11798655B2 (en) Feature vector feasibility estimation
Li et al. Superconvergence of C 0-Q k finite element method for elliptic equations with approximated coefficients
Haunert et al. Partitioning polygons via graph augmentation
Lu et al. A new lattice-based plane-probing algorithm
Ye et al. De-path: A differential-evolution-based method for computing energy-minimizing paths on surfaces
Ahn et al. A time-space trade-off for triangulations of points in the plane
Giovannangeli et al. FORBID: Fast Overlap Removal By stochastic gradIent Descent for Graph Drawing
Lin et al. Towards a tropical Hodge bundle
Hayotov et al. Optimal quadrature formulas and interpolation splines minimizing the semi-norm in the Hilbert space
JP3692460B2 (ja) 混合格子型解適合格子法を用いた数値解析装置
Li et al. An adaptive numerical integration algorithm for polygons
JP6026949B2 (ja) 曲面描画装置および曲面描画用プログラム
JP2007299264A (ja) 一変数実区間多項式の実重複擬零点の位置判定装置、位置判定方法、位置判定プログラムおよび記録媒体
Duan Padé-parametric FEM approximation for fractional powers of elliptic operators on manifolds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090525

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140612

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees