tan1°を真面目に計算してみる。そして複素数のありがたみがわかる。
tan1°が有理数か?という試験問題が京大で出たのは有名ですが、
たまたま昔書いた記事にアクセスがあったのを見た。これ。
ここにはcos36°の計算ができることが書かれている。てことはこれに倍角と三倍角の公式を繰り返したらcos1°、そしてtan1°が計算できるのか!とやってみた。
※なんの意味もないですが、、、
---
まずはcos36°から。
180° -3*36° = 2 * 36° が成り立つ。これのsinを取ると
sin(3*36°) = sin(2*36°)
ですが、3倍角と2倍角の公式から
3*sin(36°) - 4*sin^3(36°) = 2*sin(36°) *cos(36°)
なので、3-4*(1-cos^2(36°) = 2*cos(36°)
x=cos(36°) と置くと、、、
4*x^2-2*x-1=0
これは簡単に解けて、x = (2±√(2^2+4*4))/8 = (1±√5)/4
だが、cos36°はもちろん0と1の間にあるので、
答えは
cos36°= (1+√5)/4
ですが、黄金比 φ= (1+√5)/2を使うとこれは
cos36° = φ/2
ここまでは前回の話。
ここで半角公式を使う。(ここから√じゃなくてsqrtを使います)
cos18°=sqrt[(1+cos36°)/2]
なので、
cos18°= (1/2)*sqrt((1/2) *(5 + sqrt(5)))
もう一回使う。
cos9°=(1/2)* sqrt(2 + sqrt((1/2)* (5 + sqrt(5))))
さてここから3倍角公式を2回使うが、、、これがやっかい。
4*cos^3(θ)-3*cos(θ) = cos(3*θ)
なので、3次方程式を解く必要がある。
cos(θ)=x, cos(3*θ)=aと置くと、
カルダノの公式を使ってこの範囲のθになる答えを選ぶと、
cosθ = 1/2 ((sqrt(a^2 - 1) + a)^(1/3) + 1/(sqrt(a^2 - 1) + a)^(1/3))
なのですが、a<1なので、これ複素数が中に入る。
(これは還元不能の場合で、全部実数になるのに複素数が出てくる。
複素数のありがたみがよくわかるという、、、)
なので結局
cos3°= (1/2)* ((i*sqrt(1-a^2) + a)^(1/3) + 1/(i*sqrt(1-a^2) + a)^(1/3))
ただしa=(1/2)* sqrt(2 + sqrt((1/2)* (5 + sqrt(5))))
これをちゃんと書くと(Wolfram Alphaに手伝ってもらって)
cos3°=1/(2 sqrt(2/(4 + sqrt(7 + sqrt(5) + sqrt(6 (5 + sqrt(5)))))))≈0.99863
となる。
さらにもう一回三倍角の公式を使うと、
cos1°=
1/2 (1/(1/(2 sqrt(2/(4 + sqrt(7 + sqrt(5) + sqrt(6 (5 + sqrt(5))))))) + i sqrt(1 + 1/8 (-4 - sqrt(7 + sqrt(5) + sqrt(6 (5 + sqrt(5)))))))^(1/3) + (1/(2 sqrt(2/(4 + sqrt(7 + sqrt(5) + sqrt(6 (5 + sqrt(5))))))) + i sqrt(1 + 1/8 (-4 - sqrt(7 + sqrt(5) + sqrt(6 (5 + sqrt(5)))))))^(1/3))≈0.999848
終わった、、、いやtan1°か、、、
もう力尽きた。
tan1°=√(1-cos^2 1°)/cos1°で、、、
Mathematicaで計算すると、
となるらしい。
« 今日、ニューヨークで夜空を見ると、七色の雲が観られるかも、、、(NASAの実験) | トップページ | NHKガッテンで洗濯物の生乾きの匂いの原因と対策をやっていた。60℃以上の熱湯で洗うのがポイントだとか。 »
「日記・コラム・つぶやき」カテゴリの記事
- 新型コロナウイルス、日本の陽性者数&ワクチン接種者数総計をプロット&中国、韓国、アメリカ、ドイツ、フランス、イギリスの陽性者数もプロット(1/29更新)日本の増加いうほど止まってない…中国はもう5万人で打ち止めということにしたいようだ。9億人感染という話なのに…(2023.01.29)
- JavaScriptの数値計算ライブラリmathjsを使う(11)バーニングシップフラクタルを描いてみる。このココログでも計算できるようにした。(2023.01.31)
- JavaScriptの数値計算ライブラリmathjsを使う(10) リーマンゼータ関数(Riemann Zeta function)を計算、3次元化してPlotlyでぐりぐり動かす。(2023.01.27)
- JavaScriptの数値計算ライブラリmathjsを使う(9) 仏陀のお姿のフラクタル Buddhabrot(ブッダブロ)を描く。このココログでも計算できるようにしてみた。(2023.01.26)
- JavaScriptの数値計算ライブラリmathjsを使う(8) 4段4次のルンゲクッタ法でローレンツ方程式を計算。このココログでもPlotlyで3次元でぐりぐり動かせるようにしてみた。 (2023.01.25)
« 今日、ニューヨークで夜空を見ると、七色の雲が観られるかも、、、(NASAの実験) | トップページ | NHKガッテンで洗濯物の生乾きの匂いの原因と対策をやっていた。60℃以上の熱湯で洗うのがポイントだとか。 »
コメント