「加法定理」と「三角関数の合成」を調べてみたい。

# wikipedia
**アブル・ワファー**
＞業績
＞以下の式は「加法定理」として知られる。これらの式は、10世紀のペルシャの数学者アブル・ワファーによって最初に示された。これらの式はオイラーの公式を用いて示すことが可能である。

https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%96%E3%83%AB%E3%83%BB%E3%83%AF%E3%83%95%E3%82%A1%E3%83%BC#%E6%A5%AD%E7%B8%BE

加法定理＜
**回転行列の積**＜ 
加法定理の公式を覚えるのにいいですね。忘れないかも?
English版に見当たりませんでした？

https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0%E3%81%AE%E5%85%AC%E5%BC%8F%E3%81%AE%E4%B8%80%E8%A6%A7#%E5%8A%A0%E6%B3%95%E5%AE%9A%E7%90%86

https://en.wikipedia.org/wiki/List_of_trigonometric_identities#Angle_sum_and_difference_identities

加法定理＜
オイラーの公式＜

https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0#%E5%8A%A0%E6%B3%95%E5%AE%9A%E7%90%86

対称性＜
θ =π /4（直線 y=x）に対して対称（co- が付く関数との関係）	

https://ja.wikipedia.org/wiki/三角関数の公式の一覧#対称性・周期性

Sum and difference formulas

https://en.wikipedia.org/wiki/Trigonometric_functions#Sum_and_difference_formulas


# WolframAlphaで
##### 3倍角

https://www.wolframalpha.com/input?i=tan3%CE%B8&lang=ja

別の形

((2 cos(2 θ) + 1) tan(θ))/(2 cos(2 θ) - 1)

三角関数式

https://reference.wolfram.com/language/tutorial/AlgebraicManipulation.html#31321

https://reference.wolfram.com/language/ref/TrigExpand.html.ja?view=all

https://reference.wolfram.com/language/ref/TrigExpand.html.en?source=footer

実行例) 
三角関数の合成

https://www.wolframalpha.com/input?i=cos%28a%29%2F2+%2B+cos%28b%29%2F2&lang=ja

別の形
cos(a/2 - b/2) cos(a/2 + b/2)

https://www.wolframalpha.com/input?i=Trigfactor%28cos%28a%29%2F2+%2B+cos%28b%29%2F2%29&lang=ja

cos(a/2 - b/2) cos(a/2 + b/2)

# sympyで
##### 3倍角(tan)
```python
from sympy import *
x=symbols('x',real=True)
print("#",tan(3*x).simplify())
print("#",tan(3*x).expand())
print("#",tan(3*x).expand(trig=True))
print("#",tan(3*x).expand(trig=True).simplify())
print("#",trigsimp(tan(3*x)))
# tan(3*x)
# tan(3*x)
# -tan(x)**3/(1 - 3*tan(x)**2) + 3*tan(x)/(1 - 3*tan(x)**2)
# (tan(x)**2 - 3)*tan(x)/(3*tan(x)**2 - 1)
# tan(3*x)
```
＜DOC

https://www.geeksforgeeks.org/python-sympy-trigsimp-method/

# symｐyのsimplify()で、 tanの２倍角は戻るけど、tanの３倍角は戻らない。
・tanの倍角について。(2023/11/8追加)
```python
from sympy import *

var('θ',real=True)
f2=tan(2*θ)
print("#f2",f2)
print("#f2",f2.expand()           ,f2.expand(trig=True)           )
print("#f2",f2.expand().simplify(),f2.expand(trig=True).simplify())
print()
f3=tan(3*θ)
print("#f3",f3)
print("#f3",f3.expand()           ,f3.expand(trig=True)           )
print("#f3",f3.expand().simplify(),f3.expand(trig=True).simplify())
#f2 tan(2*θ)
#f2 tan(2*θ) 2*tan(θ)/(1 - tan(θ)**2)
#f2 tan(2*θ) tan(2*θ)

#f3 tan(3*θ)
#f3 tan(3*θ) -tan(θ)**3/(1 - 3*tan(θ)**2) + 3*tan(θ)/(1 - 3*tan(θ)**2)
#f3 tan(3*θ) (tan(θ)**2 - 3)*tan(θ)/(3*tan(θ)**2 - 1)
```


# sympyで(回転行列を使って)
pprintは、編集しています。
```python
from sympy import *
α,β=symbols('α,β',real=True)
# AB=Matrix([[cos( α+β),-sin( α+β)],[sin( α+β),cos( α+β)]])
A =Matrix([[cos( α)  ,-sin( α  )],[sin( α ),cos( α  )]])
B =Matrix([[cos( β)  ,-sin( β  )],[sin( β ),cos( β  )]])
print ("#",A*B)
# pprint("#",A*B)
# TypeError: pretty_print(
# Matrix([[-sin(α)*sin(β) + cos(α)*cos(β), -# sin(α)*cos(β) - sin(β)*cos(α)], [sin(α)*cos(β) + sin(β)*cos(α), -sin(α)*sin(β) + cos(α)*cos(β)]])
# ⎡-sin(α)⋅sin(β) + cos(α)⋅cos(β)  -sin(α)⋅cos(β) - sin(β)⋅cos(α)⎤
# ⎢                                                           ⎥
# ⎣sin(α)⋅cos(β) + sin(β)⋅cos(α)   -sin(α)⋅sin(β) + cos(α)⋅cos(β)⎦
```

#### 積和公式
https://ja.wikipedia.org/wiki/三角関数の公式の一覧#和積公式と積和公式
TR8() - expand products of sin-cos to sums

https://docs.sympy.org/latest/modules/simplify/fu.html#sympy.simplify.fu.TR8

```python
from sympy import *
from sympy.simplify.fu import TR8
from sympy import cos, sin
a,b = symbols('a b', real=True)
print("#",TR8(cos(a)*cos(b)))
print("#",TR8(cos(a)*sin(b)))
print("#",TR8(sin(a)*sin(b)))
#
print("#",TR8(cos(2)*cos(3)))
print("#",TR8(cos(2)*sin(3)))
print("#",TR8(sin(2)*sin(3)))
# cos(a - b)/2 + cos(a + b)/2
# -sin(a - b)/2 + sin(a + b)/2
# cos(a - b)/2 - cos(a + b)/2
# cos(5)/2 + cos(1)/2
# sin(5)/2 + sin(1)/2
# -cos(5)/2 + cos(1)/2
```

#### 和積公式
https://ja.wikipedia.org/wiki/三角関数の公式の一覧#和積公式と積和公式
TR9()-Sum of cos or sin terms as a product of cos or sin.

https://docs.sympy.org/latest/modules/simplify/fu.html#sympy.simplify.fu.TR9

```python
from sympy import *
from sympy.simplify.fu import TR9
from sympy import cos, sin
a,b,c = symbols('a b c', real=True)
print("#",TR9(cos(a) + cos(b)) )
print("#",TR9(cos(a) + 2*sin(b) + 2*sin(c)))
#
print("#",TR9(cos(1) + cos(2)) )
print("#",TR9(cos(1) + 2*sin(1) + 2*sin(2)))
# 2*cos(a/2 - b/2)*cos(a/2 + b/2)
# 4*sin(b/2 + c/2)*cos(b/2 - c/2) + cos(a)
# 2*cos(1/2)*cos(3/2)
# cos(1) + 4*sin(3/2)*cos(1/2)
```

# 実行環境



①私の環境は,pycharmです。
②よく聞くのは、Jupyterです。
③web上で、上記のソースを「SymPy Live shell」に、コピー貼り付けでもできました。
黒背景の右上に、マウスを移動すると、コピーマークが発生します。資源の無駄使い。

https://live.sympy.org/

???　タブレット環境で、コピー貼り付けが実行できませんでした。???


# 過去問
(見出しへジャンプした後、ページ右側のCMがでる。画面がスクロールするみたいです。qiitaの仕組みです。)
・

https://kamelink.com/exam/index.php?%BF%F4%B3%D8II%A1%A6B%A5%C1%A5%A7%A5%C3%A5%AF%A1%F5%A5%EA%A5%D4%A1%BC%A5%C8#s8277a0b

§1　加法定理
/弧度法　 /一般角　 /加法定理　 /2直線のなす角　 /2倍角の公式　 /sin，cosをtanで表す　 /半角の公式　 /3倍角の公式　 /和を積に直す公式　 /積を和に直す公式　 /合成の公式　


・
数学II・B標準問題精講(旺文社) （問題一覧）
https://kamelink.com/exam/index.php?FrontPage#r9995007

https://kamelink.com/public/HyoumonIIB/%E6%95%B0%E5%AD%A6II%E3%83%BBB%E5%95%8F%E9%A1%8C%E4%B8%80%E8%A6%A74_%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0.pdf#page=1

私のコメント:
標問 69 積→和，和→積の公式(2)の(日本大)の問題いいですね。勉強中。

(2023/05/13追加)

kamelink様

https://kamelink.com/blog/tag/%e5%8a%a0%e6%b3%95%e5%ae%9a%e7%90%86/

T氏様

https://www.google.com/search?q=site%3A%2F%2Fmathmathmass.exblog.jp+%E5%8A%A0%E6%B3%95%E5%AE%9A%E7%90%86&rlz=1CAUHAM_enJP1038JP1038&oq=site%3A%2F%2Fmathmathmass.exblog.jp+%E5%8A%A0%E6%B3%95%E5%AE%9A%E7%90%86&aqs=chrome..69i57j69i58.16056j0j4&sourceid=chrome&ie=UTF-8


# ChatGPT
以下,資源の無駄遣いでした。
申し訳ありません。気を付けます。(2023/07/14)

三角関数の加法定理を教えて

三角関数の加法定理は、2つの角度の三角関数の和を、それぞれの角度の三角関数で表す定理です。以下に、一般的な形式の加法定理を示します。

sin(A + B) = sin(A)cos(B) + cos(A)sin(B)
cos(A + B) = cos(A)cos(B) - sin(A)sin(B)

ここで、AとBはそれぞれの角度を表し、sinは正弦関数、cosは余弦関数を表します。

この定理は、角度の和を計算する際に役立ちます。例えば、sin(30° + 45°)を求める場合、加法定理を使って以下のように計算できます。

sin(30° + 45°) = sin(30°)cos(45°) + cos(30°)sin(45°)

sin(30°)やcos(45°)などの具体的な値は、三角関数の表や電卓などから参照できます。加法定理を使うことで、2つの角度の三角関数の和を計算しやすくなります。

加法定理は三角関数の関係性を表す重要な公式であり、三角法や物理学、工学などの様々な分野で応用されています。


# 未整理

```python
from sympy import *
θ=symbols('θ',Real=True)
print("#",simplify((sin(θ)+cos(θ)).rewrite(sin)) )
print("#",factor  ( sin(θ)**3+cos(θ)**3        ) )
# sqrt(2)*sin(θ + pi/4)
# (sin(θ) + cos(θ))*(sin(θ)**2 - sin(θ)*cos(θ) + cos(θ)**2)
```


# 参考

https://docs.sympy.org/latest/modules/simplify/fu.html#sympy.simplify.fu.TR9


https://qiita.com/bobchin/items/b2ec923fb4b4f33dc49d


p65 2直線の交角<解析幾何学辞典-問題解法-笹部-貞市郎(1967/10/10)

https://www.amazon.co.jp/%E8%A7%A3%E6%9E%90%E5%B9%BE%E4%BD%95%E5%AD%A6%E8%BE%9E%E5%85%B8-%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B3%95-%E7%AC%B9%E9%83%A8-%E8%B2%9E%E5%B8%82%E9%83%8E/dp/4792200148

https://ictsr4.com/sw/sympy%E3%81%AB%E3%82%88%E3%82%8B%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0%E3%81%AE%E8%A8%88%E7%AE%97/