プロスタファエレシス(ギリシャ語のπροσθαφαίρεσιςに由来)は、16世紀後半から17世紀初頭にかけて、三角法の公式を用いて乗算と除算を近似するために用いられたアルゴリズムである。1614年に対数が発明されるまでの25年間、積を素早く近似する唯一知られている一般的な方法であった。その名前は、ギリシャ語のπρόσθεν、prosthen、「前に」とἀφαίρεσις、aphaeresis、「取り除く、減算」に由来する。[ 1 ] [ 2 ] [ 3 ]
古代では、この用語は、移動する点や惑星の見かけ上の位置を平均位置に合わせるための縮小を意味するのに使われていました(中心の方程式を参照)。 ニコラウス・コペルニクスは、 1543年の著書『天球回転論 』の中で、「プロスタフェレシス」について何度か言及しています。 「大視差」とは、地球の年周運動による観測者のずれによって引き起こされる現象です。

16世紀のヨーロッパでは、長距離航海における船舶の天体航法は、位置と航路を決定するために天体暦に大きく依存していた。天文学者によって作成されたこれらの膨大な図表には、さまざまな時点における星や惑星の位置が詳細に記されていた。これらの計算に使用されたモデルは、球面三角法に基づいており、球面三角形の角度と弧長を次のような公式を用いて関連付けている(右図参照)。
そして
ここで、 a、b、cは、対応する弧が球の中心でなす角度である。
このような公式において、ある量が未知で他の量が既知である場合、未知の量は一連の乗算、除算、および三角関数表の参照を用いて計算できます。天文学者はこのような計算を何千回も行う必要があり、利用可能な最良の乗算方法は筆算であったため、その時間のほとんどは、苦労して積を掛け合わせることに費やされました。
数学者、特に天文学者でもあった人々は、より簡単な方法を探しており、三角法は彼らにとって最も先進的で馴染みのある分野の1つでした。プロスタファエレシスは1580年代に登場しましたが、その創始者は確実にはわかっていません。[ 4 ]その貢献者には、数学者のイブン・ユーニス、ヨハネス・ヴェルナー、パウル・ヴィティヒ、ヨースト・ビュルギ、クリストファー・クラヴィウス、フランソワ・ヴィエトが含まれます。ヴィティヒ、イブン・ユーニス、クラヴィウスは全員天文学者であり、さまざまな資料でこの方法を発見したとされています。最も有名な提唱者はティコ・ブラーエで、彼は上記のように天文学的計算にこれを広く使用しました。また、この方法に取って代わる対数を発明したとされるジョン・ネイピアもこれを使用しました。

プロスタファエレシスで利用される三角関数の恒等式は、三角関数の積と和の関係を示しています。それらには以下のものが含まれます。
これらのうち最初の2つは、ヨスト・ビュルギによって導き出されたと考えられており、彼はそれらをティコ・ブラーエに関連付けた。残りの2つは、これら2つから容易に導き出される。両辺に2を掛けると、これらの公式はヴェルナー公式とも呼ばれる。

上記の2番目の公式を用いると、2つの数を掛け合わせる方法は次のようになります。
例えば、乗算するにはそして:
前述の天文学的計算の一部で役立つ、2つの初期値のコサインの積を求めたい場合は、驚くほど簡単です。上記のステップ3と4だけが必要です。
割り算をするには、セカントがコサインの逆数であるという定義を利用します。による数値をスケーリングしてそして。 今は、割線の表を使うと、はこれはつまりなので、掛け算できますによる上記の手順を使用して、角度の合計のコサインの平均を計算します。それらの差のコサインを用いて、、
小数点の位置まで拡大すると、おおよその答えが得られます。。
他の公式を用いたアルゴリズムも同様ですが、それぞれ異なる箇所で異なる表(正弦、逆正弦、余弦、逆余弦)を使用します。最初の2つの公式は、それぞれ2つの表しか必要としないため、最も簡単です。ただし、2番目の公式を用いると、余弦表しか利用できない場合でも、最も近い余弦値を持つ角度を探すことで逆余弦を推定できるという独自の利点があります。
上記のアルゴリズムが、対数を用いた乗算の手順と非常によく似ていることに注目してください。対数を用いた乗算は、縮小、対数を取る、加算、逆対数を取る、拡大という手順で行われます。対数の創始者がプロスタフェレシス(対数乗算)を用いていたことは、驚くべきことではありません。実際、両者は数学的に密接に関連しています。現代の用語で言えば、プロスタフェレシスは複素数の対数、特にオイラーの公式に基づいていると考えることができます。
すべての演算を高精度で行えば、得られる結果は望むだけの精度に達することができます。和、差、平均は手計算でも高精度で容易に計算できますが、三角関数、特に逆三角関数はそうではありません。そのため、この方法の精度は、使用する三角関数表の精度と詳細さに大きく依存します。
例えば、角度を最も近い度数に丸めるだけで、各度数に対応するエントリを持つ正弦表は最大で0.0087の誤差が生じる可能性があります。表のサイズを2倍にするたびに(例えば、1度ごとではなく0.5度ごとにエントリを与えるなど)、この誤差は半分になります。プロスタフェレシスでは、1秒ごと、つまり1度の3600分の1ごとの値を持つ表が丹念に作成されました。
逆正弦関数と逆余弦関数は、−1と1付近で急勾配になるため、特に扱いが難しい。一つの解決策は、この領域にテーブル値を増やすことである。もう一つの解決策は、入力値を−0.9から0.9の間の数値にスケーリングすることである。例えば、950は0.950ではなく0.095になる。
精度を高めるもう一つの効果的な方法は、線形補間です。これは、隣接する2つのテーブル値の間の値を選択します。たとえば、45°の正弦が約0.707、46°の正弦が約0.719であることがわかっている場合、45.7°の正弦を0.707 × (1 − 0.7) + 0.719 × 0.7 = 0.7154と推定できます。実際の正弦は0.7157です。180個のエントリしかないコサインテーブルと線形補間を組み合わせると、約180個のエントリがあるテーブルと同等の精度になります。45,000件のエントリがそれなしでも表示されます。補間値の概算値でさえ、最も近いテーブル値よりもはるかに近い値になることがよくあります。詳細はルックアップテーブルを参照してください。