Next: Trigonometric Functions, Previous: Combinatorial Functions, Up: Mathematical Functions [Contents][Index]
デフォルト値: false
true
の時、
r
をある有理数、x
をある式とすると、
%e^(r*log(x))
はx^r
に整理されます。
radcan
コマンドもこの変換を行い、その上この同類のさらに複雑な変換をすることに注意すべきです。
logcontract
コマンドはlog
を含む式を「短縮」します。
デフォルト値: true
%emode
がtrue
の時、
%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)
に整理されます。
ここでy
はx - 2 k
(k
はabs(y) < 1
が成り立つような整数)です。
%emode
がfalse
の時には、
%e^(%pi %i x)
の特別な整理は実行されません。
デフォルト値: false
%enumer
がtrue
の時、
numer
がtrue
の時はいつでも、
%e
は数値2.718...に置き換えられます。
%enumer
がfalse
の時、
%e^x
の指数が数に評価される時だけ、
この代入が実行されます。
指数関数を表します。
入力にあるexp (x)
のインスタンスは、%e^x
に整理されます;
exp
は整理された式の中には現れません。
もしdemoivre
がtrue
で、かつ、
b
が%i
を含まないなら、
%e^(a + b %i)
は%e^(a (cos(b) + %i sin(b)))
に整理されます。
demoivre
を参照してください。
%emode
がtrue
の時、
%e^(%pi %i x)
は整理されます。
%emode
を参照してください。
%enumer
がtrue
の時、
numer
がtrue
の時にはいつでも
%e
は2.718...に置き換えれます。
%enumer
を参照してください。
次数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]
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
の計算の前に絶対値に変換されます。
もしnumer
もtrue
なら、
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
を含む式を「短縮」します。
デフォルト値: false
例えばintegrate(1/x,x)
のように、logが生成される不定積分を実行する時、
もしlogabs
がtrue
なら
もしlogabs
がfalse
なら
答えは、log(...)
の形で与えられます。
定積分については、
終端での不定積分の「評価」がしばしば必要になるので、logabs:true
設定が使われます。
グローバル変数logarc
がtrue
の時、
逆円関数や逆双曲線関数は、同値の対数関数に置き換えられます。
logarc
のデフォルト値はfalse
です。
関数logarc(expr)
は、
グローバル変数logarc
を設定することなしに、式exprに対して上記置き換えを実行します。
デフォルト値: false
logcontract
を使った時、どの係数が短縮されるかを制御します。
引数1つの述語論理関数の名前に設定することができます。
例えば、もしSQRTを生成したいなら、
logconcoeffp:'logconfun$
logconfun(m):=featurep(m,integer) or ratnump(m)$
を実行できます。
すると、
logcontract(1/2*log(x));
はlog(sqrt(x))
を与えるでしょう。
形式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))
を与えるでしょう。
デフォルト値: 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
に設定されているなら、
これらのすべての整理は止められます。
デフォルト値: false
もしtrue
なら、正の整数n
に対して規則
log(-n)
-> log(n)+%i*%pi
が実装されます。
デフォルト値: false
もしtrue
なら、
引数は、log
の計算の前に絶対値に変換されます。
もしnumer
もtrue
なら、
log
の引数に負の整数を与えたとき、
引数は、log
の計算の前に絶対値に変換されます。
デフォルト値: true
もしfalse
なら、
%e
は、log
を含む累乗へ整理がなされます。
-%pi
< carg(x)
<= +%pi
を虚部係数とする複素数値の自然対数の主値を表します。
xの平方根。
内部的にはx^(1/2)
で表現されます。
rootscontract
も参照してください。
radexpand
がtrue
なら、nのべき乗となる積の因子のn番目の根を
累乗根の外部に押し出すようにします。
例えば、
radexpand
がtrue
の時だけ、sqrt(16*x^2)
は4*x
になります。
Next: Trigonometric Functions, Previous: Combinatorial Functions, Up: Mathematical Functions [Contents][Index]