数学関数
三角関数 | 逆三角関数 | 双曲線関数 | 逆双曲線関数 |
- sin(x) : 正弦
- cos(x) : 余弦
- tan(x) : 正接
- csc(x) : 余割
- sec(x) : 正割
- cot(x) : 余接
|
- asin(x) : 逆正弦
- acos : 逆余弦
- atan(x) : 逆正接
- atan2(y,x) :-πから πまでの間の atan(y/x)の値を得る
- acsc(x) : 逆余割
- asec(x) : 逆正割
- acot(x) : 逆余接
|
- sinh(x) : 双曲正弦
- cosh(x) : 双曲余弦
- tanh(x) : 双曲正接
- sech(x) : 双曲正割
- csch(x) : 双曲余割
- coth(x) : 双曲余接
|
- acosh(x) : 逆双曲余弦
- acoth(x) : 逆双曲余接
- acsch(x) : 逆双曲余割
- asech(x) : 逆双曲正割
- asinh(x) : 逆双曲正弦
- atanh(x) : 逆双曲正接
|
パッケージ
atrig1
atrig1パッケージは、逆三角関数のためのいくつかの追加の整理規則を含む。Maximaの既設の規則と共に、以下の角度が完全に提供される: 0, %pi/6, %pi/4, %pi/3, %pi/2。他の3象限の対応する角度も利用出来る。使用には load(atrig1);を実行すること。
ntrig
ntrigパッケージは、引数がf(n %pi/10)形式の三角関数を整理するのに使われる整理規則の集合を含む。ここでfは関数 sin, cos, tan, csc, sec, cotのいずれかである。
trigexpand
trigexpand (expr)
exprの中に現れる、角度の和や角度の積を持つ三角関数、双曲線関数を展開する。最もよい結果を得るためにはexprを展開しておく。整理におけるユーザー制御を高めるために、この関数は、一度に1レベルのみ展開を行う。直ちにサインとコサインへの完全な展開を得るには trigexpand変数にtrueを設定すること。
trigexpandは以下のグローバル定数によって管理される:
trigexpand, halfangles, trigexpandplus, trigexpandtimes
(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
2 2
(%o1) - sin (x) + 3 cos (x) + x
(%i2) trigexpand(sin(10*x+y));
(%o2) cos(10 x) sin(y) + sin(10 x) cos(y)
trigreduce
trigreduce (expr, x)
trigreduce (expr)
sin(x),sinh(x),cos(x),cosh(x)の積、べき乗を、xの倍数の関数に統合する。これらの関数が分母にある時これらの消去を試みる。xを引数に指定しない場合はexprの中の変数について行われる。
poissimpも参照してください。
(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
cos(2 x) cos(2 x) 1 1
(%o1) -------- + 3 (-------- + -) + x - -
2 2 2 2
trigsimp
trigsimp (expr)
tan, secなどを含む式を sin, cos, sinh, coshに整理するために、 恒等式 sin(x)^2 + cos(x)^2 = 1 と cosh(x)^2 - sinh(x)^2 = 1 を用いる。
trigreduce, ratsimp, radcanは結果を更に整理できるかもしれません。
demo ("trgsmp.dem")は trigsimpのいくつかの例を表示します。
trigrat
trigrat (expr)
三角関数の整理された標準疑似線形形式を与える; 式exprは いくつかのsin, cosもしくはtanの有理分数であり、それらの引数は、整数係数を持つ、いくつかの変数(もしくは核)と %pi/n (nは整数)の線形形式である。結果は sinと cosに関して線形の分子と分母を持つ整理された分数となる。trigrat関数は可能なときはいつも線形化を行う。
(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1) sqrt(3) sin(2 a) + cos(2 a) - 1
以下の例は Davenport, Siret, and TournierのCalcul Formel, Masson (もしくは英語版ではAddison-Wesley), 1.5.5節, モーレイの定理から引用。
(%i1) c : %pi/3 - a - b$
(%i2) bc : sin(a)*sin(3*c)/sin(a+b);
%pi
sin(a) sin(3 (- b - a + ---))
3
(%o2) -----------------------------
sin(b + a)
(%i3) ba : bc, c=a, a=c;
%pi
sin(3 a) sin(b + a - ---)
3
(%o3) -------------------------
%pi
sin(a - ---)
3
(%i4) ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
2 2 %pi
sin (3 a) sin (b + a - ---)
3
(%o4) ---------------------------
2 %pi
sin (a - ---)
3
%pi
- (2 sin(a) sin(3 a) sin(3 (- b - a + ---)) cos(b)
3
%pi %pi
sin(b + a - ---))/(sin(a - ---) sin(b + a))
3 3
2 2 %pi
sin (a) sin (3 (- b - a + ---))
3
+ -------------------------------
2
sin (b + a)
(%i5) trigrat (ac2);
(%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)
- 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a)
- 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)
+ 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)
+ sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)
+ sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)
- 9)/4
オプション変数
%piargs
デフォルト値: true
%piargsが trueの時で、 引数が %pi, %pi/2, %pi/3, %pi/4, %pi/6のいずれかの整数倍の時は、三角関数が代数定数に整理される。
Maximaは %pi etc.と整数変数(整数として宣言されたシンボル)の積について、幾つかの恒等式を用いて処理する。
(%i1) %piargs : false$
(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
%pi %pi
(%o2) [sin(%pi), sin(---), sin(---)]
2 3
(%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
%pi %pi %pi
(%o3) [sin(---), sin(---), sin(---)]
4 5 6
(%i4) %piargs : true$
(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
sqrt(3)
(%o5) [0, 1, -------]
2
(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
1 %pi 1
(%o6) [-------, sin(---), -]
sqrt(2) 5 2
(%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
cos (sqrt(2)*%pi/3)];
1 1 sqrt(2) %pi
(%o7) [-, - -, sqrt(3), cos(-----------)]
2 2 3
%piと %pi/2 が整数変数にかけられた時、いくつかの恒等式が適用される。
(%i1) declare (n, integer, m, even)$
(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
cos (%pi/2 * m)];
m/2
(%o2) [0, 1, 0, (- 1) ]
%iargs
デフォルト値: true
%iargsが trueの時、引数が明らかに虚数単位%iとの積であるならば、三角関数を双曲線関数に整理する。さらに引数が実数の時でも整理は実行る。; Maximaはただ、引数が逐語的に%iとの積であるかどうかをのみ考慮する。
(%i1) %iargs : false$
(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o2) [sin(%i x), cos(%i x), tan(%i x)]
(%i3) %iargs : true$
(%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o4) [%i sinh(x), cosh(x), %i tanh(x)]
引数が明らかに実数の時においても整理は実行される。
(%i1) declare (x, imaginary)$
(%i2) [featurep (x, imaginary), featurep (x, real)];
(%o2) [true, false]
(%i3) sin (%i * x);
(%o3) %i sinh(x)
halfangles
デフォルト値: false
halfanglesがtrueの時、引数 expr/2の三角関数は exprの関数に整理される。
区間 0 < x < 2*%piの実引数 xに対して 半角の正弦は簡単な式に整理される:
sqrt(1 - cos(x))
----------------
sqrt(2)
すべての複素引数zについてこの式を正しくするためには複雑な要素が必要となる:
realpart(z)
floor(-----------)
2 %pi
(- 1) (1 - unit_step(- imagpart(z))
realpart(z) realpart(z)
floor(-----------) - ceiling(-----------)
2 %pi 2 %pi
((- 1) + 1))
Maximaは、この要素と、関数sin, cos, sinh, coshに対する同様の要素を知っている。 引数zの特別な値に対してこれらの因子は相応に整理される。
(%i1) halfangles:false;
(%o1) false
(%i2) sin(x/2);
x
(%o2) sin(-)
2
(%i3) halfangles:true;
(%o3) true
(%i4) sin(x/2);
x
floor(-----)
2 %pi
sqrt(1 - cos(x)) (- 1)
(%o4) ----------------------------------
sqrt(2)
(%i5) assume(x>0, x<2*%pi)$
(%i6) sin(x/2);
sqrt(1 - cos(x))
(%o6) ----------------
sqrt(2)
trigexpandplus
デフォルト値: true
trigexpandplusは trigexpand関数の「和」規則を制御する。trigexpand関数が使われる、あるいはtrigexpand変数がtrueに設定されている時、式中の和(例えば sin(x+y)))の展開は、trigexpandplusが trueの時だけ行われる。
trigexpandtimes
デフォルト値: true
trigexpandtimesは trigexpandの「積」規則を制御する。 trigexpand関数が使われる、 あるいはtrigexpand変数がtrueに設定されている時、式中の積(例えば sin(2*x))の展開は、 trigexpandtimesが trueの時だけ行われる。
triginverses
デフォルト値: true
triginversesは三角関数や双曲線関数とそれらの逆関数の合成の整理を制御する。
もし allなら、 例えば、atan(tan(x))と tan(atan(x))のどちらも xに整理される。
もし trueなら、 arcfun(fun(x))の整理は行われない。
もし falseなら、 arcfun(fun(x))と fun(arcfun(x))のどちらの整理も行われない。
trigsign
デフォルト値: true
trigsignがtrueの時、三角関数への負の引数の整理を認める。例えば、trigsignがtrueの時だけsin(-x)は -sin(x)に変換される。