10ElementaryFunctions

Last-modified: 2025-04-15 (火) 20:49:07

10個の基本関数

10.1 数値関数
複素数関数
組み合わせ関数
根、指数、対数関数
三角関数
乱数
次へ:複素数の関数、上へ:基本関数 [目次][索引]

10.1 数値関数

関数: abs ( z )

このabs関数は数学的な絶対値関数を表し、数値と記号値の両方で機能します。引数zが実数または複素数の場合、zabsの絶対値を返します。可能な場合、絶対値関数を使用する記号式も簡略化されます。

Maximaは、absを含む式の微分、積分、極限計算が可能です。このabs_integrateパッケージは、Maximaのabs関数を含む積分計算機能をさらに拡張します。以下の例の(%i12)を参照してください。

リストまたは行列に適用すると、abs項に自動的に分配されます。同様に、方程式の両辺にも分配されます。この動作を変更するには、変数 を参照してくださいdistribute_over。

cabsも参照してください。

例:
実数と複素数(数値定数や様々な無限大を含む)の計算。最初の例はabs 、リストの要素に absがどのように分配されるかを示しています。

(%i1) abs([-4, 0, 1, 1+%i]);

(%o1) [4, 0, 1, sqrt(2)]

(%i2) abs*1;

(%o2) 2

(%i3) abs(%e+%i);

2

(%o3) sqrt(%e + 1)

(%i4) abs([inf, infinity, minf]);

(%o4) [inf, inf, inf]

absを含む式の簡略化:

(%i5) abs(x^2);

2

(%o5) x

(%i6) abs(x^3);

2

(%o6) x abs(x)

(%i7) abs(abs(x));

(%o7) abs(x)

(%i8) abs(conjugate(x));

(%o8) abs(x)

abs関数の積分と微分。パッケージがロードされている場合、abs関数を含む積分abs_integrateをさらに実行できることに注意してください。最後の例は、absのラプラス変換を示しています。laplaceを参照してください。

(%i9) diff(x*abs(x),x),expand;

(%o9) 2 abs(x)

(%i10) integrate(abs(x),x);

x abs(x)

(%o10) --------

2

(%i11) integrate(x*abs(x),x);

/

[

(%o11) I x abs(x) dx

]

/

(%i12) load("abs_integrate")$

(%i13) integrate(x*abs(x),x);

2 3

x abs(x) x signum(x)

(%o13) --------- - ------------

2 6

(%i14) integrate(abs(x),x,-2,%pi);

2

%pi

(%o14) ---- + 2

2

(%i15) laplace(abs(x),x,s);

1

(%o15) --

2

s
カテゴリ: 数学関数 ·

関数: ceiling ( x )

xが実数の場合、 x以上の最小の整数を返します。

xが定数式(例えば 10 * %pi ) の場合、 はx を大きな浮動小数点数を用いてceiling評価し、その結果の大きな浮動小数点数に適用します。ceilingは浮動小数点数評価を使用するため、ceiling定数入力に対して誤った値を返す可能性は低いものの、ceilingはあります 。エラーを防ぐため、浮動小数点数評価はfpprecの3つの値を用いて行われます。

非定数入力の場合、ceiling簡略化された値を返そうとします。以下は、ceilingが認識している簡略化の例です。

(%i1) ceiling (ceiling (x));
(%o1)                      ceiling(x)
(%i2) ceiling (floor (x));
(%o2)                       floor(x)
(%i3) declare (n, integer)$
(%i4) [ceiling (n), ceiling (abs (n)), ceiling (max (n, 6))];
(%o4)                [n, abs(n), max(6, n)]
(%i5) assume (x > 0, x < 1)$
(%i6) ceiling (x);
(%o6)                           1
(%i7) tex (ceiling (a));
(%o7)                         false

このceiling関数はリスト、行列、方程式に分配します。distribute_overを参照してください。

最後に、明らかに複雑なすべての入力に対して、ceiling名詞形式を返します。

関数の値域が整数のサブセットである場合、関数をintegervaluedと宣言できます。 関数ceilingとfloor関数の両方でこの情報を使用できます。例:

(%i1) declare (f, integervalued)$
(%i2) floor (f(x));
(%o2)                         f(x)
(%i3) ceiling (f(x) - 1);
(%o3)                       f(x) - 1

使用例:

(%i1) unitfrac(r) := block([uf : [], q],

   if not(ratnump(r)) then
      error("unitfrac: argument must be a rational number"),
   while r # 0 do (
       uf : cons(q : 1/ceiling(1/r), uf),
       r : r - q),
   reverse(uf));

(%o1) unitfrac(r) := block([uf : [], q],
if not ratnump(r) then
error("unitfrac: argument must be a rational number"),

                                 1

while r # 0 do (uf : cons(q : ----------, uf), r : r - q),

                                     1
                             ceiling(-)
                                     r

reverse(uf))
(%i2) unitfrac (9/10);

                           1  1  1

(%o2) [-, -, --]

                           2  3  15

(%i3) apply ("+", %);

                              9

(%o3) --

                              10

(%i4) unitfrac (-9/10);

                                 1

(%o4) [- 1, --]

                                 10

(%i5) apply ("+", %);

                               9

(%o5) - --

                               10

(%i6) unitfrac (36/37);

                       1  1  1  1    1

(%o6) [-, -, -, --, ----]

                       2  3  8  69  6808

(%i7) apply ("+", %);

                              36

(%o7) --

                              37

カテゴリ: 数学関数 ·
関数: entier ( x )
xが数値である場合に、 x以下の最大の整数を返します。 ( のように) はこれの同義語なので、 まったく同じです。 fixfixnumfix(x)

カテゴリ: 数学関数 ·
関数: floor ( x )
xが実数の場合、 x以下の最大の整数を返します。

xが定数式(10 * %pi例えば )の場合、 はx を大きな浮動小数点数を用いてfloor 評価し、その結果の大きな浮動小数点数に適用します。 は浮動小数点数評価を使用するため、定数入力に対して誤った値を返す可能性は低いものの、あります。エラーを防ぐため、浮動小数点数評価は の3つの値を用いて行われます。 floorfloorfloorfpprec

非定数入力の場合、floor簡略化された値を返そうとします。以下は、 がfloor認識している簡略化の例です。

(%i1) 床 (天井 (x));
(%o1) 天井(x)
(%i2) フロア (フロア (x));
(%o2) 床(x)
(%i3) 宣言(n, 整数)$
(%i4) [floor(n), floor(abs(n)), floor(min(n,6))];
(%o4) [n, 絶対値(n), 最小値(6, n)]
(%i5) (x > 0, x < 1)$ と仮定する
(%i6) 床 (x);
(%o6) 0
(%i7) tex (床(a));

(%o7) 偽
このfloor関数はリスト、行列、方程式に分配します。 を参照してくださいdistribute_over。

最後に、明らかに複雑なすべての入力に対して、floor名詞形式を返します。

関数の値域が整数のサブセットである場合、関数を と宣言できますintegervalued。 関数ceilingとfloor関数の両方でこの情報を使用できます。例:

(%i1) 宣言 (f, 整数値)$
(%i2) フロア(f(x));
(%o2) f(x)
(%i3) 天井 (f(x) - 1);
(%o3) f(x) - 1
カテゴリ: 数学関数 ·
関数: fix ( x )
の同義語。 entier (x)

カテゴリ: 数学関数 ·
関数: hstep ( x )
ヘヴィサイドの単位ステップ関数。x が負の場合は 0 に等しく、xが正の場合は 1 に等しく、xがゼロの場合は 1/2 に等しくなります。

xが 0のときに値 0 を取る単位ステップ関数が必要な場合は 、 を使用しますunit_step。

カテゴリ: ラプラス変換 · 数学関数 ·
関数: lmax ( L )
Lがリストまたはセットの場合、 を返します。Lがリストでもセットでもない場合はエラーを通知します。 および も参照してください。 apply ('max, args (L))lminmax

カテゴリ: 数学関数 · リスト · セット ·
関数: lmin ( L )
Lがリストまたはセットの場合、 を返します。Lがリストでもセットでもない場合はエラーを通知します。 および も参照してください。 apply ('min, args (L))lmaxmin

カテゴリ: 数学関数 · リスト · セット ·
関数: max ( x_1 , …, x_n )
式x_1からx_n までの数値の最大値の簡略化された値を返します。引数リストが空の場合は、maxとなりますminf。

オプション変数は、maxmin_effort適用される簡略化手法を制御します。 のデフォルト値である12を使用するとmaxmin_effort、 利用可能なすべてのmax簡略化手法が使用されます。すべての簡略化を禁止するには、0に設定します。 maxmin_effort

が 1 以上のときmaxmin_effort、実数の明示的なリストの場合は max数値を返します。

max長い式のリストを簡略化する必要がない限り、 のデフォルト値を使用することをお勧めしますmaxmin_effort。maxmin_effortをゼロ(簡略化なし)に設定すると、一部の Maxima 関数で問題が発生するため、 は通常はmaxmin_effortゼロ以外の値にする必要があります。

min、、lmaxおよびも参照してくださいlmin。

例:

最初の例では、maxmin_effortゼロに設定すると簡略化が抑制されます。

(%i1) ブロック([maxmin_effort : 0], max(1,2,x,x, max(a,b)));
(%o1) 最大(1,2,最大(a,b),x,x)

(%i2) ブロック([maxmin_effort : 1], max(1,2,x,x, max(a,b)));
(%o2) 最大(2,a,b,x)
maxmin_effortが 2 以上の場合には、maxメンバーのペアを比較します。

(%i1) ブロック([maxmin_effort : 1], max(x,x+1,x+3));
(%o1) 最大値(x,x+1,x+3)

(%i2) ブロック([maxmin_effort : 2], max(x,x+1,x+3));
(%o2) x+3
最後に、maxmin_effortが3つ以上の場合、maxトリプルのメンバーを比較し、その間にあるものを除外します。たとえば、

(%i1) ブロック([maxmin_effort : 4], max(x, 2*x, 3*x, 4*x));
(%o1) 最大(x,4*x)
カテゴリ: 数学関数 ·
関数: min ( x_1 , …, x_n )
式x_1からx_n までの数値最小値の簡略化された値を返します。引数リストが空の場合は、minfとなりますinf。

オプション変数は、maxmin_effort適用される簡略化手法を制御します。 のデフォルト値である12を使用するとmaxmin_effort、 利用可能なすべてのmax簡略化手法が使用されます。すべての簡略化を禁止するには、0に設定します。 maxmin_effort

が 1 以上のときmaxmin_effort、実数の明示的なリストの場合は min数値を返します。

min長い式のリストを簡略化する必要がない限り、 のデフォルト値を使用することをお勧めしますmaxmin_effort。maxmin_effortをゼロ(簡略化なし)に設定すると、一部の Maxima 関数で問題が発生するため、 は通常はmaxmin_effortゼロ以外の値にする必要があります。

max、、lmaxおよびも参照してくださいlmin。

例:

最初の例では、maxmin_effortゼロに設定すると簡略化が抑制されます。

(%i1) ブロック([maxmin_effort : 0], min(1,2,x,x, min(a,b)));
(%o1) 最小(1,2,a,b,x,x)

(%i2) ブロック([maxmin_effort : 1], min(1,2,x,x, min(a,b)));
(%o2) 最小(1,a,b,x)
maxmin_effortが 2 以上の場合には、minメンバーのペアを比較します。

(%i1) ブロック([maxmin_effort : 1], min(x,x+1,x+3));
(%o1) 最小(x,x+1,x+3)

(%i2) ブロック([maxmin_effort : 2], min(x,x+1,x+3));
(%o2) x
最後に、maxmin_effortが3つ以上の場合、minトリプルのメンバーを比較し、その間にあるものを除外します。たとえば、

(%i1) ブロック([maxmin_effort : 4], min(x, 2*x, 3*x, 4*x));
(%o1) 最大(x,4*x)
カテゴリ: 数学関数 ·
関数: round ( x )
xが実数の場合、 xに最も近い整数を返します。1/2 の倍数は最も近い偶数に丸められます。 xfloorの評価はおよび と同様ですceiling。

このround関数はリスト、行列、方程式に分配します。 を参照してくださいdistribute_over。

カテゴリ: 数学関数 ·
関数: signum ( x )
実数または複素数xのどちらに対しても、 xがゼロの場合は signum 関数は 0 を返します。ゼロ以外の数値入力xの場合、 signum 関数は を返しますx/abs(x)。

数値以外の入力の場合、Maxima は入力の符号を判定しようとします。符号が負、ゼロ、正の場合、signumそれぞれ -1、0、1 を返します。それ以外の符号値の場合、signum簡略化された形式ですが等価です。簡略化には、鏡映signum(-x) 変換( -signum(x))と乗法恒等変換(signum(x*y)) が含まれますsignum(x) * signum(y)。

このsignum関数はリスト、行列、または方程式に分配します。signおよびを参照してくださいdistribute_over。

カテゴリ: 数学関数 ·
関数: truncate ( x )
xが実数の場合、 x の絶対値より大きくない、xに最も近い整数を返します。xfloorの評価は、およびと同様ですceiling。

このtruncate関数はリスト、行列、方程式に分配します。 を参照してくださいdistribute_over。

カテゴリ: 数学関数 ·
次へ:組み合わせ関数、前へ:数値関数、上へ:基本関数 [目次][索引]

10.2 複素数関数
関数: cabs ( expr )
複素数を表す式の絶対値を計算します。関数 とは異なりabs、このcabs関数は常に引数を実部と虚部に分解します。xと が y実数変数または式を表す場合、このcabs関数は の絶対値をx + %i*y次のように 計算します。

(%i1)タクシー(1)
(%o1) 1
(%i2) 台のタクシー (1 + %i);
(%o2) 平方根(2)
(%i3) cabs (exp (%i));
(%o3) 1
(%i4) cabs (exp (%pi * %i));
(%o4) 1
(%i5) タクシー(exp (3/2 * %pi * %i));
(%o5) 1
(%i6) タクシー (17 * exp (2 * %i));
(%o6) 17
名詞形を返す場合cabs、最も一般的には、関連する変数のいくつかのプロパティが不明であることが原因です。

(%i1) タクシー (a+%i*b);

                               2 2

(%o1) 平方根(b + a)
(%i2) を宣言します(a,実数,b,実数);
(%o2) 完了
(%i3) タクシー (a+%i*b);

                               2 2

(%o3) 平方根(b + a)
(%i4) a>0,b>0 と仮定します。
(%o4) [a > 0, b > 0]
(%i5) タクシー (a+%i*b);

                               2 2

(%o5) 平方根(b + a)
このcabs関数は、複素関数の対称性などの既知の特性を利用して、式の絶対値を計算できます。そのような恒等式が存在する場合は、cabs関数の特性を使用してそれらをアドバタイズできます。この関数が理解できる対称性cabsは、ミラー対称性、共役関数、複素特性です。

cabsは動詞関数であり、記号計算には適していません。そのような計算(積分、微分、絶対値を含む式の極限など)には を使用してくださいabs。

の結果には、cabs絶対値関数、 absおよび逆正接、が含まれますatan2。

リストまたは行列に適用すると、cabs項に自動的に分配されます。同様に、方程式の両辺にも分配されます。

複素数を計算するその他の方法については、関数 rectform、、、、realpartおよびをimagpart参照してください 。 cargconjugatepolarform

例:

sqrtおよびの例sin。

(%i1) cabs(sqrt(1+%i*x));

                            2 1/4

(%o1) (x + 1)
(%i2) cabs(sin(x+%i*y));

                   2 2 2 2

(%o2) sqrt(cos (x) sinh (y) + sin (x) cosh (y))
誤差関数 はerf鏡面対称性を持ち、ここでは複素引数を持つ絶対値の計算に使用されます。

(%i3) cabs(erf(x+%i*y));

                                         2
          (erf(%iy + x) - erf(%iy - x))

(%o3) sqrt(--------------------------------

                         4
                                                              2
                               (erf(%iy + x) + erf(%iy - x))
                             ---------------------------------)
                                              4

Maximaはベッセル関数の複素恒等式を扱っており、複素引数の絶対値を計算できます。以下は の例ですbessel_j。

(%i4) cabs(bessel_j(1,%i));
(%o4) abs(ベッセル_j(1, %i))
カテゴリ: 複素変数 ·
関数: carg ( z )
zの複素偏角を返します。複素偏角は、 がzの大きさでthetaある 角度(-%pi, %pi]です。 r exp (theta %i) = zr

cargは計算関数であり、簡略化関数ではありません。

abs(複素絶対値)、、、、polarformおよびも参照してください 。 rectformrealpartimagpart

例:

(%i1) カーグ (1);
(%o1) 0
(%i2) カーゴ (1 + %i);

                              %pi

(%o2) ---

                               4

(%i3) カーグ(式(%i));

                              罪(1)

(%o3) アタン(------)

                              cos(1)

(%i4) carg (exp (%pi * %i));
(%o4) %pi
(%i5) carg (exp (3/2 * %pi * %i));

                               %pi

(%o5) - ---

                                2

(%i6) carg (17 * exp (2 * %i));

                           罪(2)

(%o6) アタン(------) + %pi

                           cos(2)

名詞形を返す場合carg、最も一般的には、関連する変数のいくつかのプロパティが不明であることが原因です。

(%i1) カーゴ (a+%i*b);
(%o1) atan2(b, a)
(%i2) を宣言します(a,実数,b,実数);
(%o2) 完了
(%i3) カーゴ (a+%i*b);
(%o3) atan2(b, a)
(%i4) a>0,b>0 と仮定します。
(%o4) [a > 0, b > 0]
(%i5) カーゴ (a+%i*b);

                                 b

(%o5) アタン(-)

                                 1つの

カテゴリ: 複素変数 ·
関数:共役 ( x )
xの複素共役を返します。

(%i1) ([aa, bb], 実数, cc, 複素数, ii, 虚数) を宣言します。
(%o1) 完了
(%i2) 共役 (aa + bb*%i);
(%o2) aa - %i bb
(%i3)共役(cc);
(%o3)共役(cc)
(%i4)共役(ii);
(%o4) - ii
(%i5) 共役 (xx + yy)
(%o5) yy + xx
カテゴリ: 複素変数 ·
関数: imagpart ( expr )
式exprの虚数部を返します。

imagpartは計算関数であり、簡略化関数ではありません。

abs、、、、およびも参照して くださいcarg。polarform rectformrealpart

例:

(%i1) イメージパート (a+b*%i);
(%o1) b
(%i2) イメージパート (1+sqrt(2)*%i);
(%o2) 平方根(2)
(%i3) 画像部分 (1);
(%o3) 0
(%i4) イメージパート(sqrt(2)*%i);
(%o4) 平方根(2)
カテゴリ: 複素変数 ·
関数: polarform ( expr )
およびが純粋な実数である、exprとr %e^(%i theta)同等の式を返します。 rtheta

例:

(%i1) 極座標変換(a+b*%i);

                      2 2 %i atan2(b, a)

(%o1) 平方根(b + a) %e
(%i2) 極形式(1+%i);

                                 %i %pi
                                 ------
                                   4

(%o2) 平方根(2) %e
(%i3) 極座標変換(1+2*%i);

                               %i アタン(2)

(%o3) 平方根(5) %e
カテゴリ: 複素変数 · 指数関数と対数関数 ·
関数: realpart ( expr )
exprの実数部を返します。 三角関数や双曲線関数、平方根、対数、累乗を含む式に使用できます realpart。imagpart

例:

(%i1) 実数部 (a+b*%i);
(%o1) a
(%i2) 実数部 (1+sqrt(2)*%i);
(%o2) 1
(%i3) 実数部 (sqrt(2)*%i);
(%o3) 0
(%i4)実数部(1)
(%o4) 1
カテゴリ: 複素変数 ·
関数: rectform ( expr )
aとbが純粋な実数である、expra + b %iと同等の式を返します。

例:

(%i1) 長方形(sqrt(2)*%e^(%i*%pi/4));
(%o1) %i + 1
(%i2) 長方形(sqrt(b^2+a^2)*%e^(%i*atan2(b, a)));
(%o2) %ib + a
(%i3)rectform(sqrt(5)*%e^(%i*atan(2)));
(%o3) 2 %i + 1
カテゴリ: 複素変数 ·
次へ:根関数、指数関数、対数関数、前へ:複素数の関数、上へ:基本関数 [目次][索引]

10.3 組み合わせ関数
演算子: !!
二重階乗演算子。

整数、浮動小数点数、または有理数 の場合n、は の積 ( は 、つまり より小さいか に等しい最大の整数) n!!になります。この定義は、整数以外の引数に対する他の公開定義と一致しないことに注意してください。 n (n-2) (n-4) (n-6) ... (n - 2 (k-1))kentier (n/2)n/2

偶数 (または奇数) の整数の場合n、n!!は 2 (または 1) から 2 までのすべての連続する偶数 (または奇数) の整数の積として評価されますn 。

n整数、浮動小数点数、有理数ではない引数の場合は、n!! 名詞形式になりますgenfact (n, n/2, 2)。

カテゴリ: ガンマ関数と階乗関数 · 演算子 ·
関数:二項式 ( x , y )
二項係数。xとyが整数の場合、二項係数の数値が計算されます。y、またはx - yが整数の場合、二項係数は多項式として表されます。 x!/(y! (x - y)!)

例:

(%i1)二項分布(11, 7);
(%o1) 330
(%i2) 11! / 7! / (11 - 7)!;
(%o2) 330
(%i3)二項分布(x,7);

       (x - 6) (x - 5) (x - 4) (x - 3) (x - 2) (x - 1) x

(%o3) --------------------------------------------------

                             5040

(%i4) 二項式 (x + 7, x);

     (x + 1) (x + 2) (x + 3) (x + 4) (x + 5) (x + 6) (x + 7)

(%o4) ----------------------------------------------------

                              5040

(%i5)二項分布(11、y)
(%o5) 二項分布(11, y)
カテゴリー: 数論 ·
関数: factcomb ( expr )
たとえば、 を に変換して、 exprの階乗の係数を階乗自体と結合しようとします。 (n + 1)*n!(n + 1)!

sumsplitfactに設定すると、の後に が適用されfalseます。 minfactorialfactcomb

例:

(%i1) 合計分割ファクト;
(%o1) 真
(%i2) (n + 1)*(n + 1)*n!;

                                 2

(%o2) (n + 1) n!
(%i3)ファクトコーム(%);
(%o3) (n + 2)! - (n + 1)!
(%i4) sumsplitfact: sumsplitfact ではありません。
(%o4) 偽
(%i5) (n + 1)*(n + 1)*n!;

                                 2

(%o5) (n + 1) n!
(%i6)ファクトコーム(%);
(%o6) n (n + 1)! + (n + 1)!
カテゴリ: ガンマ関数と階乗関数 ·
関数:階乗
演算子: !
階乗関数を表します。Maxima では と同じように扱われます。 factorial (x)x!

負の整数を除く任意の複素数 に対してx、x!は と定義されますgamma(x+1)。

整数 の場合x、x!は 1 から までの整数の積に簡約されますx。 0!は 1 に簡約されます。浮動小数点または多倍長浮動小数点精度の実数または複素数 の場合x、x!は の値に簡約されますgamma (x+1)。が奇数xの に等しい場合、n/2はの有理因数倍に簡約されます (は に等しいため)。 nx!sqrt (%pi)gamma (1/2)sqrt (%pi)

オプション変数factlimと関数は、gammalim整数および有理数引数に対する階乗の数値評価を制御します。関数 minfactorialと関数は、factcomb階乗を含む式を簡略化します。

関数gamma、bffac、 はcbffacガンマ関数の変種です。 bffacおよび は、実数および複素数のガンマ関数を bigfloat 精度で評価するために cbffacによって内部的に呼び出されます。gamma

makegammagamma階乗および関連関数の 代わりとなります。

Maxima は階乗関数の導関数と、負の整数などの特定の値の限界を認識します。

オプション変数は、 (は整数)の factorial_expandような式の簡略化を制御します。(n+x)!n

も参照してくださいbinomial。

整数の階乗は、オペランドが より大きい場合を除き、正確な数値に簡略化されますfactlim。実数と複素数の階乗は、float または bigfloat の精度で評価されます。

(%i1) ファクトリム:10;
(%o1) 10
(%i2) [0!, (7/2)!, 8!, 20!];

                    105 平方根(%pi)

(%o2) [1, -------------, 40320, 20!]

                         16

(%i3) [4,77!, (1.0+%i)!];
(%o3) [4, 77!, 0.3430658398165453 %i + 0.6529654964201667]
(%i4) [2.86b0!, (1.0b0+%i)!];
(%o4) [5.046635586910012b0, 3.430658398165454b-1 %i

                                         + 6.529654964201667b-1]

既知の定数または一般的な式の階乗は簡略化されません。ただし、オペランドを評価した後に階乗を簡略化することは可能です。

(%i1) [(%i + 1)!, %pi!, %e!, (cos(1) + sin(1))!];
(%o1) [(%i + 1)!, %pi!, %e!, (sin(1) + cos(1))!]
(%i2) ev (%, numer, %enumer);
(%o2) [0.3430658398165453 %i + 0.6529654964201667,

        7.188082728976031、4.260820476357003、1.227580202486819]

階乗は評価されずに単純化されます。したがって、x!引用符で囲まれた式内でも置換できます。

(%i1) '([0!, (7/2)!, 4.77!, 8!, 20!]);

         105 平方根(%pi)

(%o1) [1, -------------, 81.44668037931197, 40320,

              16
                                            2432902008176640000]

Maxima は階乗関数の導関数を知っています。

(%i1) diff(x!,x);
(%o1) x! psi (x + 1)

                              0

オプション変数は、factorial_expand階乗関数を使用した式の展開と簡略化を制御します。

(%i1) (n+1)!/n!、factorial_expand:true;
(%o1) n + 1
カテゴリ: ガンマ関数と階乗関数 · 演算子 ·
オプション変数: factlim
デフォルト値: 100000

factlim自動的に展開される最大の階乗を指定します。-1の場合はすべての整数が展開されます。

カテゴリ: ガンマ関数と階乗関数 ·
オプション変数: factorial_expand
デフォルト値: false

オプション変数は、 (は整数)のfactorial_expandような式の簡略化を制御します。例については を参照してください。 (x+n)!nfactorial

カテゴリ: ガンマ関数と階乗関数 ·
関数: genfact ( x , y , z )
として定義される一般化階乗を返します x (x-z) (x - 2 z) ... (x - (y - 1) z)。つまり、xが整数の場合、 genfact (x, x, 1) = x!となりますgenfact (x, x/2, 2) = x!!。

カテゴリ: ガンマ関数と階乗関数 ·
関数: minfactorial ( expr )
exprを調べて、整数だけ異なる 2 つの階乗の出現を調べます。 minfactorial次に、一方を他方の多項式倍に変換します。

(%i1) n!/(n+2)!;

                              ん!

(%o1) --------

                           (n + 2)!

(%i2) 最小因子 (%);

                               1

(%o2) ---------------

                        (n + 1) (n + 2)

カテゴリー: 数論 ·
オプション変数: sumsplitfact
デフォルト値:true

sumsplitfactが の場合false、 minfactorialの後に適用されますfactcomb。

(%i1) 合計分割ファクト;
(%o1) 真
(%i2) n!/(n+2)!;

                              ん!

(%o2) --------

                           (n + 2)!

(%i3) ファクトコーム(%);

                              ん!

(%o3) --------

                           (n + 2)!

(%i4) sumsplitfact: sumsplitfact ではありません。
(%o4) 偽
(%i5) n!/(n+2)!;

                              ん!

(%o5) --------

                           (n + 2)!

(%i6) ファクトコーム(%);

                               1

(%o6) ---------------

                        (n + 1) (n + 2)

カテゴリ: ガンマ関数と階乗関数 · 簡略化フラグと変数 ·
次へ:三角関数、前へ:組み合わせ関数、上へ:基本関数 [目次][索引]

10.4 根、指数関数、対数関数
オプション変数: %e_to_numlog
デフォルト値:false

のときtrue、rある有理数とxある式 %e^(r*log(x))は に簡略化されます。このコマンドは、この変換だけでなく、同様の複雑な変換も行うx^rことに注意してください。この コマンドは を含む式を「縮約」します。 radcanlogcontractlog

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
オプション変数: %emode
デフォルト値:true

%emodeが のときtrue、%e^(%pi %i x)は次のように簡略化されます。

%e^(%pi %i x)が浮動小数点数、整数、または 1/2、1/3、1/4、1/6 の倍数の cos (%pi x) + %i sin (%pi x)場合は に簡略化され、その後さらに簡略化されます。x

他の数値 の場合x、%e^(%pi %i x)は に簡略化されます 。%e^(%pi %i y)ここでy、x - 2 kとなる整数の場合k 、 となりますabs(y) < 1。

%emodeが のときfalse、 の特別な簡略化は %e^(%pi %i x)実行されません。

(%i1) %eモード;
(%o1) 真
(%i2) %e^(%pi*%i*1);
(%o2) - 1
(%i3) %e^(%pi*%i*216/144);
(%o3) - %i
(%i4) %e^(%pi*%i*192/144);

                         平方根(3) %i 1

(%o4) (- ----------) - -

                             2 2

(%i5) %e^(%pi*%i*180/144);

                          %i 1

(%o5) (- -------) - -------

                        平方根(2) 平方根(2)

(%i6) %e^(%pi*%i*120/144);

                         %i 平方根(3)

(%o6) -- - -------

                         2 2

(%i7) %e^(%pi*%i*121/144);

                           121 %i %pi
                           ----------
                              144

(%o7) %e
カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
オプション変数: %enumer
デフォルト値:false

%enumerが のときはtrue、は%e常にその数値 2.718… に置き換えられます。 numertrue

%enumerが の場合false、 の指数が%e^x数値に評価される場合にのみこの置換が実行されます。

evおよびも参照してくださいnumer。

(%i1) %列挙体;
(%o1) 偽
(%i2) 数値;
(%o2) 偽
(%i3)2*%e;
(%o3) 2 %e
(%i4) %enumer: %enumer ではありません。
(%o4) 真
(%i5)2*%e;
(%o5) 2 %e
(%i6) numer: numer ではありません。
(%o6) 真
(%i7)2*%e;
(%o7) 5.43656365691809
(%i8)2*%e^1;
(%o8) 5.43656365691809
(%i9) 2*%e^x;

                                        ×

(%o9) 2 2.718281828459045
カテゴリ: 指数関数と対数関数 · 評価フラグ ·
関数: exp ( x )
指数関数を表します。入力における のインスタンスは に簡略化されます。簡略化された式には は現れません。 exp (x)%e^xexp

demoivretrueがを含まない場合、は%e^(a + b %i)に簡約されます 。 を参照してください。 %e^(a (cos(b) + %i sin(b)))b%idemoivre

%emodeのときtrue、 は%e^(%pi %i x)簡略化されます。 を参照してください%emode。

%enumertrueのときは、は%e2.718… に置き換えられます。 を参照してください。 numertrue%enumer

(%i1) デモイーヴル;
(%o1) 偽
(%i2) %e^(a + b*%i);

                            %ib + a

(%o2) %e
(%i3) demoivre: demoivre ではない;
(%o3) 真
(%i4) %e^(a + b*%i);

                     1つの

(%o4) %e (%i sin(b) + cos(b))
カテゴリ: 指数関数と対数関数 ·
関数: li [ s ] ( z )
無限級数で定義される、 s次、z引数の多重対数関数を表す。

                                無限大
                                ==== け
                                \z
                       Li (z) = > --
                         秒/秒
                                ==== け
                                k = 1

li [1]は です- log (1 - z)。 およびli [2]はli [3]それぞれ二重対数関数と三重対数関数です。

次数が 1 の場合、多重対数は に簡略化され、さらに、 z が実数または複素数浮動小数点数であるか、評価フラグが存在する - log (1 - z)場合は、数値に簡略化されます。numer

次数が 2 または 3 の場合、 z が実数浮動小数点数であるかnumer評価フラグが存在する と、多重対数は数値に簡略化されます。

例:

(%i1) (x > 0) と仮定します。
(%o1) [x > 0]
(%i2) を *2 / t, t, 0, x で積分します。
(%o2) - li (x)

                               2

(%i3)li [2] (7);
(%o3) li (7)

                              2

(%i4) li [2] (7), 番号;
(%o4) 1.248273182099423 - 6.113257028817991 %i
(%i5)li [3] (7);
(%o5) li (7)

                              3

(%i6) li [3] (7), 番号;
(%o6) 5.319257992145674 - 5.94792444808033 %i
(%i7) L : メイクリスト (i / 4.0, i, 0, 8);
(%o7) [0.0、0.25、0.5、0.75、1.0、1.25、1.5、1.75、2.0]
(%i8) マップ (ラムダ ([x], li [2] (x)), L);
(%o8) [0.0, 0.2676526390827326, 0.5822405264650125,
0.978469392930306、1.644934066848226、
2.190177011441645 - 0.7010261415046585 %i,
2.37439527027248 - 1.2738062049196 %i,
2.448686765338205 - 1.758084848210787 %i,
2.467401100272339 - 2.177586090303601 %i]
(%i9) マップ (ラムダ ([x], li [3] (x)), L);
(%o9) [0.0、0.2584613953442624、0.537213192678042、
0.8444258046482203、1.2020569、1.642866878950322

- 0.07821473130035025 %i, 2.060877505514697
- 0.2582419849982037 %i, 2.433418896388322
- 0.4919260182322965 %i, 2.762071904015935
- 0.7546938285978846 %i]

カテゴリ: 指数関数と対数関数 ·
関数: log ( x )
自然(ベース)を表す
) xの対数。

Maxima には、底 10 の対数やその他の底の組み込み関数はありません。log10(x) := log(x) / log(10)は便利な定義です。

対数の簡略化と評価は、いくつかのグローバル フラグによって制御されます。

logexpand
により、log(a^b)は になりますb*log(a)。 を に設定するとall、log(a*b)も に簡約されますlog(a)+log(b)。 を に設定するとsuper、 は有理数に対してlog(a/b)も に簡約されます 。(整数に対して は常に が簡約されます。) を に設定すると 、これらの簡約はすべて無効になります。 log(a)-log(b)a/ba#1log(1/b)bfalse

logsimp
の場合、を含むべき乗へ falseの の簡略化は行われません。 %elog

lognegint
正の整数 に対する true規則を実装します。log(-n) -> log(n)+%i*%pin

%e_to_numlog
true、rある有理数、そしてある式の場合x、式%e^(r*log(x))は に簡略化されます。このコマンドは、この変換だけでなく、より複雑な変換も行うx^rことに注意してください。この コマンドは、 を含む式を「縮約」します。 radcanlogcontractlog

カテゴリ: 指数関数と対数関数 ·
オプション変数: logabs
デフォルト値:false

例えば、対数が生成される不定積分を行う際、 が の 場合integrate(1/x,x)は で答えが与えられますが、が の場合 は で答えが与えられます。定積分では の 設定が使用されます。これは、不定積分の終点における「評価」がしばしば必要となるためです。 log(abs(...))logabstruelog(...)logabsfalselogabs:true

カテゴリ: 指数関数と対数関数 · 積分 · グローバルフラグ ·
関数: logarc ( expr )
この関数は、グローバル変数を設定せずに、式exprの逆円関数と逆双曲線関数を等価の対数関数に置き換えます。 logarc(expr)logarc

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 · 簡略化関数 ·
オプション変数: logarc
グローバル変数logarcが の場合true、逆円関数および逆双曲線関数は、等価な対数関数に置き換えられます。 のデフォルト値はlogarcですfalse。

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 · 簡略化関数 ·
オプション変数: logconcoeffp
デフォルト値:false

を使用する際にどの係数を縮約するかを制御しますlogcontract。引数を1つ取る述語関数の名前を設定できます。例えば、SQRTを生成したい場合は、 としますlogconcoeffp:'logconfun$ logconfun(m):=featurep(m,integer) or ratnump(m)$。すると が logcontract(1/2*log(x));得られますlog(sqrt(x))。

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
関数: logcontract ( expr )
式exprを再帰的にスキャンし、その部分の式a1*log(b1) + a2*log(b2) + cを次のように 変換します。log(ratsimp(b1^a1 * b2^a2)) + c

(%i1) 2*(a*log(x) + 2*a*log(y))$
(%i2) ログコントラクト(%);

                                2 4

(%o2) a log(xy )
宣言declare(n,integer)により、 logcontract(2*a*n*log(x))は に簡約されますa*log(x^(2*n))。このように「縮約」される係数は、 nここで を満たす2 や などの係数ですfeaturep(coeff,integer)。ユーザーは、オプション に引数が logconcoeffp1つの述語関数の名前を設定することで、どの係数を縮約するかを制御できます。例えば、SQRT を生成したい場合は、 としますlogconcoeffp:'logconfun$ logconfun(m):=featurep(m,integer) or ratnump(m)$。すると が logcontract(1/2*log(x));得られますlog(sqrt(x))。

カテゴリ: 指数関数と対数関数 ·
オプション変数: logexpand
デフォルト値:true

true(デフォルト値)の場合、log(a^b)は になります b*log(a)。 を に設定するとall、log(a*b)も に簡約されますlog(a)+log(b)。 を に設定するとsuper、 は有理数 に対してlog(a/b) も に簡約されます。 (整数 に対して は常に が簡約されます。) を に設定すると、これらの簡約はすべて無効になります。 log(a)-log(b)a/ba#1log(1/b)bfalse

をまたはlogexpandに設定すると、積式の対数は対数の合計に簡略化されます。 allsuper

例:

logexpandが のときtrue、 はlog(a^b)と簡略化されますb*log(a)。

(%i1) log(n^2)、logexpand=true;
(%o1) 2 log(n)
logexpandが のときall、 はlog(a*b)と簡略化されますlog(a)+log(b)。

(%i1) log(10*x)、logexpand=all;
(%o1) log(x) + log(10)
logexpandが のときsuper、 を 持つ有理数に対してlog(a/b)は に簡約されます。 log(a)-log(b)a/ba#1

(%i1) log(a/(n + 1))、logexpand=super;
(%o1) log(a) - log(n + 1)
をまたはlogexpandに設定すると、積式の対数は対数の合計に簡略化されます。 allsuper

(%i1) my_product : 積 (X(i), i, 1, n);

                            n
                          /===\
                           ! !

(%o1) ! ! X(i)

                           ! !
                          私 = 1

(%i2) log(my_product)、logexpand=all;

                         n
                        ====
                        \

(%o2) > log(X(i))

                        /
                        ====
                        私 = 1

(%i3) log(my_product)、logexpand=super;

                         n
                        ====
                        \

(%o3) > log(X(i))

                        /
                        ====
                        私 = 1

logexpandが の場合false、これらの簡略化は無効になります。

(%i1) logexpand : 偽 $
(%i2) log(n^2);

                                 2

(%o2) log(n)
(%i3) log(10*x);
(%o3) log(10 x)
(%i4) log(a/(n + 1));

                                1つの

(%o4) ログ(-----)

                              n + 1

(%i5) log ('積(X(i), i, 1, n));

                              n
                            /===\
                             ! !

(%o5) log( ! ! X(i))

                             ! !
                            私 = 1

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
オプション変数: lognegint
デフォルト値:false

正の整数 のルールtrueを実装します 。log(-n) -> log(n)+%i*%pin

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
オプション変数: logsimp
デフォルト値:true

の場合、の を含むべき乗へfalseの簡略化は行われません。%elog

カテゴリ: 指数関数と対数関数 · 簡略化フラグと変数 ·
関数: plog ( x )
複素数値自然対数の主枝を表します。 -%pi < carg(x) <= +%pi

カテゴリ: 指数関数と対数関数 · 複素変数 ·
関数: sqrt ( x )
xの平方根。内部的には で表されます x^(1/2)。および も参照してrootscontractくださいradexpand。

カテゴリ: 数学関数 ·
次へ:乱数、前へ:ルート関数、指数関数、対数関数、上へ:基本関数 [目次][索引]

10.5 三角関数
三角法入門
三角関数の関数と変数
次へ:三角関数の関数と変数、前へ:三角関数、上へ:三角関数 [目次][索引]

10.5.1 三角関数入門
Maximaには多くの三角関数が定義されています。すべての三角関数恒等式がプログラムされているわけではありませんが、システムのパターンマッチング機能を使用して、ユーザーが多くの三角関数を追加できます。Maximaで定義されている三角関数は、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、です。三角関数を扱う ための コマンドも多数ありacosます 。acosh、、、およびスイッチ を 参照してください。2つの共有 パッケージは、Maximaに組み込まれている簡略化規則を拡張します 。 詳細については、 を参照してください。acotacothacscacschasecasechasinasinhatanatanhcoscoshcotcothcsccschsecsechsinsinhtantanhtrigexpandtrigreducetrigsignntrigatrig1describe(command)

カテゴリ: 三角関数 ·
前:三角関数入門、上:三角関数 [目次][索引]

10.5.2 三角関数の関数と変数
三角関数と双曲線関数
簡素化を制御するオプション
アイデンティティを用いた明示的な単純化
追加機能
次へ:簡略化を制御するオプション, 前へ:三角関数の関数と変数, 上へ:三角関数の関数と変数 [目次][索引]

10.5.2.1 三角関数と双曲線関数
関数: acos ( x )
– アークコサイン。

カテゴリ: 三角関数 ·
関数: acosh ( x )
– 双曲線逆余弦。

カテゴリ: 双曲線関数 ·
関数: acot ( x )
– アークコタンジェント。

カテゴリ: 三角関数 ·
関数: acoth ( x )
– 双曲逆正接。

カテゴリ: 双曲線関数 ·
関数: acsc ( x )
– アークコセカント。

カテゴリ: 三角関数 ·
関数: acsch ( x )
– 双曲弧余割。

カテゴリ: 双曲線関数 ·
関数: asec ( x )
– アークセカント。

カテゴリ: 三角関数 ·
関数: asech ( x )
– 双曲弧正割。

カテゴリ: 双曲線関数 ·
関数: asin ( x )
– アークサイン。

カテゴリ: 三角関数 ·
関数: asinh ( x )
– 双曲線弧正弦。

カテゴリ: 双曲線関数 ·
関数: atan ( x )
– アークタンジェント。

も参照してくださいatan2。

カテゴリ: 三角関数 ·
関数: atan2 ( y , x )
– の値が得られます

間隔で
に
点の象限を考慮すると

も参照してくださいatan。

カテゴリ: 三角関数 ·
関数: atanh ( x )
– 双曲線逆正接。

カテゴリ: 双曲線関数 ·
関数: cos ( x )
– コサイン。

カテゴリ: 三角関数 ·
関数: cosh ( x )
– 双曲線余弦。

カテゴリ: 双曲線関数 ·
関数: cot ( x )
– 余接。

カテゴリ: 三角関数 ·
関数: coth ( x )
– 双曲余接。

カテゴリ: 双曲線関数 ·
関数: csc ( x )
– コセカント。

カテゴリ: 三角関数 ·
関数: csch ( x )
– 双曲線余割。

カテゴリ: 双曲線関数 ·
関数: sec ( x )
– セカント。

カテゴリ: 三角関数 ·
関数: sech ( x )
– 双曲正割。

カテゴリ: 双曲線関数 ·
関数: sin ( x )
– 正弦波。

カテゴリ: 三角関数 ·
関数: sinh ( x )
– 双曲線正弦。

カテゴリ: 双曲線関数 ·
関数: tan ( x )
– 接線。

カテゴリ: 三角関数 ·
関数: tanh ( x )
– 双曲線正接。

カテゴリ: 双曲線関数 ·
次へ:恒等式を用いた明示的な簡約、前へ:三角関数と双曲線関数、上へ:三角関数の関数と変数 [目次][索引]

10.5.2.2 簡略化を制御するオプション
オプション変数: %piargs
デフォルト値:true

%piargsが のときtrue、三角関数は引数が の整数倍のときに代数定数に簡略化される。

または

Maximaは、次のような場合に適用されるいくつかの恒等式を知っています。

などは、整数変数(つまり、整数として宣言されたシンボル)で乗算されます。

例:

(%i1) %piargs : 偽$
(%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 : 真$
(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];

                               平方根(3)

(%o5) [0, 1, -------]

                                  2

(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];

                        1 %pi 1

(%o6) [-------, sin(---), -]

                     平方根(2) 5 2

(%i7) [cos (%pi/3)、cos (10*%pi/3)、tan (10*%pi/3)、

      cos (sqrt(2)*%pi/3)];
               1 1 平方根(2) %pi

(%o7) [-, - -, sqrt(3), cos(-----------)]

               2 2 3

いくつかのアイデンティティは、

そして
整数変数で乗算されます。

(%i1) 宣言 (n, 整数, m, 偶数)$
(%i2) [sin (%pi * n)、cos (%pi * m)、sin (%pi/2 * m)、

      cos (%pi/2 * m)];
                                     平方メートル

(%o2) [0, 1, 0, (- 1) ]
カテゴリ: 三角関数 · 簡略化フラグと変数 ·
オプション変数: %iargs
デフォルト値:true

%iargsが のときtrue、三角関数は、引数が明らかに虚数単位の倍数であるとき、双曲関数に簡略化される。

引数が明らかに実数である場合でも、簡略化が適用されます。Maximaは引数が文字通りの倍数であるかどうかのみを考慮します。

例:

(%i1) %iargs : 偽$
(%i2) [sin (%i * x)、cos (%i * x)、tan (%i * x)];
(%o2) [sin(%ix)、cos(%ix)、tan(%ix)]
(%i3) %iargs : 真$
(%i4) [sin (%i * x)、cos (%i * x)、tan (%i * x)];
(%o4) [%i sinh(x)、cosh(x)、%i Tanh(x)]
議論が明らかに真実である場合でも、単純化が適用されます。

(%i1) (x, 虚数)$ を宣言する
(%i2) [featurep (x, 虚数), featurep (x, 実数)];
(%o2) [真、偽]
(%i3) sin (%i * x);
(%o3) %i sinh(x)
カテゴリ: 三角関数 · 双曲線関数 · 簡略化フラグと変数 ·
オプション変数: halfangles
デフォルト値:false

halfanglesのときtrue、引数 の三角関数は exprexpr/2の関数に簡略化されます。

本当の議論のために
間隔で

単純な式に簡略化されます。

この式をすべての複雑な議論に対して正しいものにするには、複雑な要素が必要である。

sinMaximaは、 関数cos、、、sinhおよびに対してこの因子と類似の因子を認識しますcosh。引数の特別な値については、
これらの要素はそれに応じて単純化されます。

例:

(%i1) 半角: false$
(%i2) sin (x / 2);

                                ×

(%o2) sin(-)

                                2

(%i3) 半角: 真$
(%i4) sin (x / 2);

                           ×
                   床( -  - -)
                         2 %pi
              (- 1) 平方根(1 - cos(x))

(%o4) ----------------------------------

                           平方根(2)

(%i5) (x>0, x<2*%pi) と仮定します
(%i6) sin(x / 2);

                       平方根(1 - cos(x))

(%o6) ----------------

                           平方根(2)

カテゴリ: 三角関数 · 簡略化フラグと変数 ·
オプション変数: trigsign
デフォルト値:true

trigsignのときtrue、三角関数の負の引数を簡約することができます。例えば、

なるだろう

trigsignの 場合のみtrue。

カテゴリ: 三角関数 · 簡略化フラグと変数 ·
次へ:追加関数, 前へ:簡略化を制御するオプション, 上へ:三角関数の関数と変数 [目次][索引]

10.5.2.3 アイデンティティを用いた明示的な単純化
関数: trigexpand ( expr )
exprに含まれる角度の和および多重角度の三角関数および双曲線関数を展開します。最良の結果を得るには、exprを展開する必要があります。ユーザーが簡略化を制御できるように、この関数は一度に1レベルのみ展開し、角度の和または多重角度を展開します。直ちに正弦および余弦への完全な展開を得るには、スイッチ を設定してくださいtrigexpand: true。

trigexpand次のグローバル フラグによって制御されます。

trigexpand
するとtrue、その後に発生する sin と cos を含むすべての式が展開されます。

halfangles
true半角が簡略化されるようになります 。

trigexpandplus
の「合計」規則を制御しますtrigexpand。合計の展開 (例: )は のsin(x + y)場合にのみ行われます 。 trigexpandplustrue

trigexpandtimes
の「積」規則を制御しますtrigexpand。積の展開 (例: )は のsin(2 x)場合にのみ行われます 。 trigexpandtimestrue

例:

(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;

                        2 2

(%o1) (- sin (x)) + 3 cos (x) + x
(%i2) 三角関数展開(sin(10*x+y));
(%o2) cos(10 x) sin(y) + sin(10 x) cos(y)
カテゴリ: 三角関数 · 簡略化関数 ·
オプション変数: trigexpandplus
デフォルト値:true

trigexpandplusは の「和」規則を制御します trigexpand。したがって、trigexpandコマンドが使用されるか、 trigexpandスイッチが に設定されている場合true、和の展開(例:は が の sin(x+y))場合にのみ実行されます。 trigexpandplustrue

カテゴリ: 三角関数 · 簡略化フラグと変数 ·
オプション変数: trigexpandtimes
デフォルト値:true

trigexpandtimesは の「積」規則を制御しますtrigexpand。したがって、trigexpandコマンドが使用されるか、trigexpand スイッチが に設定されている場合true、積の展開(例: )はが のsin(2*x)場合にのみ行われます。 trigexpandtimestrue

カテゴリ: 三角関数 · 簡略化フラグと変数 ·
オプション変数: triginverses
デフォルト値:true

triginverses三角関数と双曲線関数とその逆関数の合成の簡略化を制御します。

の場合all、eg と は両方ともxに簡略化されます。 atan(tan(x))tan(atan(x))

の場合true、 簡略化はオフになります。 arcfun(fun(x))

の場合false、 と の 簡略化は両方ともオフになります。 arcfun(fun(x))fun(arcfun(x))

カテゴリ: 三角関数 · 簡略化フラグと変数 ·
関数: trigreduce

   trigreduce ( expr , x )
   trigreduce ( expr )

xの三角関数および双曲線関数の sin および cos の積とべき乗を、xの倍数の積とべき乗に統合します。また、これらの関数が分母に現れる場合は、それらの関数を除外しようとします。xが省略された場合は、 expr内のすべての変数が使用されます。

も参照してくださいpoissimp。

(%i1) 三角減算(-sin(x)^2+3*cos(x)^2+x);

              cos(2 x) cos(2 x) 1 1

(%o1) -------- + 3 (-------- + -) + x - -

                 2 2 2 2

カテゴリ: 三角関数 · 簡略化関数 ·
関数: trigsimp ( expr )
アイデンティティを採用

そして

tan、、secなどを含む式を、、、、に簡略 化しsinますcos。sinhcosh

trigreduce、、ratsimpおよびradcan結果をさらに簡素化できる可能性があります。

demo ("trgsmp.dem")のいくつかの例を表示しますtrigsimp。

カテゴリ: 三角関数 · 簡略化関数 ·
関数: trigrat ( expr )
三角関数式の標準的な簡略化された準線形形式を与えます。expr は複数のsin、cosまたは の有理分数tanで、それらの引数はいくつかの変数(または核)と( n は整数) について整数係数を持つ線形形式です。結果は、分子と分母が と について線形である簡略化された分数です 。したがって、可能な場合は常に線形化されます。 %pi/nsincostrigrat

(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1) sqrt(3) sin(2 a) + cos(2 a) - 1
次の例は、Davenport、Siret、および Tournier 著「Calcul Formel」、Masson (英語では Addison-Wesley) のセクション 1.5.5 の Morley 定理から引用したものです。

(%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(3a) sin(b + a - ---)
                                         3

(%o3) ------------------------

                                 %pi
                         sin(a - ---)
                                  3

(%i4) ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);

        2 2 %pi
     罪 (3 a) 罪 (b + a - ---)
                             3

(%o4) ---------------------------

               2 %pi
            罪(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
             サイン(b + a)

(%i5) トライグラット (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

カテゴリ: 三角関数 · 簡略化関数 ·
前:恒等式を用いた明示的簡約、上:三角関数の関数と変数 [目次][索引]

10.5.2.4 追加機能
パッケージ: atrig1
このatrig1パッケージには、逆三角関数の簡略化規則がいくつか追加されています。Maximaに既に実装されている規則と合わせて、以下の角度が完全に実装されています。

そして

他の3つの象限にも対応する角度がありますので、ぜひload("atrig1");活用してください。

カテゴリ: 三角関数 · パッケージ atrig1 ·
パッケージ: ntrig
このパッケージには、引数が という形式 ( fは関数 、、、のいずれか) でntrigある三角関数を簡略化するために使用される一連の簡略化規則が含まれています 。f(n %pi/10)sincostancscseccot

カテゴリ: 三角関数 · パッケージ ntrig ·
前:三角関数、上:初等関数 [目次][索引]

10.6 乱数
関数: make_random_state

   make_random_state ( n )
   make_random_state ( s )
   make_random_state (true)
   make_random_state (false)

ランダム状態オブジェクトは、乱数ジェネレータの状態を表します。状態は627個の32ビットワードで構成されます。

make_random_state (n)nを法とした 2^32 に等しい整数シード値から作成された新しいランダム状態オブジェクトを返します。nは負の場合もあります。

make_random_state (s)ランダム状態sのコピーを返します。

make_random_state (true)現在のコンピュータのクロック時間をシードとして使用して、新しいランダム状態オブジェクトを返します。

make_random_state (false)乱数ジェネレータの現在の状態のコピーを返します。

カテゴリ: 乱数 ·
関数: set_random_state ( s )
s を乱数ジェネレータの状態に コピーします。

set_random_state常に を返しますdone。

カテゴリ: 乱数 ·
関数: random ( x )
疑似乱数を返します。x が整数の場合、 0 から0を含む整数を返します 。xが浮動小数点数の場合、xより小さい 非負の浮動小数点数を返します。x が整数でも浮動小数点数でもない、または xが正でない 場合は エラーが発生します。random (x)x - 1random (x)random

関数make_random_stateはset_random_state 乱数ジェネレータの状態を維持します。

Maxima 乱数ジェネレーターは、メルセンヌ ツイスター MT 19937 の実装です。

例:

(%i1) s1: ランダムステートを作る (654321)$
(%i2) ランダム状態を設定します (s1);
(%o2) 完了
(%i3) ランダム (1000);
(%o3) 768
(%i4) ランダム (9573684);
(%o4) 7657880
(%i5) ランダム (2^75);
(%o5) 11804491615036831636390
(%i6) s2: make_random_state (偽)$
(%i7)ランダム(1.0)
(%o7) 0.2310127244107132
(%i8)ランダム(10.0)
(%o8) 4.394553645870825
(%i9)ランダム(100.0)
(%o9) 32.28666704056853
(%i10) ランダム状態を設定します (s2);
(%o10) 完了
(%i11)ランダム(1.0)
(%o11) 0.2310127244107132
(%i12)ランダム(10.0)
(%o12) 4.394553645870825
(%i13)ランダム(100.0)
(%o13) 32.28666704056853
カテゴリ: 乱数 · 数値解析法 ·


*1 1+%i)*(1-%i
*2 log (1 - t