Next: , Previous: Combinatorial Functions, Up: Mathematical Functions   [Contents][Index]

10.4 Root, Exponential and Logarithmic Functions

オプション変数: %e_to_numlog

デフォルト値: false

trueの時、 rをある有理数、xをある式とすると、 %e^(r*log(x))x^rに整理されます。 radcanコマンドもこの変換を行い、その上この同類のさらに複雑な変換をすることに注意すべきです。 logcontractコマンドはlogを含む式を「短縮」します。

オプション変数: %emode

デフォルト値: true

%emodetrueの時、 %e^(%pi %i x)は以下のように整理されます。

もしxが浮動小数点、整数、もしくは1/2, 1/3, 1/4, 1/6の整数倍なら、 %e^(%pi %i x)cos (%pi x) + %i sin (%pi x)に整理された後、 さらに整理されます。

他の数値xに関して、 %e^(%pi %i x)は、%e^(%pi %i y)に整理されます。 ここでyx - 2 kkabs(y) < 1が成り立つような整数)です。

%emodefalseの時には、 %e^(%pi %i x)の特別な整理は実行されません。

オプション変数: %enumer

デフォルト値: false

%enumertrueの時、 numertrueの時はいつでも、 %eは数値2.718...に置き換えられます。

%enumerfalseの時、 %e^xの指数が数に評価される時だけ、 この代入が実行されます。

ev, numerも参照してください。

関数: exp (x)

指数関数を表します。 入力にあるexp (x)のインスタンスは、%e^xに整理されます; expは整理された式の中には現れません。

もしdemoivretrueで、かつ、 b%iを含まないなら、 %e^(a + b %i)%e^(a (cos(b) + %i sin(b)))に整理されます。 demoivreを参照してください。

%emodetrueの時、 %e^(%pi %i x)は整理されます。 %emodeを参照してください。

%enumertrueの時、 numertrueの時にはいつでも %eは2.718...に置き換えれます。 %enumerを参照してください。

関数: li [s] (z)

次数s、引数zの多重対数関数を表します。 これは、以下の無限級数で定義されます。

                                 inf
                                 ====   k
                                 \     z
                        Li (z) =  >    --
                          s      /      s
                                 ====  k
                                 k = 1

li [1]は、- log (1 - z)です。 li [2]li [3]は、それぞれ、dilogarithm関数、trilogarithm関数です。

次数が1の時、多重対数関数は- log (1 - z)に整理され、 もしzが実数もしくは複素数の浮動小数点数、もしくは、numer評価フラグが有効なら、さらに数値に整理されます。

次数が2もしくは3の時、 もしzが実数の浮動小数点数、もしくはnumer評価フラグが有効なら、 多重対数関数は数値に整理されます。

例:

(%i1) assume (x > 0);
(%o1)                        [x > 0]
(%i2) integrate ((log (1 - t)) / t, t, 0, x);
(%o2)                       - li (x)
                                2
(%i3) li [2] (7);
(%o3)                        li (7)
                               2
(%i4) li [2] (7), numer;
(%o4)        1.24827317833392 - 6.113257021832577 %i
(%i5) li [3] (7);
(%o5)                        li (7)
                               3
(%i6) li [2] (7), numer;
(%o6)        1.24827317833392 - 6.113257021832577 %i
(%i7) L : makelist (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) map (lambda ([x], li [2] (x)), L);
(%o8) [0, .2676526384986274, .5822405249432515, 
.9784693966661848, 1.64493407, 2.190177004178597
 - .7010261407036192 %i, 2.374395264042415
 - 1.273806203464065 %i, 2.448686757245154
 - 1.758084846201883 %i, 2.467401098097648
 - 2.177586087815347 %i]
(%i9) map (lambda ([x], li [3] (x)), L);
(%o9) [0, .2584613953442624, 0.537213192678042, 
.8444258046482203, 1.2020569, 1.642866878950322
 - .07821473130035025 %i, 2.060877505514697
 - .2582419849982037 %i, 2.433418896388322
 - .4919260182322965 %i, 2.762071904015935
 - .7546938285978846 %i]
関数: log (x)

xの自然対数(基数eの対数)を表します。

Maximaは、基数10や他の基数の対数の組み込み関数を持ちません。 log10(x) := log(x) / log(10)は、役立つ定義です。

対数の整理と評価は、いくつかのグローバルフラグによって管理されます:

logexpand

log(a^b)b*log(a)にします。 もしallに設定されているなら、 log(a*b)log(a)+log(b)に整理されます。 もしsuperに設定されているなら, 有理数a/bただしa#1についてlog(a/b)log(a)-log(b)に整理されます。 (整数bに関してlog(1/b)はいつも整理されます。) もしfalseに設定されているなら、 これらのすべての整理は止められます。

logsimp

もしfalseなら、 %eは、logを含む累乗へ整理がなされます。

lognumer

もしtrueなら、 引数は、logの計算の前に絶対値に変換されます。 もしnumertrueなら、 logの引数に負の整数を与えたとき、 引数は、logの計算の前に絶対値に変換されます。

lognegint

もしtrueなら、正の整数nに対して規則 log(-n) -> log(n)+%i*%pi が実装されます。

%e_to_numlog

trueの時、 rをある有理数、xをある式とすると、 式%e^(r*log(x))x^rに整理されます。 radcanコマンドもこの変換を行い、その上この同類のさらに複雑な変換をすることに注意すべきです。 logcontractコマンドはlogを含む式を「短縮」します。

オプション変数: logabs

デフォルト値: false

例えばintegrate(1/x,x)のように、logが生成される不定積分を実行する時、 もしlogabstrueなら もしlogabsfalseなら 答えは、log(...)の形で与えられます。 定積分については、 終端での不定積分の「評価」がしばしば必要になるので、logabs:true設定が使われます。

オプション変数: logarc
関数: logarc (expr)

グローバル変数logarctrueの時、 逆円関数や逆双曲線関数は、同値の対数関数に置き換えられます。 logarcのデフォルト値はfalseです。

関数logarc(expr)は、 グローバル変数logarcを設定することなしに、式exprに対して上記置き換えを実行します。

オプション変数: 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)

形式a1*log(b1) + a2*log(b2) + cの部分式を log(ratsimp(b1^a1 * b2^a2)) + cに変換しながら、 再帰的に式exprを走査します。

(%i1) 2*(a*log(x) + 2*a*log(y))$
(%i2) logcontract(%);
                                 2  4
(%o2)                     a log(x  y )

declare(n,integer);を実行すると、 logcontract(2*a*n*log(x));は、a*log(x^(2*n))に整理されます。 この方法で「短縮」される係数は、ここで2やnに当たるもので、featurep(coeff,integer)を満たします。 ユーザーは、 オプションlogconcoeffpを引数1つの述語論理関数名に設定することで、 どの係数を短縮するか制御できます。 例えば、もしSQRTを生成したいなら、 logconcoeffp:'logconfun$ logconfun(m):=featurep(m,integer) or ratnump(m)$を実行できます。 すると、 logcontract(1/2*log(x));log(sqrt(x))を与えるでしょう。

オプション変数: logexpand

デフォルト値: false

もしtrueなら、 log(a^b)b*log(a)になるようにします。 もしallに設定されているなら、 log(a*b)log(a)+log(b)に整理されます。 もしsuperに設定されているなら, 有理数a/bただしa#1についてlog(a/b)log(a)-log(b)に整理されます。 (整数bに関してlog(1/b)はいつも整理されます。) もしfalseに設定されているなら、 これらのすべての整理は止められます。

オプション変数: lognegint

デフォルト値: false

もしtrueなら、正の整数nに対して規則 log(-n) -> log(n)+%i*%pi が実装されます。

オプション変数: lognumer

デフォルト値: false

もしtrueなら、 引数は、logの計算の前に絶対値に変換されます。 もしnumertrueなら、 logの引数に負の整数を与えたとき、 引数は、logの計算の前に絶対値に変換されます。

オプション変数: logsimp

デフォルト値: true

もしfalseなら、 %eは、logを含む累乗へ整理がなされます。

関数: plog (x)

-%pi < carg(x) <= +%piを虚部係数とする複素数値の自然対数の主値を表します。

関数: sqrt (x)

xの平方根。 内部的にはx^(1/2)で表現されます。 rootscontractも参照してください。

radexpandtrueなら、nのべき乗となる積の因子のn番目の根を 累乗根の外部に押し出すようにします。 例えば、 radexpandtrueの時だけ、sqrt(16*x^2)4*xになります。


Next: , Previous: Combinatorial Functions, Up: Mathematical Functions   [Contents][Index]