Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stdlib: Improve asin, acos and atan (4/2/3) #511

Merged
merged 1 commit into from
Jan 9, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 113 additions & 59 deletions lib/算經.wy
Original file line number Diff line number Diff line change
Expand Up @@ -571,17 +571,18 @@
乃得「甲」也。
若「乙」小於「正餘弦角限」者。
乘「甲」於「甲」。名之曰「二次冪」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其以一。乘其以「甲」。乃得矣。云云。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「甲」。加其於「甲」。乃得矣。云云。
若「乙」不大於「至巨數」者。
施「分四象」於「甲」。於「正餘弦角限」。名之曰「丙」。
夫「丙」之「「角」」。名之曰「丁」。夫「丙」之「「象」」。名之曰「象」。
乘「丁」於「丁」。名之曰「二次冪」。
若「象」等於零者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乘其以「丁」。乃得矣。云云。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。乃得矣。云云。
若「象」等於一者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乃得矣。云云。
若「象」等於二者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乘其以「丁」。乃得矣。云云。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。
乘其以負一。乃得矣。云云。
若「象」等於三者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乃得矣。云云。
云云。
Expand All @@ -607,49 +608,87 @@
若「象」等於零者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乃得矣。云云。
若「象」等於一者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乘其以「丁」。乃得矣。云云。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。
乘其以負一。乃得矣。云云。
若「象」等於二者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乃得矣。云云。
若「象」等於三者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乘其以「丁」。乃得矣。云云。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。乃得矣。云云。
云云。
施「不可算數乎」於「甲」。若其者。
乃得「甲」也。
施「不可算」。乃得矣。
是謂「餘弦」之術也。

吾有一列。名之曰「反正弦多項式」。
充「反正弦多項式」以〇·一六六六六六六六六六六六六六六四六。
充「反正弦多項式」以〇·〇七五〇〇〇〇〇〇〇〇〇二三一八五三。
充「反正弦多項式」以〇·〇四四六四二八五七〇九九五一八七七六。
充「反正弦多項式」以〇·〇三〇三八一九四七六一二五八八一八八。
充「反正弦多項式」以〇·〇二二三七二〇三九七二四〇六七九九六。
充「反正弦多項式」以〇·〇一七三五五四〇八四二九六九九一六八。
充「反正弦多項式」以〇·〇一三九二七九一六二七八〇七六一四〇。
充「反正弦多項式」以〇·〇一一八八八五三〇五一〇五三八八〇九。
充「反正弦多項式」以〇·〇〇七七四〇一二四四一八〇六六九〇三三。
充「反正弦多項式」以〇·〇一六二二三四二二六二三一八二五六二。
充「反正弦多項式」以負〇·〇一一〇六六五二一五七八〇七三九七〇。
充「反正弦多項式」以〇·〇二八四〇〇七四九二〇一四五一九六二。

注曰「「反正弦。同Javascript之Math.asin也。」」
今有一術。名之曰「反正弦」。欲行是術。必先得一數曰「甲」。乃行是術曰。
注曰「「Abramowitz & Stegun 書中所述之法」」
若「甲」小於零者。
減零以「甲」。取一以施「反正弦」。減其於零。乃得矣。
注曰「「小於五分者。以多項式求之。其餘以三角恆等式變化可得。」」
施「正負」於「甲」。名之曰「符」。乘「符」於「甲」。名之曰「乙」。
有爻陽。名之曰「非常」。
若「乙」大於零者。若「乙」不大於一者。
昔之「非常」者。今陰是矣。
云云。云云。
若「非常」者。
若「甲」等於零者。乃得「甲」也。
施「不可算數乎」於「甲」。若其者。乃得「甲」也。
施「不可算」。乃得矣。
云云。

有數一又五分七釐零七絲二忽八微。名之曰「常一」。
有數負零又二分一釐二毫一絲一忽四微。名之曰「常二」。
有數零又七釐四毫二絲六忽。名之曰「常三」。
有數負零又一釐八毫七絲二忽九微。名之曰「常四」。

乘「甲」以「甲」。名之曰「甲方」。

乘「甲」以「常二」。名之曰「項二」。
乘「甲方」以「常三」。名之曰「項三」。
乘「甲方」以「甲」。乘其以「常四」。名之曰「項四」。

加「常一」以「項二」。加其以「項三」。加其以「項四」。名之曰「多項」。

減一以「甲」。取一以施「平方根」。名之曰「根項」。

乘「根項」以「多項」。減其於「半圓周率」。乃得矣。


若「乙」大於五分者。
減「乙」於一。除其以二。名之曰「丙」。
施「平方根」於「丙」。乘其以二。名之曰「丁」。
施「求多項式」於「反正弦多項式」。於「丙」。乘其以「丙」。乘其以「丁」。加其以「丁」。名之曰「戊」。
夫「半圓周率密率」之二。減其以「戊」。名之曰「己」。
夫「半圓周率密率」之一。加其於「己」。乘其以「符」。乃得矣。
若非。
乘「乙」於「乙」。名之曰「丙」。
施「求多項式」於「反正弦多項式」。於「丙」。乘其以「丙」。乘其以「甲」。加其於「甲」。乃得矣。
云云。
是謂「反正弦」之術也。

注曰「「反餘弦。同Javascript之Math.acos也。」」
今有一術。名之曰「反餘弦」。欲行是術。必先得一數曰「甲」。乃行是術曰。
注曰「「反餘弦者。蓋反正弦之變化所得。」」
減零以「甲」。取一以施「反正弦」。加其以「半圓周率」。乃得矣。
施「絕對」於「甲」。名之曰「乙」。
有爻陽。名之曰「非常」。
若「乙」不大於一者。
昔之「非常」者。今陰是矣。
云云。
若「非常」者。
施「不可算數乎」於「甲」。若其者。乃得「甲」也。
施「不可算」。乃得矣。
云云。

若「乙」大於五分者。
減「乙」於一。除其以二。名之曰「丙」。
施「平方根」於「丙」。乘其以二。名之曰「丁」。
施「求多項式」於「反正弦多項式」。於「丙」。乘其以「丙」。乘其以「丁」。加其以「丁」。名之曰「戊」。
若「甲」大於零者。
乃得「戊」。
若非。
夫「半圓周率密率」之二。乘其以二。減其以「戊」。名之曰「己」。
夫「半圓周率密率」之一。乘其以二。加其於「己」。乃得矣。
云云。
若非。
乘「乙」於「乙」。名之曰「丙」。
施「求多項式」於「反正弦多項式」。於「丙」。乘其以「丙」。乘其以「甲」。加其於「甲」。名之曰「戊」。
夫「半圓周率密率」之二。減其以「戊」。名之曰「己」。
夫「半圓周率密率」之一。加其於「己」。乃得矣。
云云。
是謂「反餘弦」之術也。

注曰「「正切。同Javascript之Math.tan也。」」
Expand All @@ -661,66 +700,81 @@
乃得「甲」也。
若「乙」小於「正餘弦角限」者。
乘「甲」於「甲」。名之曰「二次冪」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其以一。乘其以「甲」。名之曰「勾」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「甲」。加其於「甲」。名之曰「勾」。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。加其以一。名之曰「股」。
除「勾」以「股」。乃得矣。云云。
若「乙」不大於「至巨數」者。
施「分四象」於「甲」。於「正餘弦角限」。名之曰「丙」。
夫「丙」之「「角」」。名之曰「丁」。夫「丙」之「「象」」。名之曰「象」。
乘「丁」於「丁」。名之曰「二次冪」。
若「象」等於零者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乘其以「丁」。名之曰「勾」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。名之曰「勾」。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。名之曰「股」。
除「勾」以「股」。乃得矣。云云。
若「象」等於一者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。名之曰「勾」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乘其以「丁」。名之曰「股」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。
乘其以負一。名之曰「股」。
除「勾」以「股」。乃得矣。云云。
若「象」等於二者。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。乘其以「丁」。名之曰「勾」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。
乘其以負一。名之曰「勾」。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。名之曰「股」。
除「勾」以「股」。乃得矣。云云。
若「象」等於三者。
施「求多項式」於「餘弦多項式」。於「二次冪」。乘其以「二次冪」。減其於負一。名之曰「勾」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。加其於一。乘其以「丁」。名之曰「股」。
施「求多項式」於「正弦多項式」。於「二次冪」。乘其以「二次冪」。乘其以「丁」。加其於「丁」。名之曰「股」。
除「勾」以「股」。乃得矣。云云。
云云。
施「不可算數乎」於「甲」。若其者。
乃得「甲」也。
施「不可算」。乃得矣。
是謂「正切」之術也。

吾有一列。名之曰「反正切多項式」。
充「反正切多項式」以負〇·三三三三三三三三三三三三三三三二六。
充「反正切多項式」以〇·一九九九九九九九九九九九九二二六八。
充「反正切多項式」以負〇·一四二八五七一四二八四二一〇九五七。
充「反正切多項式」以〇·一一一一一一一〇九九六五六八一〇三。
充「反正切多項式」以負〇·〇九〇九〇九〇四五七三六一九二八〇九。
充「反正切多項式」以〇·〇七六九二二〇二二一一〇八五〇六九六。
充「反正切多項式」以負〇·〇六六六五〇九六二七三七〇九三七五五。
充「反正切多項式」以〇·〇五八六六八一九一二四六一七二三一三。
充「反正切多項式」以負〇·〇五一五九〇五五四五〇八四〇七四八七。
充「反正切多項式」以〇·〇四二八八一四六一二三五七三四五六〇。
充「反正切多項式」以負〇·〇二九〇三〇一七〇一六〇九七五七五一。
充「反正切多項式」以〇·〇一一二〇八四九一一九三〇八七七九二。

注曰「「反正切。同Javascript之Math.atan也。」」
今有一術。名之曰「反正切」。欲行是術。必先得一數曰「甲」。乃行是術曰。
注曰「「數小甚矣。乃得其身。小於二減根號三者。以泰勒展開求之。其餘以三角恆等式變化可得。」」

施「絕對」於「甲」。若其小於零又一絲者。乃得「甲」也。
若「甲」小於零者。減零以「甲」。取一以施「反正切」。減其於零。乃得矣。云云。

若「甲」大於一者。除一以「甲」。取一以施「反正切」。減其於「半圓周率」。乃得矣。云云。

若「甲」大於零又二分六釐八毫者。
除「半圓周率」以三。名之曰「六分之一圓周率」。
有數一又七分三釐二毫零五忽。名之曰「三之平方根」。
乘「三之平方根」以「甲」。減其以一。名之曰「分子」。
加「三之平方根」以「甲」。除其於「分子」。取一以施「反正切」。
加其以「六分之一圓周率」。乃得矣。
注曰「「小於五分者。以多項式求之。其餘以三角恆等式變化可得。」」
施「正負」於「甲」。名之曰「符」。乘「符」於「甲」。名之曰「乙」。
有爻陽。名之曰「非常」。
若「乙」大於零者。若「乙」不大於「至巨數」者。
昔之「非常」者。今陰是矣。
云云。云云。
若「非常」者。
若「乙」等於零者。乃得「甲」也。
若「乙」大於「至巨數」者。乘「符」於「半圓周率」。乃得矣。云云。
乃得「甲」。
云云。

乘「甲」以「甲」。名之曰「二次冪」。
乘「二次冪」以「甲」。名之曰「三次冪」。
乘「二次冪」以「三次冪」。名之曰「五次冪」。
乘「二次冪」以「五次冪」。名之曰「七次冪」。
乘「二次冪」以「七次冪」。名之曰「九次冪」。
乘「二次冪」以「九次冪」。名之曰「十一次冪」。

除「三次冪」以三。名之曰「項二」。
除「五次冪」以五。名之曰「項三」。
除「七次冪」以七。名之曰「項四」。
除「九次冪」以九。名之曰「項五」。

減「甲」以「項二」。加其以「項三」。減其以「項四」。加其以「項五」。乃得矣。

若「乙」小於五分者。
乘「乙」於「乙」。名之曰「丙」。
施「求多項式」於「反正切多項式」。於「丙」。乘其以「丙」。乘其以「甲」。加其於「甲」。乃得矣。
若非。若「乙」大於二者。
除「乙」於一。名之曰「丁」。
乘「丁」於「丁」。名之曰「丙」。
施「求多項式」於「反正切多項式」。於「丙」。乘其以「丙」。乘其以「丁」。加其於「丁」。名之曰「戊」。
夫「半圓周率密率」之二。減其以「戊」。名之曰「己」。
夫「半圓周率密率」之一。加其於「己」。乘其以「符」。乃得矣。
若非。
減「乙」以一。名之曰「庚」。加「乙」於一。除其於「庚」。名之曰「丁」。
乘「丁」於「丁」。名之曰「丙」。
施「求多項式」於「反正切多項式」。於「丙」。乘其以「丙」。乘其以「丁」。加其於「丁」。名之曰「戊」。
夫「半圓周率密率」之二。除其以二。加其於「戊」。名之曰「己」。
夫「半圓周率密率」之一。除其以二。加其於「己」。乘其以「符」。乃得矣。
云云。云云。
是謂「反正切」之術也。


Expand Down