書かれているように、問題は時間とします。ここで、は入力の長さです(残念ながら、他のものにを使用しました)。実際、たとえばが正の整数(最小多項式与えられる)で場合、出力のサイズは入力のサイズで指数関数になります。結果を計算する方法はいくつかあるため、この境界はもちろん最適です。 M 、N α X - α N = 0 2 O (M )2Ω(m)mnαx−αn=02O(m)
もう少し理にかなっているように質問を再構成してみましょう。主な問題は、入力と出力の表現、および近似の概念をどのように選択するかです。これにより、べき乗は、多項式時間で計算できるようになる可能性があります。
Kavehのコメントの1つに、ドメインを一定の有限区間に制限する方法が述べられています。これは機能しますが、不必要に制限されます。特に、代数的数を有界数に変換して指数関数が互いに何らかの関係を持つようにする方法はありません。
より柔軟なアプローチは、入力を固定小数点数として表し、出力を浮動小数点数として表すことです。具体的には、固定小数点表現は
を表すで、であり、浮動小数点表現は
であり、同様の解釈が行われます。ここで、は2進整数で、です。(例外として、それ自体を表すこともできます。)実数のからビットの絶対値の近似 ± Σ J A 、J 2 J A 、J ∈ { 0 、1 } ± 2 E × 0。a − 1 … a − s e a 0 = 1
±arar−1…a0.a−1…a−s
±∑jaj2jaj∈{0,1}±2e×a0.a−1…a−s
ea0=1x m x ′ | x − x0xm精度は、であるような実際のであり、
相対精度のビットへの近似は、ようなです。固定小数点近似には絶対精度を使用し、浮動小数点近似には相対精度を使用します。したがって、どちらの場合でも、想定することもできます(1ビットの精度が失われるまで)。
x′ m x ′ | 1 − x ′ / x | < 2 - M S ≤ M|x−x′|<2−mmx′|1−x′/x|<2−ms≤m
2進ガウス有理数の固定小数点表現と浮動小数点表現、および複素数の近似は、実数のペアを使用して同様に定義されます。以下のどこでも、は入力の合計サイズを示します。n
ここで、(実数または複素数)べき乗を次の問題とします:入力は数値と単項自然数固定小数点表現であり、出力はからビットの相対精度の浮動小数点近似です。対して、対数は入力として浮動小数点数と単項取り、出力は(たとえば、複素数の場合は主分岐)の絶対精度のビットへの固定小数点近似です。m e x m x m log x mxmexmxmlogxm
いくつかの穏やかな規則性条件を満たす実行時の境界に固執し、定数の乗法因子を無視する限り、次のようになります。
- 指数、対数、または同様の分析関数の複雑さは、少なくとも整数の乗算の複雑さです。たとえば、から読み取ることができますはの長さに線形な、十分に大きい場合。 EXPa2t aexp(a2−t)=a2−t+a22−2t−1+O(a32−3t)ta
- 指数と対数は同じ複雑さを持っています。その理由は、関数自体の評価を使用して、ニュートン反復(またはBrentのようなより洗練された方法)によってnice関数の逆を計算できるためです。反復には通常、乗算または除算が含まれますが、前のポイントまでに余裕があります。
代数的数値、それらは最小多項式(バイナリの整数係数のシーケンスとして記述)と、同じ多項式の根を区別するためのいくつかの手段で表すことができます。そのための自然な方法は、分離間隔またはディスクを必要とすることですような固定小数点数のペア。少なくともがこのプロパティを持つ一意の根であることを要求する必要がありますが、より強いものがより適切な場合があります。詳細は後ほど。F 、C 、ρ | C - α | < ρ α Fαfc,ρ|c−α|<ραf
ましょう代数的数の近似値は、以下の問題である:代数的数所与上記表現であり、単項での(複雑な)固定小数点近似計算に絶対精度のビット。M α Mαmαm
元の質問ではが求められましたが、ここでは無視して、代数のべき乗を次の問題として定義します。とて、(複素数)を計算します浮動小数点近似に対して相対精度のビット。 α M E αメートルReeααmeαm
事実:線形因子まで、代数的数のべき乗の複雑さは、代数的数の近似の複雑さと、複素数のべき乗の複雑さを同じです。
証明スケッチ:一方で、最初に固定小数点近似を計算してから、それをべき乗することができます。なお、の絶対精度のビット決定に対して相対精度のビット、及びその逆を。メートルαα E α Mm+O(1)αeαm
一方、代数的数のべき乗を実行できる場合は、固定小数点数(正確と見なされる)を代数的数としての表現に容易に変換できるため、単純なべき乗も実行できます。上記のコメントにより、これは同じ時間範囲で対数を計算することもできることを意味します。したがって、最初に概算し、次に対数を取ることで代数的数値を概算できます。QEDeα
これは問題を2つのまったく関連のない問題に分割します。べき乗の最もよく知られている上限は
定理(ブレント):時間でビット整数を乗算できる場合、時間複素指数(および対数)を計算でき。M (nO (M (n )log n )M(n)O(M(n)logn)
最もよく知られている下限は、上記のです。の最もよく知られている上限は、フューラーのアルゴリズムによるです。M (n )n log nΩ(M(n))M(n)nlogn2O(log∗n)
代数的数値近似(つまり、根の発見)のための最新技術を理解することは、まだ活発な研究分野であり、文献の範囲の定式化は、望んでいるほど明確ではないことが多いため、かなり困難です。示すとしましょう。O(F(N)POリットルのYLOGO~(f(n))O(f(n)polylog(f(n)))
以下のために、実際のルート近似、パンとTsigaridasを与えます:
定理:実数代数近似は、時間で実行できます。ここで、であり、はの係数のビット長の最大値です。D=度(F)τFO~(d2τ+dm)d=deg(f)τf
同じ論文で、彼らはを複素根近似の最もよく知られている境界として言及しています。少し最近の論文(http://arxiv.org/abs/1404.4775)では、特定の分離ディスクに分離率があるとの仮定の下で、実際のケースと同じ境界を主張しているようです(ディスクの中心から最も近い他のルートまでの距離をディスクの半径で割った値)少なくともなどですが、かなり面倒な方法で記述されているため、誤って解釈することがあります。のF1+1/ログDO~(d3+d2m)f1+1/logd
さて、最後の合併症。私は問題を近似として定義しましたが、質問は要求します。これは、実際に問題が難しくなる:場合、次いで近似のに対して相対精度のビットがエラー有する、これは十分により大きくすることができる自体、いずれの場合においてで囲まれることが保証されていない。再E α再E α « イムeαReeα X + I Y E α m個のY 2 - MReeα≪Imeαx+iyeαmy2−m、X 2 - Mxx2−m
正確な有理数の累乗については、問題を回避できます。
命題:考えると単項、バイナリ有理数(又は正確な固定小数点数)であり、我々は、浮動小数点の近似計算することができるに内の相対精度のビット上記で定義された複素指数と同じ時間限界まで、線形係数まで。(つまり、ブレントのアルゴリズムを使用した。)m個のX 、Y リE α Mα=x+iymx,yReeαmO(M(n)logn)
証明の概略:我々は持っている。を概算でき、浮動小数点数を簡単に乗算できます。問題は、を相対誤差概算することです。最も近い整数を計算できます。ここで、はまたは。ここで、は満たします。をにするために、を計算する必要があり、が非常に小さい場合に問題が発生します。E X COS Y 2 - Mの KReeα=excosyexcosy2−mkCOS Y ± COS Y ' ±2y/πcosy±cosy′Y ' = Y - K π±siny′ | y′| ≤π/4のSiNY'Y'のSiNY'MM+ログ| y′−1| y=u/vu、vy′=y−kπ2|y′|≤π/4siny′y′siny′m相対精度のビット、絶対精度のビット。と仮定します。ここで、は入力として与えられる整数です。が小さい場合、:
適切な有理近似があり
現在、は有限不合理性測度を持っていることが知られています(現在の境界は、Salikhovによって作られています)。これは、
意味し、線形の上限を与え入力の長さに関して。したがって、を計算できますm+log|y′−1|y=u/vu,v π | π - 2 Uy′ππν7。6063| y′| ≥1
∣∣∣π−2ukv∣∣∣≤2|y′|k.
πν7.6063ログ||y′|≥12kν−1vν,
y'siny'log|y′−1|y′望ましい精度に; その場合、評価は問題になりません(が十分に小さい場合は、)。QED
siny′y′siny′≈y′
同じことが代数的なも当てはまるかどうかはわかりません。上記の引数では、範囲を取得できますしかし、ベイカーの定理から、私が見たそのバージョンのどれも、必要な精度を入力のサイズで線形にするのに十分なものはありません。特に、境界には(かなり厄介な)多項式が含まれます。これにより、結果のアルゴリズムは入力のサイズが多項式になりますが、とんでもない指数になります。ログ| y ′ | 度(f )αlog|y′|deg(f)