2 * Functions and Variables for Differentiation::
5 @c -----------------------------------------------------------------------------
6 @node Functions and Variables for Differentiation, , Differentiation, Differentiation
7 @section Functions and Variables for Differentiation
8 @c -----------------------------------------------------------------------------
10 @c -----------------------------------------------------------------------------
12 @deffn {関数} antid (@var{expr}, @var{x}, @var{u(x)})
14 @var{expr}の@var{x}に関する不定積分がリストから構成できるような、
16 式@var{expr}は、未知の関数@var{u}とその導関数を含むことができます。
19 2要素リスト@var{L}が@code{antid}の戻り値だとします。
20 @code{@var{L}[1] + 'integrate (@var{L}[2], @var{x})}は
21 @var{expr}の@var{x}に関する不定積分です。
23 @code{antid}が完全に成功した時、
25 そうでなければ、2番目の要素は非ゼロで、最初の要素は非ゼロまたはゼロです。
26 もし@code{antid}が全く進展できなければ、
29 @code{load ("antid")}はこの関数をロードします。
30 @code{antid}パッケージは、関数@code{nonzeroandfreeof}と@code{linear}も定義します。
32 @code{antid}は、以下のように@code{antidiff}と関係します。
33 2要素リスト@var{L}が@code{antid}の戻り値とします。
34 @code{antidiff}の戻り値は、@code{@var{L}[1] + 'integrate (@var{L}[2], @var{x})}に
40 @c FOLLOWING EXAMPLES GENERATED FROM THESE INPUTS
42 @c expr: exp (z(x)) * diff (z(x), x) * y(x);
43 @c a1: antid (expr, x, z(x));
44 @c a2: antidiff (expr, x, z(x));
45 @c a2 - (first (a1) + 'integrate (second (a1), x));
46 @c antid (expr, x, y(x));
47 @c antidiff (expr, x, y(x));
48 @c THERE IS A DEMO FILE share/integration/antid.dem, EXECUTED BY demo('antid)
49 @c BUT I THINK THE FOLLOWING ILLUSTRATES THE BASIC FUNCTIONALITY MORE CLEARLY
50 @c MAYBE MERGE IN THE DEMO PROBLEMS LATER
53 (%i2) expr: exp (z(x)) * diff (z(x), x) * y(x);
55 (%o2) y(x) %e (-- (z(x)))
57 (%i3) a1: antid (expr, x, z(x));
59 (%o3) [y(x) %e , - %e (-- (y(x)))]
61 (%i4) a2: antidiff (expr, x, z(x));
64 (%o4) y(x) %e - I %e (-- (y(x))) dx
67 (%i5) a2 - (first (a1) + 'integrate (second (a1), x));
69 (%i6) antid (expr, x, y(x));
71 (%o6) [0, y(x) %e (-- (z(x)))]
73 (%i7) antidiff (expr, x, y(x));
76 (%o7) I y(x) %e (-- (z(x))) dx
82 @category{Integral calculus}
86 @c -----------------------------------------------------------------------------
88 @deffn {関数} antidiff (@var{expr}, @var{x}, @var{u}(@var{x}))
90 @var{expr}の@var{x}に関する不定積分を返します。
91 式@var{expr}は、未知の関数@var{u}とその導関数を含むことができます。
93 @code{antidiff}が完全に成功した時、
94 結果の式は、積分記号を含みません(すなわち、@code{integrate}名詞を含みません)。
95 そうでなければ、@code{antidiff}は
96 部分的にまたは完全に積分記号内にある式を返します。
97 もし@code{antidiff}が全く進展ができないなら、
100 @code{load ("antid")}はこの関数をロードします。
101 @code{antid}パッケージは、関数@code{nonzeroandfreeof}と@code{linear}も定義します。
103 @code{antidiff}は、以下のように@code{antid}と関係します。
104 2要素リスト@var{L}が@code{antid}の戻り値とします。
105 @code{antidiff}の戻り値は、@code{@var{L}[1] + 'integrate (@var{L}[2], @var{x})}に
111 @c FOLLOWING EXAMPLES GENERATED FROM THESE INPUTS
113 @c expr: exp (z(x)) * diff (z(x), x) * y(x);
114 @c a1: antid (expr, x, z(x));
115 @c a2: antidiff (expr, x, z(x));
116 @c a2 - (first (a1) + 'integrate (second (a1), x));
117 @c antid (expr, x, y(x));
118 @c antidiff (expr, x, y(x));
119 @c THERE IS A DEMO FILE share/integration/antid.dem, EXECUTED BY demo('antid)
120 @c BUT I THINK THE FOLLOWING ILLUSTRATES THE BASIC FUNCTIONALITY MORE CLEARLY
121 @c MAYBE MERGE IN THE DEMO PROBLEMS LATER
123 (%i1) load ("antid")$
124 (%i2) expr: exp (z(x)) * diff (z(x), x) * y(x);
126 (%o2) y(x) %e (-- (z(x)))
128 (%i3) a1: antid (expr, x, z(x));
130 (%o3) [y(x) %e , - %e (-- (y(x)))]
132 (%i4) a2: antidiff (expr, x, z(x));
135 (%o4) y(x) %e - I %e (-- (y(x))) dx
138 (%i5) a2 - (first (a1) + 'integrate (second (a1), x));
140 (%i6) antid (expr, x, y(x));
142 (%o6) [0, y(x) %e (-- (z(x)))]
144 (%i7) antidiff (expr, x, y(x));
147 (%o7) I y(x) %e (-- (z(x))) dx
153 @category{Integral calculus}
157 @c -----------------------------------------------------------------------------
159 @deffn {関数} at (@var{expr}, [@var{eqn_1}, @dots{}, @var{eqn_n}])
160 @deffnx {関数} at (@var{expr}, @var{eqn})
161 等式のリスト@code{[@var{eqn_1}, ..., @var{eqn_n}]}
162 もしくは1つの等式@var{eqn}の中で指定されたように値を仮定された変数で、
165 もしも部分式が、値が指定される変数のいずれかに依存するが
166 指定の@code{atvalue}がなく、他の方法で評価できないなら、
167 @code{at}の名詞形が返され、2次元形式で表示されます。
169 @code{at}は多重代入を並列に実行します。
171 @code{atvalue}も参照してください。
172 代入を実行する他の関数に関しては、@code{subst}や@code{ev}も参照してください。
177 @c atvalue (f(x,y), [x = 0, y = 1], a^2);
178 @c atvalue ('diff (f(x,y), x), x = 0, 1 + y);
179 @c printprops (all, atvalue);
180 @c diff (4*f(x, y)^2 - u(x, y)^2, x);
181 @c at (%, [x = 0, y = 1]);
184 (%i1) atvalue (f(x,y), [x = 0, y = 1], a^2);
187 (%i2) atvalue ('diff (f(x,y), x), x = 0, 1 + y);
189 (%i3) printprops (all, atvalue);
192 --- (f(@@1, @@2))! = @@2 + 1
200 (%i4) diff (4*f(x, y)^2 - u(x, y)^2, x);
202 (%o4) 8 f(x, y) (-- (f(x, y))) - 2 u(x, y) (-- (u(x, y)))
204 (%i5) at (%, [x = 0, y = 1]);
208 (%o5) 16 a - 2 u(0, 1) (-- (u(x, y))! )
215 @category{Evaluation}
216 @category{Differential equations}
220 @c I SUSPECT THERE IS MORE TO BE SAID HERE
222 @c -----------------------------------------------------------------------------
224 @defvr {Property} atomgrad
226 @code{atomgrad}は、式のアトムのグラディエントプロパティです。
227 このプロパティは@code{gradef}で割り当てられます。
231 @category{Differential calculus}
235 @c -----------------------------------------------------------------------------
237 @deffn {関数} atvalue (@var{expr}, [@var{x_1} = @var{a_1}, ..., @var{x_m} = @var{a_m}], @var{c})
238 @deffnx {関数} atvalue (@var{expr}, @var{x_1} = @var{a_1}, @var{c})
241 点@code{@var{x} = @var{a}}の@var{expr}に割り当てます。
242 典型的には、境界値はこのメカニズムによって確立されます。
244 @var{expr}は、関数引数が陽に現れる
246 @code{@var{f}(@var{x_1}, ..., @var{x_m})}または
248 @code{diff (@var{f}(@var{x_1}, ..., @var{x_m}), @var{x_1}, @var{n_1}, ..., @var{x_n}, @var{n_m})}
250 @c HMM, WHAT IS THIS NEXT PHRASE GETTING AT ??
251 @c DOES IT INTEND TO IMPLY THAT IMPLICIT DEPENDENCIES ARE IGNORED ??
252 @var{n_i}は、@var{x_i}に関する微分の階数です。
254 atvalueが確立される点は、等式のリスト@code{[@var{x_1} = @var{a_1}, ..., @var{x_m} = @var{a_m}]}
257 リストとしてくくられることなしに1つの等式は与えられます。
259 @code{printprops ([@var{f_1}, @var{f_2}, ...], atvalue)}は
260 @code{atvalue}コールによって指定されるような
261 関数@code{@var{f_1}, @var{f_2}, ...}のatvalueを表示します。
263 @code{printprops (@var{f}, atvalue)}は、
264 1関数@var{f}のatvalueを表示します。
265 @code{printprops (all, atvalue)}は、
266 atvaluesが定義された関数すべてのatvalueを表示します。
269 シンボル@code{@@1}, @code{@@2}, @dots{} は
270 変数@var{x_1}, @var{x_2}, @dots{}を表します。
272 @code{atvalue}は引数を評価します。
273 @code{atvalue}はatvalue@var{c}を返します。
277 @c FOLLOWING ADAPTED FROM example (atvalue)
278 @c atvalue (f(x,y), [x = 0, y = 1], a^2);
279 @c atvalue ('diff (f(x,y), x), x = 0, 1 + y);
280 @c printprops (all, atvalue);
281 @c diff (4*f(x,y)^2 - u(x,y)^2, x);
282 @c at (%, [x = 0, y = 1]);
284 (%i1) atvalue (f(x,y), [x = 0, y = 1], a^2);
287 (%i2) atvalue ('diff (f(x,y), x), x = 0, 1 + y);
289 (%i3) printprops (all, atvalue);
292 --- (f(@@1, @@2))! = @@2 + 1
300 (%i4) diff (4*f(x,y)^2 - u(x,y)^2, x);
302 (%o4) 8 f(x, y) (-- (f(x, y))) - 2 u(x, y) (-- (u(x, y)))
304 (%i5) at (%, [x = 0, y = 1]);
307 (%o5) 16 a - 2 u(0, 1) (-- (u(x, y))! )
313 @category{Differential equations}
314 @category{Declarations and inferences}
318 @c LOOKS LIKE cartan IS THE NAME OF A PACKAGE AND NOT A FUNCTION OR VARIABLE
319 @c PROBABLY SHOULD SPLIT OUT cartan AND ITS CONTENTS INTO ITS OWN TEXINFO FILE
320 @c ext_diff AND lie_diff NOT DOCUMENTED (OTHER THAN HERE)
322 @c -----------------------------------------------------------------------------
327 エリーカルタンによって開発された微分幾何の基本ツールであり、
330 演算子@code{~} (ウェッジ積)と@code{|} (形式のベクトルとの縮約)と一緒に、
331 関数@code{ext_diff}と@code{lie_diff}を実装します。
332 例と一緒にこれらのコマンドの簡潔な記述を見るには、@code{demo (tensor)}を実行してください。
334 @code{cartan}は、F.B. EstabrookとH.D. Wahlquistによって実装されました。
337 @category{Differential geometry}
341 @c -----------------------------------------------------------------------------
343 @deffn {関数} del (@var{x})
345 @code{del (@var{x})}は、変数@math{x}の微分を表します。
348 @code{diff}は、@code{del}を含む式を返します。
349 この場合、戻り値は「全微分」と呼ばれるものです。
353 @c GENERATED FROM THE FOLLOWING
358 (%i1) diff (log (x));
362 (%i2) diff (exp (x*y));
364 (%o2) x %e del(y) + y %e del(x)
366 (%o3) x y del(z) + x z del(y) + y z del(x)
370 @category{Differential calculus}
374 @c -----------------------------------------------------------------------------
376 @deffn {関数} delta (@var{t})
380 今のところ、@code{laplace}だけが@code{delta}を知っています。
385 (%i1) laplace (delta (t - a) * sin(b*t), t, s);
386 Is a positive, negative, or zero?
394 @category{Mathematical functions}
395 @category{Laplace transform}
399 @c -----------------------------------------------------------------------------
400 @anchor{dependencies}
401 @defvr {システム変数} dependencies
404 @code{dependencies}は、
405 @code{depends}や@code{gradef}によって割り当てられた、関数依存を持つアトムのリストです。
406 @code{dependencies}リストは累積的です:
408 @code{depends}や@code{gradef}のコールそれぞれは、上乗せの項目を追加します。
410 @code{depends}と@code{gradef}を参照してください。
413 @category{Declarations and inferences}
414 @category{Global variables}
418 @c -----------------------------------------------------------------------------
420 @deffn {関数} depends (@var{f_1}, @var{x_1}, ..., @var{f_n}, @var{x_n})
422 導関数を計算するために、変数の間の関数依存を宣言します。
424 @code{diff (f, x)}はゼロをもたらします。
425 もし@code{depends (f, x)}が宣言されたら、
426 @code{diff (f, x)}はシンボリックな導関数(すなわち、@code{diff}名詞)をもたらします。
428 それぞれの引数@var{f_1}, @var{x_1}, などは、
429 変数や配列の名前、または名前のリストをとり得ます。
430 @var{f_i} (多分ただ1つの要素)のすべての要素は、
431 @var{x_i} (多分ただ1つの要素)のすべての要素に依存するように宣言されます。
432 もしいくつかの@var{f_i}が、配列名だったり、配列名を含むなら、
433 配列の要素すべては@var{x_i}に依存します。
435 @code{diff}は、@code{depends}によって確立された間接的依存関係を認識し、
438 @code{remove (@var{f}, dependency)}は、@var{f}に関して宣言された
441 @code{depends}は、確立された依存関係のリストを返します。
442 依存関係はグローバル変数@code{dependencies}に適用されます。
443 @code{depends}は引数を評価します。
446 @code{depends}によって確立された依存関係を認識する唯一のMaximaコマンドです。
447 他の関数(@code{integrate}, @code{laplace}, など)は、
448 引数によって陽に表現された依存関係だけを認識します。
449 例えば、@code{integrate}は、
450 @code{integrate (f(x), x)}のように陽に表現されないなら、
451 @code{f}の@code{x}への依存性を認識しません。
453 @c GENERATED BY THE FOLLOWING
454 @c depends ([f, g], x);
455 @c depends ([r, s], [u, v, w]);
460 (%i1) depends ([f, g], x);
462 (%i2) depends ([r, s], [u, v, w]);
463 (%o2) [r(u, v, w), s(u, v, w)]
464 (%i3) depends (u, t);
467 (%o4) [f(x), g(x), r(u, v, w), s(u, v, w), u(t)]
470 (%o5) -- . s + r . --
474 @c GENERATED BY THE FOLLOWING
479 (%o6) -- -- . s + r . -- --
483 @c GENERATED BY THE FOLLOWING
484 @c remove (r, dependency);
487 (%i7) remove (r, dependency);
496 @category{Differential calculus}
497 @category{Declarations and inferences}
501 @c -----------------------------------------------------------------------------
503 @defvr {オプション変数} derivabbrev
506 @code{derivabbrev}が@code{true}の時、
507 シンボリックな導関数(すなわち、@code{diff}名詞)が下付き添字として表示されます。
508 そうでなければ、導関数はライプニッツ表記@code{dy/dx}で表示されます。
510 @c NEED EXAMPLES HERE
512 @category{Differential calculus}
513 @category{Global flags}
517 @c SEEMS LIKE THIS STATEMENT COULD BE LESS CLUMSY
519 @c -----------------------------------------------------------------------------
521 @deffn {関数} derivdegree (@var{expr}, @var{y}, @var{x})
523 @var{expr}に現れる独立変数@var{x}に関する
524 従属変数@var{y}の微分の最高階数を返します。
528 @c GENERATED FROM THE FOLLOWING
529 @c 'diff (y, x, 2) + 'diff (y, z, 3) + 'diff (y, x) * x^2;
530 @c derivdegree (%, y, x);
532 (%i1) 'diff (y, x, 2) + 'diff (y, z, 3) + 'diff (y, x) * x^2;
535 (%o1) --- + --- + x --
538 (%i2) derivdegree (%, y, x);
543 @category{Differential calculus}
544 @category{Expressions}
548 @c I HAVE NO IDEA WHAT THIS DOES
550 @c -----------------------------------------------------------------------------
552 @deffn {関数} derivlist (@var{var_1}, @dots{}, @var{var_k})
554 @code{ev}コマンド内にて、指摘された変数に関する微分のみを起こします。
557 @category{Differential calculus}
558 @category{Evaluation}
562 @c -----------------------------------------------------------------------------
564 @defvr {オプション変数} derivsubst
567 @code{derivsubst}が@code{true}の時、
568 @code{subst (x, 'diff (y, t), 'diff (y, t, 2))}
569 のような非構文法的代入は@code{'diff (x, t)}をもらします。
572 @category{Differential calculus}
573 @category{Expressions}
577 @c -----------------------------------------------------------------------------
579 @deffn {関数} diff (@var{expr}, @var{x_1}, @var{n_1}, @dots{}, @var{x_m}, @var{n_m})
580 @deffnx {関数} diff (@var{expr}, @var{x}, @var{n})
581 @deffnx {関数} diff (@var{expr}, @var{x})
582 @deffnx {関数} diff (@var{expr})
584 @var{expr}の中のすべての変数の中のいくつかに関する、@var{expr}の導関数すなわち微分を返します。
586 @code{diff (@var{expr}, @var{x}, @var{n})}は@var{x}に関する@var{expr}の@var{n}階微分を返します。
588 @code{diff (@var{expr}, @var{x_1}, @var{n_1}, ..., @var{x_m}, @var{n_m})}は
589 @var{x_1}, ..., @var{x_m}に関する@var{expr}の偏微分を返します。
590 これは、@code{diff (... (diff (@var{expr}, @var{x_m}, @var{n_m}) ...), @var{x_1}, @var{n_1})}と同値です。
592 @code{diff (@var{expr}, @var{x})}は変数@var{x}に関する@var{expr}の1階微分を返します。
594 @code{diff (@var{expr})}は@var{expr}の全微分を返します。
595 すなわち、それぞれの変数に関する@var{expr}の微分に変数それぞれの微分@code{del}を掛けたものの和を返します。
596 @c WHAT DOES THIS NEXT STATEMENT MEAN, EXACTLY ??
597 @code{del}の更なる整理は提供されません。
599 @code{diff}の名詞形式が、微分方程式を記述する時など、いくつかの文脈で要求されます。
600 これらの場合、@code{diff}は、微分が実行される代わりに名詞形式を出力するために
601 (@code{'diff}として)クォートされるかもしれません。
603 @code{derivabbrev}が@code{true}の時、導関数は下付き添字として表示されます。
604 そうでなければ、導関数はライブニツ記法の@code{dy/dx}で表示されます。
608 @c GENERATED FROM THE FOLLOWING
609 @c diff (exp (f(x)), x, 2);
610 @c derivabbrev: true$
611 @c 'integrate (f(x, y), y, g(x), h(x));
614 (%i1) diff (exp (f(x)), x, 2);
617 (%o1) %e (--- (f(x))) + %e (-- (f(x)))
620 (%i2) derivabbrev: true$
621 (%i3) 'integrate (f(x, y), y, g(x), h(x));
633 (%o4) I f(x, y) dy + f(x, h(x)) h(x) - f(x, g(x)) g(x)
639 テンソルパッケージのために、以下の変更が取り込まれています:
641 (1) @var{expr}の中の任意のインデックスされたオブジェクトの導関数は、追加された引数として添えられた変数@var{x_i}を持ちます。
642 そして導関数のインデックスはすべてソートされます。
644 (2) @var{x_i}は、1から変数@code{dimension} [デフォルト値: 4]の値までの整数を取ります。
645 これにより、例えば @code{[x, y, z, t]}など
646 座標名のリストして設定されたリスト@code{coordinates}の@var{x_i}番目のメンバーに関する微分が実行されます。
647 もし@code{coordinates}がアトムの変数にバインドされているなら、@var{x_i}で下付き添字された変数が、微分の変数として使われます。
648 これにより、座標名や@code{X[1]}, @code{X[2]}, @dots{}のような下付き添字された名前の配列が使えることになります。
649 もし@code{coordinates}に値が割り当てられていないなら、変数は上の(1)のように扱われます。
651 @c NEED EXAMPLES FOR TENSOR STUFF
653 @category{Differential calculus}
657 @c MERGE THIS INTO @defun diff
659 @c -----------------------------------------------------------------------------
663 @code{ev}コールの中で、@code{evflag}として@code{diff}が存在する時、
664 @code{expr}の中で表現されたすべての微分は実行されます。
669 @c NOT SURE HOW THIS IS SUPPOSED TO WORK
671 @c -----------------------------------------------------------------------------
673 @deffn {関数} dscalar (@var{f})
675 スカラーのダランベルシアンをスカラー関数に@var{f}に適用します。
677 @c APPARENTLY dscalar DOESN'T EXIST IN THE CORE FILES ANYMORE
678 @c ctensor HAS THE ONLY DEFN I FOUND (OUTSIDE OF archive/)
679 @code{load ("ctensor")}はこの関数をロードします。
681 @c FOLLOWING EXAMPLE DOESN'T WORK; I GET dscalar (field) ==> 0
682 @c (I GET 0 FOR THE ctensor VERSION OF dscalar, AND SAME FOR
683 @c THE DEFN OF dscalar GIVEN IN archive/share/lisp/ctensr.trl)
684 @c INCIDENTALLY dependencies IS DOCUMENTED ONLY AS A VARIABLE
687 @c (%i41) dependencies(field(r));
689 @c (%i42) dscalar(field);
692 @c %e ((field n - field m + 2 field ) r + 4 field )
695 @c - -----------------------------------------------------
700 @category{Differential calculus}
701 @category{Package ctensor}
705 @c -----------------------------------------------------------------------------
707 @deffn {関数} express (@var{expr})
709 @c HERE IS THE PREVIOUS TEXT. WHAT IS THE POINT ABOUT depends ?? I'M NOT GETTING IT
710 @c The result uses the noun form of any
711 @c derivatives arising from expansion of the vector differential
712 @c operators. To force evaluation of these derivatives, the built-in @code{ev}
713 @c function can be used together with the @code{diff} evflag, after using the
714 @c built-in @code{depends} function to establish any new implicit dependencies.
716 微分演算子名詞を偏微分を使った式に展開します。
717 @code{express}は、演算子@code{grad}, @code{div}, @code{curl}, @code{laplacian}を
719 @code{express}は、外積@code{~}も展開します。
721 expressの戻り値の中のシンボリックな導関数(すなわち、@code{diff}名詞)は、
722 @code{ev}関数コールまたはコマンドラインに@code{diff}を含むことによって、評価されることができます。
723 この文脈では、@code{diff}は@code{evfun}として振る舞います。
725 @code{load ("vect")}はこの関数をロードします。
726 @c IN POINT OF FACT, express IS A SIMPLIFICATION RULE, AND express1 IS THE FCN WHICH DOES ALL THE WORK
730 @c GENERATED FROM THE FOLLOWING
732 @c grad (x^2 + y^2 + z^2);
735 @c div ([x^2, y^2, z^2]);
738 @c curl ([x^2, y^2, z^2]);
741 @c laplacian (x^2 * y^2 * z^2);
744 @c [a, b, c] ~ [x, y, z];
748 (%i2) grad (x^2 + y^2 + z^2);
750 (%o2) grad (z + y + x )
752 d 2 2 2 d 2 2 2 d 2 2 2
753 (%o3) [-- (z + y + x ), -- (z + y + x ), -- (z + y + x )]
756 (%o4) [2 x, 2 y, 2 z]
757 (%i5) div ([x^2, y^2, z^2]);
759 (%o5) div [x , y , z ]
762 (%o6) -- (z ) + -- (y ) + -- (x )
765 (%o7) 2 z + 2 y + 2 x
766 (%i8) curl ([x^2, y^2, z^2]);
768 (%o8) curl [x , y , z ]
770 d 2 d 2 d 2 d 2 d 2 d 2
771 (%o9) [-- (z ) - -- (y ), -- (x ) - -- (z ), -- (y ) - -- (x )]
775 (%i11) laplacian (x^2 * y^2 * z^2);
777 (%o11) laplacian (x y z )
780 d 2 2 2 d 2 2 2 d 2 2 2
781 (%o12) --- (x y z ) + --- (x y z ) + --- (x y z )
786 (%o13) 2 y z + 2 x z + 2 x y
787 (%i14) [a, b, c] ~ [x, y, z];
788 (%o14) [a, b, c] ~ [x, y, z]
790 (%o15) [b z - c y, c x - a z, a y - b x]
794 @category{Differential calculus}
800 @c COMMENTING OUT THIS TEXT PENDING RESOLUTION OF BUG REPORT # 836704:
801 @c "gendiff is all bugs: should be deprecated"
803 @c Sometimes @code{diff(e,x,n)} can be reduced even though N is
810 @c and you can try, for example,
813 @c diff(%e^(a*x),x,q)
816 @c by using @code{gendiff} rather than @code{diff}. Unevaluable
817 @c items come out quoted. Some items are in terms of @code{genfact}, which
822 @c -----------------------------------------------------------------------------
824 @deffn {関数} gradef (@var{f}(@var{x_1}, @dots{}, @var{x_n}), @var{g_1}, ..., @var{g_m})
825 @deffnx {関数} gradef (@var{a}, @var{x}, @var{expr})
827 関数@var{f}もしくは変数@var{a}の偏微分(すなわち、勾配の成分)を定義します。
829 @code{gradef (@var{f}(@var{x_1}, ..., @var{x_n}), @var{g_1}, ..., @var{g_m})}は、
830 @code{d@var{f}/d@var{x_i}}を@var{g_i}として定義します。
831 ここで、@var{g_i}は式です; @var{g_i}は関数コールでもあり得ますが、関数名ではありません。
832 偏微分の数@var{m}は、引数の数@var{n}よりもちいさいかもしれません。
833 その場合、微分は@var{x_1}から@var{x_m}までのみに関して定義されます。
835 @code{gradef (@var{a}, @var{x}, @var{expr})}は、
836 変数@var{a}の@var{x}に関する微分を@var{expr}と定義します。
837 これは、 (@code{depends (@var{a}, @var{x})}を介して)
838 @var{a}の@var{x}への依存性を確立もします。
840 最初の引数@code{@var{f}(@var{x_1}, ..., @var{x_n})}または@var{a}はクォートされますが、
841 残りの引数@var{g_1}, ..., @var{g_m}は評価されます。
842 @code{gradef}は偏微分が定義された関数や変数を返します。
844 @code{gradef}は、Maximaの組み込み関数の微分を再定義できます。
845 例えば、@code{gradef (sin(x), sqrt (1 - sin(x)^2))}は、
846 @code{sin}の微分を再定義します。
848 @code{gradef}は、添字付き関数の偏微分を定義できません。
850 @code{printprops ([@var{f_1}, ..., @var{f_n}], gradef)}は、
851 関数@var{f_1}, ..., @var{f_n}の偏微分を
852 @code{gradef}で定義されたように、表示します。
854 @code{printprops ([@var{a_n}, ..., @var{a_n}], atomgrad)}は、
855 変数@var{a_n}, ..., @var{a_n}の偏微分を
856 @code{gradef}で定義されたように、表示します。
858 @code{gradefs}は、偏微分が@code{gradef}によって定義された
861 偏微分が@code{gradef}によって定義されたいかなる変数も含みません。
863 @c REPHRASE THIS NEXT BIT
864 例えば、関数が陽に知られていないが、一階微分が知られていて、
865 高階の微分を得ることが望まれる時、勾配が必要です。
867 @c NEED EXAMPLES HERE
869 @category{Differential calculus}
870 @category{Declarations and inferences}
874 @c -----------------------------------------------------------------------------
876 @defvr {システム変数} gradefs
879 @code{gradefs}は、偏微分が@code{gradef}によって定義された
882 偏微分が@code{gradef}によって定義されたいかなる変数も含みません。
885 @category{Differential calculus}
886 @category{Declarations and inferences}
890 @c -----------------------------------------------------------------------------
892 @deffn {関数} laplace (@var{expr}, @var{t}, @var{s})
894 変数@var{t}に関するラブラス変換@var{expr}を計算し、パラメータ@var{s}に変換しようとします。
898 @code{derivative}, @code{integrate}, @code{sum}, @code{ilt}はもちろん、
899 関数@code{delta}, @code{exp},
900 @code{log}, @code{sin}, @code{cos}, @code{sinh}, @code{cosh}, and @code{erf}
902 もし、laplaceが変換を見つけられなかったら、
903 関数@code{specint}がコールされます。
905 ベッセル関数@code{bessel_j}, @code{bessel_i}, @dots{}のような
906 特殊関数を含む式のラプラス変換を見つけることができ、
907 @code{unit_step}関数を扱うことができます。
908 @code{specint}も参照してください。
910 もし@code{specint}も解を見つけられないなら、
911 名詞@code{laplace}が返されます。
914 @var{expr}は、従属変数の@code{atvalue}が使われる線形定数係数微分方程式であるかもしれません。
915 @c "used" -- USED HOW ??
917 変換が計算される前か後に供給されるかもしれません。
918 初期条件がゼロで指定されなければいけないので、
920 一般解にそれらを課すことができ、それらに関して一般解を解き、それらの値を代入し返すことによって、
924 @code{integrate (f(x) * g(t - x), x, 0, t)}の畳み込み積分を認識します;
927 関数関係は、 @var{expr}で陽に表現されなければいけません;
928 @code{depends}で確立した暗黙の関係は認識されません。
929 例えば、もし@var{f}が@var{x}と@var{y}に依存するなら、
930 @code{f (x, y)}が@var{expr}の中に現れなければいけません。
932 逆ラプラス変換@code{ilt}も参照してください。
936 @c GENERATED FROM THE FOLLOWING:
937 @c laplace (exp (2*t + a) * sin(t) * t, t, s);
938 @c laplace ('diff (f (x), x), x, s);
939 @c diff (diff (delta (t), t), t);
940 @c laplace (%, t, s);
942 (%i1) laplace (exp (2*t + a) * sin(t) * t, t, s);
945 (%o1) ---------------
948 (%i2) laplace ('diff (f (x), x), x, s);
949 (%o2) s laplace(f(x), x, s) - f(0)
950 (%i3) diff (diff (delta (t), t), t);
956 (%i4) laplace (%, t, s);
959 (%o4) - -- (delta(t))! + s - delta(0) s
963 (%i6) laplace(gamma_incomplete(a,t),t,s),gamma_expand:true;
966 (%o6) -------- - -----------------
970 (%i7) factor(laplace(gamma_incomplete(1/2,t),t,s));
972 sqrt(%pi) (sqrt(s) sqrt(-----) - 1)
974 (%o7) -----------------------------------
978 (%i8) assume(exp(%pi*s)>1)$
979 (%i9) laplace(sum((-1)^n*unit_step(t-n*%pi)*sin(t),n,0,inf),t,s),
983 ------------------------ - ------------------------
985 (s + %i) (1 - %e ) (s - %i) (1 - %e )
986 (%o9) ---------------------------------------------------
992 (%o9) -------------------------------
994 (s - %i) (s + %i) (%e - 1)
999 @category{Laplace transform}
1000 @category{Differential equations}