アルゴア

アルゴア

ロードするとBC数学図書館サイン、コサイン、アクタンジェントの三角関数s()の合計を求めます。なぜ我々はこれら3つの機能を持っていますか?c()a()

私はこの3つがなぜ数学的に知っているのかを知っています。なぜなら、これら3つは直交座標と極座標の間を直接変換する必要があるからです。私は数学の先生ですが、残念ながらサイン/コサイン/アクタンジェントが集合に設定されている場所を見たのはここだけです。オリジナル三角関数なので誰かが私に教えてほしいと思いました。なぜもっと歴史的な文脈で。タンジェントの前に生徒にアクタンジェントを紹介することが神聖冒涜的な考えではない理由について数学教育者と話すときに弾薬が最も必要であることを知りません。

答え1

完全な答えではありませんが、いくつかの役に立つかもしれません。

初期適応で三角関数を使用する追加の例のリスト。 UNIXの世界について学ぶこともできます。


アルゴア

歴史に関する興味深いエッセイ:

ALGOLは1950年代に開発されました。 1958年、ヨーロッパとアメリカのコンピュータサイエンティストの共同会議で、人々は次のような事実も得ました。国際アルゴリズム言語に関する予備報告書チューリッヒ報告とも呼ばれます。そのことは、表記法とコンピュータアルゴリズムの作成方法を統合することでした。58 'レポートからの抜粋少し見せよう議論するこれに関して:

「変数の場合と同様に、関数を指定する識別子も好みに応じて選択できます。ただし、特定の識別子は標準分析関数用に残す必要があります。

スケジュールされたリストには次のものを含める必要があります。

abs(E) は式 E 値のモジュラス (絶対値) です。
記号(E)Eの値を表す記号
全体(E)は、Eの値より大きくない最大の整数です。
sqrt(E) は E 値の平方根です。
sin(E) は E 値のサインです。
一般的な数学記号などによると。 」


ALGOL 58からALGOL 60まで、タスクの基礎が何であるかについてより具体的であると言えます(三角関数について:

http://web.eecs.umich.edu/~bchandra/courses/papers/Naure_Algol60.pdf

アルゴリズム言語ALGOL 60に関するレポート

簡単に言えばsin、、、cosarctan標準機能でお勧めします。


演算

デジタル時代に数学を実行する装置を見ると、初期の機械の1つがBendix G-15コンピュータ(1950年代後半)でした。 ALGOL 58の影響を受けたALGOを使用してください。知っているシステムの一部ではないライブラリがあります。ライブラリのルーチンは次のとおりですSINCOSARCTN

ALGOライブラリルーチン

これらのルーチンを使用するには、コードワードローディングを使用してください。

SIN    0101000
COS    0168000
ARCTN  0164000

ロードの例:

LIBRAry SIN{0101000}

言う通り

「マシン言語ルーチンをライブラリに追加できます。」しかし、これら3つはライブラリに含まれています。(また、16進数に16進数を使用します。しかし、それはポイントではありませんが興味深いです。)


Unixシステム

バージョン1Unixを含むbas、基本方言(Thompsonが所有)。これには、、、、、、、argなどexplog組み込み関数が含まれていsinますcosatnrndexprint

バージョン2また、bas他のサブルーチンをリストするサブルーチンのリストもあります。、、、、(サインatan/コサイン)。でも動作します。hypotlogsindc

またbc、これはプログラムBをコンパイルするために使用されます。

また、言及する価値があるのはttt(チックタクト)、bj(ブラックジャック)、moo(MOOゲーム)です。

バージョン5。などのソースコードを表示するには、次のようにしますsin/cosatanこのコードを見てください:

  • サブルーチン:usr/source/s3/{atan.s,sin.s}
  • 基本組み込み:usr/source/s1/bas4.s

気づく!たとえば、1972-stuff(s2) のファイルは次のようになります。絶対パス!


tanV7のmathlibはなどを含むように拡張されました。

Fortran77も含まれています。


紀元前

BCは1975年から存在しており、前述のように、これら3つの基本的な方法も含まれています。ロバート・モリス(Robert Morris)とロリンダ・チェリー(Lorinda Cherry)が開発しました。/usr/doc/bc/bcバージョンV6(1975)から:

三。次のように入力して、コマンドレベルで使用できる数学関数ライブラリがあります。

bc –l

このコマンドは、作成時にサイン(「s」と命名)、余弦(「c」)、アークタンジェント(「a」)、自然対数(「l」)、指数(`)を含む一連のライブラリ関数をロードします。します。 e ')と整数順のベッセル関数( `j(n、x)')。時間が経つにつれて、より多くの機能が追加されることには疑いの余地はありません。ライブラリは倍率を20に設定します。必要に応じて別の値にリセットできます。これらの数学ライブラリルーチンの設計は他の場所で議論されています[4]

  • [4]ロバート・モリス,標準数学サブルーチンライブラリへの参照、

その紙片しかし、見つけるのは難しいようです。

したがって、リストでは、デフォルトの三角関数はすでにV1からシステムの一部です。bcこれはロードルーチンに使用されます。


Unix Heritage Wikiの注意事項(参照)

ロバート・モリス

Unixとの生活は次のように言います:Lorinda Cherryと一緒にdcを書きました。

Unixの読者は次のように語った。ボブ(ロバート)モリスは、数値分析でも整数論でも、数学に関連するすべての分野に参加しました。 Bobはユニークでユニークなユーティリティを発明しましたtypo- dc( bcLorinda Cherryと一緒に)ほとんどの数学ライブラリを書いています。、小数と引数を作成しました(Thompsonを使用)。彼の一連の暗号化プロジェクトは、暗号化に関するセンターの継続的な関心を呼び起こしました。

ロリンダチェリー

Life with Unixでは、次のように言います。 Writers at Writer's Bench(フレーズ、スタイルなど)、be、dc。eqnで書いてくださいbwk

Unixの読者は次のように言いました:Lorinda L. Cherryはdc-bcとMorrisと協力しましたtypo。 Lorindaは常にテキスト処理に魅了され、eqn有名なWriter's Workbench®、ww6(v8)で使用される近似パーサーであるウィジェットを起動して発明しました。


エリオット803

もちろん、より多くの機能を実装するシステムがないか、これらの機能をコア機能として持っていないわけではありません。しかし、これは歴史です... :P

エリオット803サプリメント

エリオット803サプリメント:

arccos, arcsin, tan- どれ補足するsin, cos,arctan


ポルタン語

フォードランド 1958


基本的な

1964年に誕生したベーシック(BASIC)SINにはCOSTANそして ATN

基本トリガー

基本マニュアル(1964年)

コメントによると@roaima

家庭用コンピュータで使用されるほとんどのBASIC方言(約1975年以降)には、SIN、COS、TAN、ATN(arctan)もあります。他の反対はありません。 SIN / COSを使用するときは、誤差範囲を最小限に抑えるためにTANが含まれているとします。なぜなら、これらの三角関数はすべてかなり小さなルックアップテーブルを介して生成されるからです。

アポロ11号

これAPOLLO 11 コマンドモジュールと月モジュールのソースコード少なくとも1つのサブルーチンがあることを示します。ARCTAN

サブルーチンなしで月に正常に着陸したと言えますTAN。 ;)

コーディック

CORDIC(Volderアルゴリズム)三角関数の実装の面で注目に値する。


統計資料

興味深い追加スティーブンキット、コメント中:

もう一つの興味深い論文はコンピュータセンターライブラリの数学サブルーチン使用統計、1973年に出版されました。これは、1973年の初めにパーデュ大学でsin / cos / atanが最も一般的に使用されている三角関数でした。:

sin  / cos    39,462
atan          27,248

tan            4,707
asin / acos    4,139
tanh           2,546

ダイビング

一つでもない深海ダイビングしかし、トピックについて少なくとも少し詳しく説明します。 ALGOLの論文はおそらく最も適切であろう。

BCの場合は直接見積もりが見つかりません。Morris / Cherryは、ライブラリからロードするオプションを通じて、これらの特定の基本機能を含めることにしました-l


一言で人がしないのではない。考えるたとえばtan、履歴には、リソースと使用量に基づいて実装するベースとしてどの三角関数が選択されているかが表示されます。

関連情報