代数的な数与えられた場合、私は の特定の精度までの近似を見つけることに興味があります。ここで、は複素数の実数部を指します。ℜ (E α)ℜ ()
形式的には、ような 有理数を計算したい| ℜ (E α)- R | ≤ 2 - N
は(標準の)最小多項式によって与えられます。
この問題をどれだけ早く解決できますか?
場合浮動小数点、以下の基準として与えられます。
R.ブレント。初等関数の高速倍精度評価。JACM、1976。
答えを出すようです。
ただし、代数的数使用できるかどうかはわかりません。
代数的な数与えられた場合、私は の特定の精度までの近似を見つけることに興味があります。ここで、は複素数の実数部を指します。ℜ (E α)ℜ ()
形式的には、ような 有理数を計算したい| ℜ (E α)- R | ≤ 2 - N
は(標準の)最小多項式によって与えられます。
この問題をどれだけ早く解決できますか?
場合浮動小数点、以下の基準として与えられます。
R.ブレント。初等関数の高速倍精度評価。JACM、1976。
答えを出すようです。
ただし、代数的数使用できるかどうかはわかりません。
回答:
書かれているように、問題は時間とします。ここで、は入力の長さです(残念ながら、他のものにを使用しました)。実際、たとえばが正の整数(最小多項式与えられる)で場合、出力のサイズは入力のサイズで指数関数になります。結果を計算する方法はいくつかあるため、この境界はもちろん最適です。 M 、N α X - α N = 0 2 O (M )
もう少し理にかなっているように質問を再構成してみましょう。主な問題は、入力と出力の表現、および近似の概念をどのように選択するかです。これにより、べき乗は、多項式時間で計算できるようになる可能性があります。
Kavehのコメントの1つに、ドメインを一定の有限区間に制限する方法が述べられています。これは機能しますが、不必要に制限されます。特に、代数的数を有界数に変換して指数関数が互いに何らかの関係を持つようにする方法はありません。
より柔軟なアプローチは、入力を固定小数点数として表し、出力を浮動小数点数として表すことです。具体的には、固定小数点表現は を表すで、であり、浮動小数点表現は であり、同様の解釈が行われます。ここで、は2進整数で、です。(例外として、それ自体を表すこともできます。)実数のからビットの絶対値の近似 ± Σ J A 、J 2 J A 、J ∈ { 0 、1 } ± 2 E × 0。a − 1 … a − s e a 0 = 1
2進ガウス有理数の固定小数点表現と浮動小数点表現、および複素数の近似は、実数のペアを使用して同様に定義されます。以下のどこでも、は入力の合計サイズを示します。
ここで、(実数または複素数)べき乗を次の問題とします:入力は数値と単項自然数固定小数点表現であり、出力はからビットの相対精度の浮動小数点近似です。対して、対数は入力として浮動小数点数と単項取り、出力は(たとえば、複素数の場合は主分岐)の絶対精度のビットへの固定小数点近似です。m e x m x m log x m
いくつかの穏やかな規則性条件を満たす実行時の境界に固執し、定数の乗法因子を無視する限り、次のようになります。
代数的数値、それらは最小多項式(バイナリの整数係数のシーケンスとして記述)と、同じ多項式の根を区別するためのいくつかの手段で表すことができます。そのための自然な方法は、分離間隔またはディスクを必要とすることですような固定小数点数のペア。少なくともがこのプロパティを持つ一意の根であることを要求する必要がありますが、より強いものがより適切な場合があります。詳細は後ほど。F 、C 、ρ | C - α | < ρ α F
ましょう代数的数の近似値は、以下の問題である:代数的数所与上記表現であり、単項での(複雑な)固定小数点近似計算に絶対精度のビット。M α M
元の質問ではが求められましたが、ここでは無視して、代数のべき乗を次の問題として定義します。とて、(複素数)を計算します浮動小数点近似に対して相対精度のビット。 α M E αメートル
事実:線形因子まで、代数的数のべき乗の複雑さは、代数的数の近似の複雑さと、複素数のべき乗の複雑さを同じです。
証明スケッチ:一方で、最初に固定小数点近似を計算してから、それをべき乗することができます。なお、の絶対精度のビット決定に対して相対精度のビット、及びその逆を。メートルα E α M
一方、代数的数のべき乗を実行できる場合は、固定小数点数(正確と見なされる)を代数的数としての表現に容易に変換できるため、単純なべき乗も実行できます。上記のコメントにより、これは同じ時間範囲で対数を計算することもできることを意味します。したがって、最初に概算し、次に対数を取ることで代数的数値を概算できます。QED
これは問題を2つのまったく関連のない問題に分割します。べき乗の最もよく知られている上限は
定理(ブレント):時間でビット整数を乗算できる場合、時間複素指数(および対数)を計算でき。M (O (M (n )log n )
最もよく知られている下限は、上記のです。の最もよく知られている上限は、フューラーのアルゴリズムによるです。M (n )n log n
代数的数値近似(つまり、根の発見)のための最新技術を理解することは、まだ活発な研究分野であり、文献の範囲の定式化は、望んでいるほど明確ではないことが多いため、かなり困難です。示すとしましょう。O(F(N)POリットルのYLOG
以下のために、実際のルート近似、パンとTsigaridasを与えます:
定理:実数代数近似は、時間で実行できます。ここで、であり、はの係数のビット長の最大値です。D=度(F)τF
同じ論文で、彼らはを複素根近似の最もよく知られている境界として言及しています。少し最近の論文(http://arxiv.org/abs/1404.4775)では、特定の分離ディスクに分離率があるとの仮定の下で、実際のケースと同じ境界を主張しているようです(ディスクの中心から最も近い他のルートまでの距離をディスクの半径で割った値)少なくともなどですが、かなり面倒な方法で記述されているため、誤って解釈することがあります。のF1+1/ログD
さて、最後の合併症。私は問題を近似として定義しましたが、質問は要求します。これは、実際に問題が難しくなる:場合、次いで近似のに対して相対精度のビットがエラー有する、これは十分により大きくすることができる自体、いずれの場合においてで囲まれることが保証されていない。再E α再E α « イム X + I Y E α m個のY 2 - M、X 2 - M
正確な有理数の累乗については、問題を回避できます。
命題:考えると単項、バイナリ有理数(又は正確な固定小数点数)であり、我々は、浮動小数点の近似計算することができるに内の相対精度のビット上記で定義された複素指数と同じ時間限界まで、線形係数まで。(つまり、ブレントのアルゴリズムを使用した。)m個のX 、Y リE α M
証明の概略:我々は持っている。を概算でき、浮動小数点数を簡単に乗算できます。問題は、を相対誤差概算することです。最も近い整数を計算できます。ここで、はまたは。ここで、は満たします。をにするために、を計算する必要があり、が非常に小さい場合に問題が発生します。E X COS Y 2 - Mの KCOS Y ± COS Y ' ±Y ' = Y - K π | y′| ≤π/4のSiNY'Y'のSiNY'MM+ログ| y′−1| y=u/vu、v相対精度のビット、絶対精度のビット。と仮定します。ここで、は入力として与えられる整数です。が小さい場合、: 適切な有理近似があり 現在、は有限不合理性測度を持っていることが知られています(現在の境界は、Salikhovによって作られています)。これは、 意味し、線形の上限を与え入力の長さに関して。したがって、を計算できます π | π - 2 Uπν7。6063| y′| ≥1
同じことが代数的なも当てはまるかどうかはわかりません。上記の引数では、範囲を取得できますしかし、ベイカーの定理から、私が見たそのバージョンのどれも、必要な精度を入力のサイズで線形にするのに十分なものはありません。特に、境界には(かなり厄介な)多項式が含まれます。これにより、結果のアルゴリズムは入力のサイズが多項式になりますが、とんでもない指数になります。ログ| y ′ | 度(f )