tan(x)^3/tan(3x)の最大値 「2021 学習院大学 理（コア），文（プラス）学部 【4】 」をChatGPTとMathematicaとWolframAlphaとsympyでやってみたい。

**パイソニスタの方へ**
**・sympyで「相加相乗平均の不等式の関数」を探しています。**


・グラフがでます。
~~・（１)は、未.これからです。~~(2023/08/24済)
・定義域(変域)について,tanの3倍角だから,0<x<(90/3)°でした。π/6。

オリジナル(youtube 10:29)　MathLABO 様より

https://youtu.be/jp6GV8TveKQ

上と同じです。大学入試数学問題集成 様＞【4】テキスト

https://mathexamtest.web.fc2.com/2021/202113331/2021133310200mj.html#top-0205

# xxxx ChatGPTで(できませんでした。) xxx
使い方注意報？使う時、注意報？　別件で解が違う事例が発生しています。まとめ中。
(1)(2) 入力文
```
0<x<π/６を満たす実数xに対して，t=tanxとおく．
(1)tan3xをtで表わせ. 
(2)xが0<x<π/６の範囲を動くとき，tanx^3/tan3xの最大値を求めよ.
```
＞(1)tan(3x) = (2tan(x) / (1 - tan^2(x)) + tan(x)) / (1 - (2tan(x) / (1 - tan^2(x))) * tan(x))
＞これでtan(3x)をtで表すことができます。
＞(2)...
＞最終的に、tan(x^3)/tan(3x) = (tan(x^3)) / (t * tan(x)) の形になりました。


(2)だけ 入力文
```
0<x<π/６のとき、tan(x)**3/tan(3x)の最大値
```
＞数値計算を行い、近似的な解を得ることができます。
# Mathematicaで(途中)
(2)だけ
```
In
MaxValue[{Tan[x]^3/Tan[3 x], 0 <= x <= \[Pi]/6}, {x}] 
Simplify[%]
Out
Cot[6 ArcTan[
Root[1 - 4 # - 6 #^2 + 4 #^3 + #^4& , 3, 0]]] Tan[2 ArcTan[
Root[1 - 4 # - 6 #^2 + 4 #^3 + #^4& , 3, 0]]]^3
Tan[\[Pi]/8]^4
```

x-yのグラフがでます。22.5度でした。π/8。
```
Plot[{Tan[x]^3/Tan[3 x]}, {x, 0, \[Pi]/6}] 
```
![0png.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109698/50a4e2ec-73d1-28da-9edf-376b1664ca03.png)

# WolframAlphaで(途中)
(1)だけ 簡約

https://www.wolframalpha.com/input?i=simplify%28trigexpand%28tan3x%29%29&lang=ja

(2)だけ
x-yのグラフがでます

https://www.wolframalpha.com/input?i=0%3Cx%3C%CF%80%2F%EF%BC%96%2Ctanx%5E3%2Ftan3x+%E3%81%AE%E6%9C%80%E5%A4%A7%E5%80%A4+&lang=ja

https://www.wolframalpha.com/input?i=0%3Cx%3C%CF%80%2F%EF%BC%96%2Ctan%28x%29**3%2Ftan%283*x%29+++%E3%81%AE%E6%9C%80%E5%A4%A7%E5%80%A4+&lang=ja

結果
x = π/8 のとき, max{(tan^3(x))/tan(3 x) |0<x<π/6} = (2 - sqrt(2))^2/(2 + sqrt(2))^2

https://www.wolframalpha.com/input?i=%282+-+sqrt%282%29%29%5E2%2F%282+%2B+sqrt%282%29%29%5E2&lang=ja

近似値　0.0294...

https://www.wolframalpha.com/input?i=+%282+-+sqrt%282%29%29%5E2%2F%282+%2B+sqrt%282%29%29%5E2&lang=ja

別の形

17 - 12 sqrt(2)



# sympyで(MathLABO 様の方法を参考に)　相加相乗平均の不等式で
## (1)
3倍角(tan)
https://qiita.com/mrrclb48z/items/5b1f1946f20ecbca3628#3%E5%80%8D%E8%A7%92tan
```python
from sympy import *
var('x',real=True)
var('t',real=True)
print("#",simplify( tan(3*x).expand(trig=True)) )
print("#",simplify( tan(3*x).expand(trig=True)).subs({tan(x):t}) )
# (tan(x)**2 - 3)*tan(x)/(3*tan(x)**2 - 1)
# t*(t**2 - 3)/(3*t**2 - 1)
```

## (2)
**・sympyで「相加相乗平均の不等式の関数」を探しています。**
**・sympy.abcの意味を教えて下さい。**
・print文の中に、Interval(,)をつけようしましたが、あきらめました。
・？無理すれば、1行で書けるような気がしてきました。

https://stackoverflow.com/questions/61457218/sympy-subs-wrong-substitution

```python
from sympy import *
var('x X',real=True,positive=True)
# var('t',real=True,positive=True)
from sympy.abc import t
f =tan(x)**3/tan(3*x)                              ;print("#<f >",f  )
f1=f.expand(trig=True)                             ;print("#<f1>",f1 )
f2=str(f1).replace('tan(x)','t')                   ;print("#<f2>",f2 )
f3=sympify(f2)                                     ;print("#<f3>",f3 )
f4=        f3.simplify()                           ;print("#<f4>",f4 )
f5=        f4.subs({t:solve( Eq(3-t**2,X),t)[1]})  ;print("#<f5>",f5 ) 
f6=        f5.expand()                             ;print("#<f6>",f6 )
f7=poly(f6)                                        ;print("#<f7>",f7 )
f8=f7.args[0]                                      ;print("#<f8>",f8 )
print("#",f8.coeff(X, 0) 
         +f8.coeff(X,1)*2*sqrt( f8.coeff(X,-1)/f8.coeff(X,1) ))
#<f > tan(x)**3/tan(3*x)
#<f1> -3*tan(x)**5/(-tan(x)**3 + 3*tan(x)) + tan(x)**3/(-tan(x)**3 + 3*tan(x))
#<f3> -3*t**5/(-t**3 + 3*t) + t**3/(-t**3 + 3*t)
#<f4> (3*t**4 - t**2)/(t**2 - 3)
#<f5> -(X + 3*(3 - X)**2 - 3)/X
#<f6> -3*X + 17 - 24/X
#<f7> Poly(-24*(1/X) - 3*X + 17, 1/X, X, domain='ZZ')
#<f8> -3*X + 17 - 24/X
# 17 - 12*sqrt(2)
```


# xxx sympyで(微分で)できませんでした。xxx 
(2)だけ
あと一息です。π/8=22.5°。有理化のapart?
```python
from sympy import *
var('x',real=True,positive=True)
(st,en)=(0,pi/6)
f  =tan(x)**3/tan(3*x)
ans=solveset(Eq(diff(f,x),0),x,Interval(st,en))
print("#",          ans.args[0]  ,float(          ans.args[0]*180/pi)                       )
print("#",f.subs({x:ans.args[0]}),float(f.subs({x:ans.args[0]})     ),float(17-12*sqrt(2)  )) 
print("#",f.subs({x:pi/8})       ,float(f.subs({x:pi/8}))    )
# atan(sqrt(2 - sqrt(2))/sqrt(sqrt(2) + 2)) 22.5
# (2 - sqrt(2))**(3/2)/((sqrt(2) + 2)**(3/2)*tan(3*atan(sqrt(2 - sqrt(2))/sqrt(sqrt(2) + 2)))) 0.029437251522859413 0.029437251522859413
# (-1 + sqrt(2))**3/(1 + sqrt(2)) 0.029437251522859413
```

# xxx sympyで(maximum関数で)できませんでした。xxx
(2)だけ
maximum関数を使って終了しませんでした。
```python
from sympy import *
x=symbols('x',real=True,nonnegative=True)
(st,en)=(0,pi/6)
f=tan(x)**3/tan(3*x)
plot(f,(x,st,en))
#
ans=maximum( f,x,Interval.open(st,en) )
print("#",ans,float(ans))
ans=solveset(Eq(f,ans),x,Interval.open(st,en))
print("#",ans)
print("#",float(ans))
# (2 - sqrt(2))**(3/2)/((sqrt(2) + 2)**(3/2)*tan(3*atan(sqrt(2 - sqrt(2))/sqrt(sqrt(2) + 2)))) 
# 0.029437251522859413
# 終了しない
```

![0png.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109698/980312b0-7910-9941-0a8a-4d4667f9dd6c.png)

# 「SymPy Live shell」に1行づつ、コピー貼り付けでもできました。

```
maximum( tan(x)**3/tan(3*x),x,Interval.open(0,pi/6) )
print( maximum( tan(x)**3/tan(3*x),x,Interval.open(0,pi/6) ) )
plot( tan(x)**3/tan(3*x),(x,0,pi/6) )
```

# sympyの実行環境
①私の環境は,pycharmです。
②よく聞くのは、Jupyterです。
③web上で、上記のソースを「SymPy Live shell」に、コピー貼り付けでもできました。
黒背景の右上に、マウスを移動すると、コピーマークが発生します。
???　タブレット環境で、コピー貼り付けが実行できませんでした。???

https://live.sympy.org/

# 参考

https://qiita.com/mrrclb48z/items/d413ff75fb2efe332aab


https://qiita.com/mrrclb48z/items/5b1f1946f20ecbca3628


以下、いつもの?おすすめです。

https://qiita.com/mrrclb48z/items/75904cdc6e84ecef4d03#%E5%8F%82%E8%80%83wolframalpha-%E9%96%8B%E7%99%BA%E7%89%A9%E8%AA%9E