Next: プロット, Previous: エレメンタリー関数 [Contents][Index]
11 マキシマのデータベース
マキシマのデータベース紹介
プロパティの関数と変数
ファクトの関数と変数
予測の関数と変数
Next: プロパティの関数と変数, Previous: マキシマのデータベース, Up: マキシマのデータベース [Contents][Index]
11.1 マキシマのデータベースの紹介
Next: Functions and Variables for Facts, Previous: Introduction to Maxima’s Database, Up: Maxima’s Database [Contents][Index] 関数と変数を用いたデータベースの構築。
11.2 プロパティの関数と変数
プロパティ: アルファベット
アルファベットは declare によって認識されるプロパティ型です。式 declare(s, alphabetic) は Maxima に、文字列でなければならない s のすべての文字をアルファベットで認識するように指示します。
識別子も参照してください。
例:
(%i1) xx\~yy\`\@ : 1729;
(%o1) 1729
(%i2) declare ("~`@", alphabetic);
(%o2) が完了しました
(%i3) xx~yy`@ + @yy`xx + `xx@@yy~;
(%o3) `xx@@yy~ + @yy`xx + 1729
(%i4) listofvars (%);
(%o4) [@yy`xx, `xx@@yy~]
カテゴリー: 宣言と推論 ·
プロパティ: bindtest
コマンド declare(x, bindtest) は、シンボル x がバインドされていないと評価された場合にエラーをトリガーするように Maxima に指示します。
(%i1) aa + BB;
(%o1) BB + aa
(%i2) declare (aa, bindtest);
(%o2) が完了しました
(%i3) aa + BB;
aa unbound 変数
- - エラー。やめる。これをデバッグするには、 debugmode(true)を試してください。
(%i4) aa : 1234;
(%o4) 1234
(%i5) aa + BB;
(%o5) BB + 1234
プロパティ: constant
declare(a, constant) は a を一定と宣言します。シンボルの定数を宣言しても、シンボルに非定数値を割り当てることはできません。
constantp と declare を参照してください。
例:
(%i1) declare(c, constant);
(%o1) done
(%i2) constantp(c);
(%o2) true
(%i3) c : x;
(%o3) x
(%i4) constantp(c);
(%o4) false
カテゴリー: 宣言と推論 · 定数 ·
Function: constantp (expr)
expr が定数であれば true を返し、そうでなければ false を返します。
式は、引数が数値 ( / R / で表示される合理的な数値を含む ) 、 %pi、 %e、 %i などの象徴定数、定数に結びついた変数、または定数に宣言された変数、または引数が定数である関数である場合、定数とみなされます。
constantp は引数を評価します。
シンボルを定数と宣言するプロパティ定数を参照してください。
例:
(%i1) constantp (7 * sin(2));
(%o1) true
(%i2) constantp (rat (17/29));
(%o2) true
(%i3) constantp (%pi * sin(%e));
(%o3) true
(%i4) constantp (exp (x));
(%o4) false
(%i5) declare (x, constant);
(%o5) が完了しました
(%i6) constantp (exp (x));
(%o6) true
(%i7) constantp (foo (x) + bar (%e) + baza (2));
(%o7) false
(%i8)
カテゴリ: 予測関数 · 定数 ·
関数: declare (a_1, p_1, a_2, p_2,...)
原子または原子のリスト a_i プロパティまたはプロパティ p_i のリストを割り当てます。a_i や p_i がリストの場合、各原子はすべてのプロパティを取得します。
declare は引数を引用します。常に返品を宣言します。
各宣言フラグの説明に記載されているように、一部のフラグでは featurep(object, feature) は、 feature を持つオブジェクトが宣言されている場合に true を返します。
機能システムの詳細については、機能を参照してください。原子からプロパティを削除するには、 remove を使用します。
declare は以下のプロパティを認識します。
添加剤
a_i(x + y + z +...) を置換して a_i 式を単純化するように Maxima に指示します。(x) + a_i(y) + a_i(z) + 。...置換は最初の引数でのみ実行されます。
アルファベット順
a_i (文字列でなければならない) のすべての文字をアルファベット文字として認識するようにMaximaに指示します。
対称性、交互性、対称性
a_i を対称関数または対称関数として認識するように Maxima に指示します。交互は対称と同じです。
バインドテスト
a_i がアンバウンドと評価されると、Maxima にエラーをトリガーするように指示します。
定数
a_i をシンボリック定数として考慮するようにマキシマに指示します。
even, odd 奇妙
a_i を偶数または奇数整数変数として認識するように Maxima に指示します。
evenfun, oddfun
a_i を奇数関数または偶数関数として認識するように Maxima に指示します。
evflag
ev のフラグ引数として a_i が現れた場合、 ev の実行中に a_i が true にバインドされるように、 ev 関数に a_i を通知します。
evfun
a_i が ev のフラグ引数として現れたときに a_i で名付けられた関数が適用されるように、 ev に a_i を通知します。
特徴
マキシマに、a_i を機能の名前として認識するように指示します。その後、他の原子は a_i プロパティを持っていると宣言することができます。
増加、減少
Maximaにa_iを増減関数として認識するように指示します。
integer, noninteger
a_i を整数変数または非整数変数として認識するように Maxima に指示します。
整数値
a_i を整数値関数として認識するように Maxima に指示します。
連想, 連想
a_i を右関数または左関数として認識するように Maxima に指示します。
線形
a_i を outative と additive の両方で宣言するのと同じです。
mainvar
a_i を "main variable" と見なすように Maxima に指示します。メイン変数は、ordergreatp で決まる Maxima 式の正規表現の他のすべての定数と変数に 従います。
多重
a_i(x * y * z *...) --> a_i を置換して a_i 式を単純化するように Maxima に指示する(x) * a_i(y) * a_i(z) *....置換は最初の引数でのみ実行されます。
ナリー
a_i を nary 関数として認識するように Maxima に指示します。
nary 宣言は nary 関数を呼び出すのと同じではありません。declare(foo, nary) の唯一の効果は、 Maxima シンプル化ツールにネストされた式をフラット化するように指示することです。たとえば、 foo(x, foo(y, z)) を foo(x, y, z) にシンプル化します。
非配列
マキシマに、a_i は配列ではないと見なすように指示します。この宣言は、サブスクリプト化された変数名の複数の評価を防ぎます。
非スケーラ
a_i を nonscalar 変数とみなすように Maxima に指示します。通常のアプリケーションは、変数をシンボリックベクトルまたは行列として宣言することです。
名詞
Maximaに名詞としてa_iを解析するように指示します。この効果は、コンテキストに応じて、a_iのインスタンスを'a_iまたはnounify(a_i)に置き換えることです。
外部
最初の引数から一定の要素を引くことで、a_i 式を単純化するように Maxima に指示します。
a_i が一つの引数を持っている場合、それがリテラルまたは宣言された定数である場合、ファクタは定数と見なされます。
a_i が 2 つ以上の引数を持っている場合、2 番目の引数がシンボルであり、 factor が 2 番目の引数を含まない場合、 factor は一定とみなされます。
posfun
a_i を正の関数として認識するように Maxima に指示します。
合理的、不合理
マキシマに、a_i を合理的または不合理な実変数として認識するように指示します。
本物の、想像上の、複雑な
マキシマに、a_i を実際の、純粋な想像上の、または複雑な変数として認識するように指示します。
スカラー
Maximaにa_iをスカラー変数として考慮するように指示します。
プロパティの使用例は、プロパティの個別の説明ごとにドキュメントに記載されています。
カテゴリー: 宣言と推論 ·
プロパティ: 減少
プロパティ: 増加
コマンド declare(f, decreasing) または declare(f, increasing) は、関数 f を decreasing または increasing 関数として認識するようにマキシマに指示します。
他のプロパティについては、宣言も参照してください。
例:
(%i1) assume(a > b);
(%o1) [a > b]
(%i2) is(f(a) > f(b));
(%o2) 不明
(%i3) declare(f, increasing);
(%o3) が完了しました
(%i4) is(f(a) > f(b));
(%o4) true
カテゴリー: 宣言と推論 ·
プロパティ: 偶数
プロパティ: odd
declare(a, even) または declare(a, odd) は、マキシマがシンボル a を偶数または奇数の整数変数として認識するように指示します。even と odd のプロパティは evenp, oddp, integerp 関数では認識されません。
declare と askinteger も参照してください。
例:
(%i1) declare(n, even);
(%o1) done
(%i2) askinteger(n, even);
(%o2) はい
(%i3) askinteger(n);
(%o3) はい
(%i4) evenp(n);
(%o4) false
カテゴリー: 宣言と推論 ·
プロパティ: 機能
マキシマは、数学的表現に適用される2つの特徴、システムの特徴、および特徴を理解しています。システム機能に関する情報は、 ステータス もご覧下さい。数学的特徴に関する情報は features と featurep も参照してください。
feature 自身は関数や変数の名前ではありません。
Function: featurep (a, f)
オブジェクト a が現在のデータベースの事実に基づいて機能 f を持っているかどうかを判断しようとします。もしそうなら、それはtrue、そうでなければfalseを返します。
f も f の否定も確立できない場合、 featurep は false を返すことに注意してください。
featurep は引数を評価します。
宣言と機能も参照してください。
(%i1) declare (j, even)$
(%i2) featurep (j, integer);
(%o2) true
カテゴリー: 予測関数 · 宣言と推論 ·
宣言: 機能
マキシマは関数や変数の特定の数学的性質を認識します。これらは「機能」と呼ばれます。
declare (x, foo) は関数または変数 x に foo プロパティを与えます。
declare (foo, feature) は新規の feature foo を宣言します。たとえば、 declare ([red, green, blue]、feature) は、赤、緑、青の 3 つの新機能を宣言します。
述語 featurep (x, foo) は、x が foo プロパティを持ち、false を返します。
インフォリストの機能は、既知の機能のリストです。これらは
整数 noninteger even
奇妙な理性的不合理
本物の架空の複合体
分析の増加と減少
oddfun evenfun posfun
絶え間ない交代性結合
社会的対称性 対称性
整数値
ユーザー定義の機能に加えて。
特徴は数学的特徴のリストです。数学的でないシステム依存の機能のリストもあります。ステータスを参照してください。
例:
(%i1) declare (FOO, feature);
(%o1) done
(%i2) declare (x, FOO);
(%o2) が完了しました
(%i3) featurep (x, FOO);
(%o3) true
カテゴリー: 宣言と推論 ·
Function: get (a, i)
i が示すユーザプロパティを atom a に関連付けた場合に取得するか、a にプロパティ i がない場合は false を返します。
get は引数を評価します。
put と qput も参照してください。
(%i1) put (%e, 'transcendental, 'type);
(%o1) 超越
(%i2) put (%pi, 'transcendental, 'type)$
(%i3) put (%i, 'algebraic, 'type)$
(%i4) typeof (expr) := block ([q],
if numberp (expr)
次に戻ります ('algebraic') 。
if not atom (expr)
次に、 return (maplist ('typeof, expr) ) を返します。
q: get (expr, 'type),
もし q=false
次に errcatch (error(expr,"is not numeric.")) else q)$
(%i5) typeof (2*%e + x*%pi);
x は数値ではありません。
(%o5) [[transcendental, []], [algebraic, transcendental]]
(%i6) typeof (2*%e + %pi);
(%o6) [transcendental, [algebraic, transcendental]]
カテゴリー: 宣言と推論 ·
プロパティ: 整数
プロパティ: 非整数
declare(a, integer) または declare(a, noninteger) は、Maxima が a を整数変数または非整数変数として認識するように指示します。
宣言も参照してください。
例:
(%i1) declare(n, integer, x, noninteger);
(%o1) done
(%i2) askinteger(n);
(%o2) はい
(%i3) askinteger(x);
(%o3) no
カテゴリー: 宣言と推論 ·
プロパティ: 整数値
declare(f, integervalued) は Maxima に f を整数値関数として認識するように指示します。
宣言も参照してください。
例:
(%i1) exp(%i)^f(x);
%i f(x)
(%o1) (%e )
(%i2) declare(f, integervalued);
(%o2) が完了しました
(%i3) exp(%i)^f(x);
%i f(x)
(%o3) %e
カテゴリー: 宣言と推論 ·
プロパティ: nonarray
コマンド declare(a, nonarray) は Maxima に配列ではない配列を考慮するように指示します。a がサブスクリプト変数である場合、この宣言は複数の評価を防ぎます。
宣言も参照してください。
例:
(%i1) a:'b$ b:'c$ c:'d$
(%i4) a[x];
(%o4) d
x
(%i5) declare(a, nonarray);
(%o5) が完了しました
(%i6) a[x];
(%o6) a
x
カテゴリー: 表現 ·
プロパティ: 非スケール
ドット演算子に関してリストまたは行列のように原子が動作するようにします。
宣言も参照してください。
カテゴリー: 宣言と推論 · ベクトル · マトリックス ·
Function: nonscalarp (expr)
expr が非スカラーである場合は true を返します。 つまり、非スカラー、リスト、または行列として宣言された原子が含まれています。
述語関数 scalarp と declare も参照してください。
カテゴリ: 予測関数 · ベクトル · マトリックス ·
プロパティ: posfun
declare (f, posfun) は、f が正の関数であることを宣言します。is (f(x) > 0) yield true.
宣言も参照してください。
カテゴリー: 宣言と推論 · オペレーター ·
機能: printprops
printprops (a, i)
printprops ([a_1,..., a_n], i)
printprops (all, i)
原子に関連付けられたインジケーター i でプロパティを表示します。aはまた、与えられた特性を持つすべての原子が使用される原子または原子のリストであるかもしれません。例えば printprops ([f, g], atvalue) です。printprops は、別途表示できないプロパティ、すなわち atvalue、atomgrad、gradef、および matchdeclare を指定します。
カテゴリ: 宣言と推論 · ディスプレイ機能 ·
Function: プロパティ (a)
原子に関連付けられているすべてのプロパティの名前の一覧を返します。
カテゴリー: 宣言と推論 ·
システム変数: props
デフォルト値 : [ ]
小道具とは、atvalue、matchdeclareなどで指定するなど、インフォリストに明示的に記載されている以外の特性と、宣言関数で指定する特性を持つ原子です。
カテゴリー: 宣言と推論 · グローバル変数 ·
関数: propvars (prop)
prop で指定したプロパティを持つ原子のリストをprops リストに戻します。したがって、provars(atvalue)は、atvaluesを持つ原子のリストを返します。
カテゴリー: 宣言と推論 ·
Function: put (atom, value, indicator)
原子のプロパティ(インジケータで指定された)に値を割り当てます。インジケータは、システム定義プロパティだけでなく、任意のプロパティの名前です。
rem は put の効果を逆にします。
putはその引数を評価します。値を返します。
qput と get も参照してください。
例:
(%i1) put (foo, (a+b)^5, expr);
5
(%o1) (b + a)
(%i2) put (foo, "Hello", str);
(%o2) こんにちは
(%i3) プロパティ (foo);
(%o3) user properties, str, expr?
(%i4) get (foo, expr);
5
(%o4) (b + a)
(%i5) get (foo, str);
(%o5) こんにちは
カテゴリー: 宣言と推論 ·
Function: qput (atom, value, indicator)
原子のプロパティ(インジケータで指定された)に値を割り当てます。これは引数が引用符で囲まれていることを除いて、 put と同じです。
参照してください。
例:
(%i1) foo: aa$
(%i2) bar: BB$
(%i3) base: cc$
(%i4) put (foo, bar, base);
(%o4) BB
( % i5) プロパティ (aa ) ;
(%o5) user properties, cc?
(%i6) get (aa, cc);
(%o6) BB
(%i7) qput (foo, bar, base);
(%o7) bar
(%i8) プロパティ (foo);
(%o8) [value, [user properties, base]]
(%i9) get ('foo, 'baz);
(%o9) bar
カテゴリー: 宣言と推論 ·
プロパティ: 合理的
プロパティ: 不合理
declare(a, rational) または declare(a, irrational) は Maxima に、a を合理的または不合理な実変数として認識するように指示します。
宣言も参照してください。
カテゴリー: 宣言と推論 ·
プロパティ: リアル
物件: 架空
プロパティ: 複合
declare(a, real ) 、 declare(a, imaginary ) 、 または declare(a, complex) は、a を現実、純粋な想像、または複雑な変数として認識するようマキシマに指示します。
宣言も参照してください。
カテゴリー: 宣言と推論 ·
Function: rem (atom, indicator)
インジケータで示されたプロパティを原子から取り除きます。rem は put の効果を逆にします。
rem は、 atom が rem が呼び出されたときにインジケータープロパティを持っていた場合や、 atom がそのようなプロパティを持っていなかった場合に false を返します。
カテゴリー: 宣言と推論 ·
関数: remove
remove (a_1, p_1,..., a_n, p_n)
remove ([a_1,..., a_m], [p_1,..., p_n],...)
remove ( " a ", operator)
remove (a, transfun)
remove (all, p)
原子に関連する特性を除去します。
remove (a_1, p_1,..., a_n, p_n) atom a_k からプロパティ p_k を削除します。
remove ([a_1,..., a_m], [p_1,..., p_n],...) は、原子 a_1,..., a_m からプロパティ p_1,..., p_n を削除します。リストのペアが複数ある場合があります。
remove (all, p) は、それを持っているすべての原子からプロパティ p を除去します。
削除されたプロパティは、関数、マクロ、 mode_declare などのシステム定義プロパティです。remove は put で定義されたプロパティを削除しません。
プロパティは、翻訳された Lisp バージョンの関数を削除するために transfun される場合があります。これを実行した後、翻訳されたバージョンではなく、関数のMaximaバージョンが実行されます。
remove ( " a ", operator ) 、 または同様に remove ( " a ", op) prefix, infix, nary, postfix, matchfix, or nofix で宣言された operator プロパティから削除します。オペレータ名は引用符で囲まれた文字列でなければならないことに注意してください。
原子が指定されたプロパティを持っているかどうかに関係なく、常に返されるリターンを削除します。この挙動は、より具体的な remove 関数 remvalue, remarray, remfunction, and remrule と異なります。
引数を引用符を削除します。
カテゴリー: 宣言と推論 ·
プロパティ: スカラー
declare(a, scalar) は Maxima にスカラー変数を考慮するように指示します。
宣言も参照してください。
カテゴリー: 宣言と推論 ·
Function: scalarp (expr)
expr が数値、定数、または変数である場合は true を返します。 declared scalar with declare、または、数値、定数、およびそのような変数で構成されていますが、行列やリストは含まれていません。
述語関数 nonscalarp も参照してください。
カテゴリ: 予測関数 · ベクトル · マトリックス ·
Next: Functions and Variables for Predicates, Previous: Functions and Variables for Properties, Up: Maxima’s Database [Contents][Index] 関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を予測するための関数と変数を
11.3 ファクトの関数と変数
Function: activate (context_1,..., context_n)
contexts context_1,..., context_n を有効にします。これらのコンテキスト内の事実は、控除を行い、情報を取得するために利用可能になります。これらの文脈における事実は、事実 ( ) で示されていません。
変数 activecontexts は activate 関数によってアクティブなコンテキストのリストです。
カテゴリー: 宣言と推論 ·
システム変数: activecontexts
デフォルト値 : [ ]
activecontexts は、現在のコンテキストのサブコンテキストであるため、アクティブであるのではなく、アクティブな関数によってアクティブなコンテキストのリストです。
カテゴリー: 宣言と推論 ·
機能: 等価
askequal (expr1, expr2)
askequal(expr1, expr2) は、expr1 が expr2 に等しいかどうかを仮定データベースから判定しようと試み、それが判別できない場合にユーザーにプロンプトを送ります。
ユーザーが答えを提供した場合、その答えは現在進行中の式の評価期間中、仮定データベースに保存されます。評価が完了すると、ユーザー提供の回答がデータベースから削除されます。
askequalは、答えが仮定データベースから決定されたか、ユーザーによって提供されたかどうかにかかわらず、はいまたはいいえを返します。
等しいことも参照してください。
カテゴリー: 宣言と推論 ·
機能: askinteger
askinteger (expr, 整数)
askinteger (expr)
askinteger (expr, even)
askinteger (expr, odd)
askinteger (expr, integer) は、expr が整数であるかどうかを仮定データベースから判定しようとします。askinteger は、ユーザーに他の方法で通知できない場合にプロンプトを表示し、可能であればデータベースに情報をインストールしようとします。askinteger (expr) は askinteger (expr, integer) と等価です。
askinteger (expr, even) と askinteger (expr, odd) も同様に、expr が偶数整数か奇数整数かを判定しようとします。
カテゴリー: 宣言と推論 ·
Function: asksign (expr)
最初に、指定された式が正、負、またはゼロであるかどうかを判断しようとします。できない場合は、ユーザーにその控除を完了するために必要な質問を尋ねます。ユーザの回答は、現在の計算期間中、データベースに記録されます。asksign の戻り値は、pos、neg、または zero のいずれかです。
カテゴリー: 宣言と推論 ·
Function: assume (pred_1,..., pred_n)
追加すると、現在のコンテキストに pred_1,..., pred_n が述べられます。述語が現在のコンテキストの述語と矛盾しているか冗長である場合、コンテキストに追加されません。コンテキストは、想定する各呼び出しから述語を蓄積します。
要素がコンテキストに追加された述語または原子が冗長であるか、または該当する場合は矛盾しているリストを返します。
pred_1,..., pred_n は、リレーショナル演算子 < <= equal notequal >= および > でのみ表現できます。予測は、リテラル イコール = またはリテラル 不等式 # にはできず、整数などの関数を予測することもできません。
pred_1 と... と pred_n の複合型の述語が認識されますが、 pred_1 や... や pred_n は認識されません。pred_k がリレーショナルな述語であれば pred_k は認識されません。(pred_1 および pred_2) でない、または (pred_1 および pred_2) でないフォームの式は認識されません。
マキシマの控除メカニズムはあまり強くありません。 明らかな結果はたくさんあります。これは既知の弱点です。
複雑な数字の述語を扱わないとします。複雑な数値が含まれている場合、返り値は一貫性がないか冗長であると仮定します。
assume はその引数を評価します。
事実、忘れ、文脈、宣言も参照してください。
例:
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
(%i2) assume (aa < BB と BB < cc);
(%o2) [bb > aa, cc > BB]
(%i3) 事実 ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, BB > aa, cc > BB]
(%i4) は (xx > yy) です。
(%o4) true
(%i5) は (yy < -yy) です。
(%o5) true
(%i6) は (sinh (bb - aa) > 0);
(%o6) true
(%i7) 忘れる (bb > aa);
(%o7) [bb > aa]
(%i8) prederror : false;
(%o8) false
(%i9) は (sinh (bb - aa) > 0);
(%o9) 未知
(%i10) は (bb^2 < cc^2);
(%o10) 未知
カテゴリー: 宣言と推論 ·
オプション変数: asshafalar
デフォルト値: true
アッサンカラーは、nonscalarp(expr)が偽である式exprが特定の変換のスカラーのように振る舞うと仮定されるかどうかを制御するのに役立ちます。
expr はリストまたは行列以外の式を表し、[1, 2, 3) はリストまたは行列を表します。それから expr 。[1, 2, 3) yields [expr, 2 expr, 3 expr] if assojaalar is true, or scalarp (expr) is true, or constantp (expr) is true. もし、scalarp (expr) が真であるならば、[1, 2, 3) yields [expr, 2 expr, 3 expr] if assojaalar is true, or scalarp (expr) is true, or constantp (expr) is true.
仮定値が真であれば、そのような式は通勤演算子のみにスケーラのように振る舞いますが、 非通勤乗算 には振る舞いません。.
アッサンダラーが偽の場合、そのような式は非スケーラーのように振る舞います。
アッサンダラーがすべての場合、そのような式は上記のすべての演算子のスカラーのように振る舞います。
カテゴリー: 宣言と推論 ·
オプション変数: assume_pos
デフォルト値: false
assume_pos が true で、パラメータ x のサインが現在のコンテキストやその他の考慮事項から判定できない場合、sign と asksign (x) は true を返します。これにより、統合やその他の計算から生じる可能性があるなど、自動的に生成されるいくつかの質問サインクエリが予測される可能性があります。
デフォルトでは、パラメータは symbolp (x) または subvarp (x) のような x です。パラメータとみなされる式のクラスは、変数 assume_pos_pred を介してある程度変更できます。
sign と asksign は、式内のオペランドのサインから式のサインを推論しようとします。たとえば、a と b が両方とも正の場合、+ b も正です。
ただし、すべての asksign クエリをバイパスする方法はありません。特に、 asksign 引数が差分 x - y か対数 log(x) の場合、assume_pos が true で、assume_pos_pred がすべての引数に対して true を返す関数であっても、 asksign は常にユーザからの入力を要求します。
カテゴリー: 宣言と推論 ·
オプション変数: assume_pos_pred
デフォルト値: false
assume_pos_pred が関数の名前または 1 つの引数の x のラムダ式を割り当てられた場合、その関数は x が assume_pos のパラメータとみなされるかどうかを判断するために呼び出されます。assume_pos_pred は、assume_pos が false の場合には無視されます。
assume_pos_pred 関数は、引数 x が原子、サブスクリプト変数、または関数呼び出し式のいずれかである場合に、 sign と asksign で呼び出されます。assume_pos_pred 関数が true を返す場合、x は assume_pos のパラメータとみなされます。
デフォルトでは、パラメータは symbolp (x) または subvarp (x) のような x です。
assume と assume_pos も参照してください。
例:
(%i1) assume_pos: true$
(%i2) assume_pos_pred: symbolp$
(%i3) 記号 (a);
(%o3) pos
(%i4) 記号 (a[1]);
(%o4) pnz
(%i5) assume_pos_pred: lambda ([x], display (x), true)$
(%i6) asksign (a);
x = a
(%o6) pos
(%i7) asksign (a[1]);
x = a
1
(%o7) pos
(%i8) asksign (foo (a));
x = foo(a)
(%o8) pos
(%i9) asksign (foo)(a) + bar(b));
x = foo(a)
x = bar(b)
(%o9) pos
(%i10) asksign (log (a));
x = a
a - 1は正、負、またはゼロですか?
p;
(%o10) pos
(%i11) asksign (a - b);
x = a
x = b
x = a
x = b
b - ポジティブ、ネガティブ、またはゼロですか?
p;
(%o11) neg
カテゴリー: 宣言と推論 ·
オプション変数: context
デフォルト値: initial
コンテキストは、仮定と忘却によって維持された事実のコレクションを呼び出します。コンテキストで指定されたコレクションに事実を追加すると仮定し、 forget は事実を削除します。
名前 foo にコンテキストをバインドすると、現在のコンテキストが foo に変わります。指定したコンテキスト foo がまだ存在しない場合、newcontext への呼び出しによって自動的に作成されます。指定されたコンテキストは自動的に有効になります。
コンテキストメカニズムの一般的な説明は コンテキスト を参照してください。
カテゴリー: 宣言と推論 ·
オプション変数: contexts
デフォルト値 : [ initial, global]
コンテキストは、現在アクティブなコンテキストを含む、現在存在するコンテキストのリストです。
コンテキストメカニズムにより、ユーザーはコンテキストと呼ばれる事実のコレクションを結合して名前を付けることができます。これが完了すると、ユーザーはコンテキストをアクティブ化または非アクティブ化するだけで、マキシマに多数の事実を想定または忘却させることができます。
シンボリックな原子はコンテキストであり、そのコンテキストに含まれる事実は、それらが属するコンテキストを破壊するために kill を呼び出すことによって全体として破壊されるまでストレージに保持されます。
コンテキストは階層内に存在し、ルートは常にコンテキストグローバルであり、いくつかの関数が必要とするMaximaに関する情報を含んでいます。特定のコンテキストの場合、そのコンテキスト内のすべての事実は「アクティブ 」 ( つまり、控除や検索で使用されることを意味します)であり、アクティブなコンテキストのサブコンテキストであるすべての事実と同じです。
新しいMaximaが起動されると、ユーザーは初期と呼ばれるコンテキストにあり、サブコンテキストとしてグローバルがあります。
事実、newcontext、supcontext、killcontext、アクティブ化、非アクティブ化、仮定、および忘却も参照してください。
カテゴリー: 宣言と推論 ·
Function: csign (expr)
exprが実質値であると仮定せずに、現在のデータベースの事実に基づいてexprのサインを決定しようとします。次のいずれかの答えを返します: pos (positive)、neg (negative)、zero、pz (positive または zero)、0 (negative または zero)、pn (positive または negative)、pnz (positive、negative または zero)、 imaginary (purely imaginary)、or complex (complex 、すなわち何も知られていません)。
この関数は、expr が実質値であると仮定していないが、 特に宣言されない限り変数が実質値であると仮定していることに注意してください。つまり、csign(z) は declare(z,complex) または declare(z,imaginary) が事前に評価されていない限り pnz を返します。
サインも参照してください。
カテゴリー: 宣言と推論 ·
関数: deactivate (context_1,..., context_n)
指定したコンテキスト context_1,..., context_n を無効にします。
カテゴリー: 宣言と推論 ·
Function: ファクト
ファクト (アイテム)
事実 ( )
項目がコンテキストの名前である場合、facts(item)は指定されたコンテキスト内の事実のリストを返します。
アイテムがコンテキストの名前でない場合、ファクト(アイテム)は現在のコンテキストでアイテムについて知られているファクトのリストを返します。アクティブであるが異なるコンテキストでは、リストされていません。
facts ( ) ( すなわち、引数なし) は現在のコンテキストをリストします。
カテゴリー: 宣言と推論 ·
機能: 忘れる
forget (pred_1,..., pred_n)
忘れる (L)
assume で確立された述語を削除します。述語は、以前に想定されたものと同等の(ただし必ずしも同一ではない)表現である可能性があります。
Lが述語のリストである forget (L)は、リストの各項目を忘れます。
カテゴリー: 宣言と推論 ·
Function: is (expr)
仮定データベースの事実から、述語のexprが証明可能であるかどうかを判断しようとします。
もし、述語が確実に真または偽であるなら、それぞれ真または偽を返します。そうでない場合は、戻り値はグローバルフラグのプリデラによって制御されます。prederror が true の場合、エラーメッセージが表示されます。それ以外の場合は、未知のリターンです。
ev(expr, pred ) ( インタラクティブプロンプトでexpr、predと書くことができる)は、is(expr)と等価です。
仮定、事実、そしておそらくも参照してください。
例:
は述語の評価を引き起こします。
(%i1) %pi > %e;
(%o1) %pi > %e
(%i2) は (%pi > %e) です。
(%o2) true
は、仮定データベースから述語を導き出す試みである。
(%i1) は (a > b) を想定します。
(%o1) [a > b]
(%i2) は (b > c) を想定します。
(%o2) [b > c]
(%i3) は (a < b) です。
(%o3) false
(%i4) は (a > c) です。
(%o4) true
(%i5) は (a, c) と同じです。
(%o5) false
仮定データベースから述語を証明または不証明することができない場合、グローバルフラグのプレデラはその動作を管理します。
(%i1) は (a > b) を想定します。
(%o1) [a > b]
(%i2) prederror: true$
(%i3) は (a > 0) です。
マキシマは、述語を評価することができませんでした:
a > 0
- - エラー。やめる。これをデバッグするには、 debugmode(true)を試してください。
(%i4) prederror: false$
(%i5) は (a > 0) です。
(%o5) 未知
カテゴリー: 予測関数 · 宣言と推論 ·
関数: killcontext (context_1,..., context_n)
コンテキスト context_1,..., context_n を殺します。
コンテキストの 1 つが現在のコンテキストである場合、新しい現在のコンテキストは現在のコンテキストの最初の利用可能なサブコンテキストになります。最初の利用可能な未 kill コンテキストがグローバルである場合、代わりに initial が使用されます。初期コンテキストが kill された場合、新しい空の初期コンテキストが作成されます。
キルコンテキストは、現在アクティブなコンテキストを、現在のコンテキストのサブコンテキストであるか、関数 activate を使用して kill することを拒否します。
killcontext は引数を評価します。killcontext は done を返します。
カテゴリー: 宣言と推論 ·
Function: maybe (expr)
仮定データベースの事実から、述語のexprが証明可能であるかどうかを判断しようとします。
予言が確実にtrueまたはfalseである場合、それぞれtrueまたはfalseを返す可能性があります。そうでなければ、多分未知の返されます。
prederror: false と機能的に同等ですが、結果は実際に prederror に値を割り当てずに計算されます。
事実を想定して、そしてそうであることも参照してください。
例:
(%i1) 多分 (x > 0);
(%o1) 不明
(%i2) は (x > 1) を想定します。
(%o2) [x > 1]
(%i3) 多分 (x > 0);
(%o3) true
カテゴリー: 予測関数 · 宣言と推論 ·
関数: newcontext
newcontext (name)
newcontext ( )
名前と呼ばれる新しい空のコンテキストを作成します。新しく作成されたコンテキストは現在アクティブなコンテキストになります。
名前が指定されていない場合、新しい名前が作成され(psym)と返されます。
newcontext は引数を評価します。newcontext は、名前(指定されている場合)または新しいコンテキスト名を返します。
カテゴリー: 宣言と推論 ·
機能: 記号 (expr)
現在のデータベースの事実に基づいてExprのサインを決定しようとします。次のいずれかの答えを返します: pos (positive)、neg (negative)、zero、pz (positive または zero)、z (negative または zero)、pn (positive または negative)、または pnz (positive、negative または zero、すなわち何も知られていません)。
この関数は、exprが実質値の式であると仮定していることに注意してください。たとえば、sqrt(x)はx<0に対して複合値の結果を返す場合がありますが、sign(sqrt(x))はpzを生成します。
signumも参照してください。
カテゴリー: 宣言と推論 ·
関数: supcontext
supcontext (名前、コンテキスト)
supcontext (name)
supcontext ( )
サブコンテキストとしてコンテキストを持つ名前と呼ばれる新しいコンテキストを作成します。コンテキストは存在しなければなりません。
コンテキストが指定されていない場合は、現在のコンテキストが想定されます。
名前が指定されていない場合、新しい名前が作成され(psym)と返されます。
supcontext はその引数を評価します。supcontext は名前 (もし指定されていれば) または新しいコンテキスト名を返します。
カテゴリー: 宣言と推論 ·
Previous: Functions and Variables for Facts, Up: Maxima's Database [Contents][Index] 関数と変数を用いたデータベースの作成。
11.4 予測の関数と変数
Function: charfun (p)
述語 p が false に評価された場合は 0 を返し、述語 p が true に評価された場合は 1 を返します。述語がtrueまたはfalse(unknown)以外の何かを評価するときは、名詞形式を返します。
例:
(%i1) charfun (x < 1);
(%o1) charfun(x < 1)
(%i2) subst (x = -1, %);
(%o2) 1
(%i3) e : charfun ( ""and" (-1 < x, x < 1)$
(%i4) [subst (x = -1, e)、 subst (x = 0, e)、 subst (x = 1, e)];
(%o4) [0, 1, 0]
カテゴリー: 数学関数 ·
Function: compare (x, y)
比較演算子 op (<, <=, >, >=, =, または #) を (x op y) のように返すと true が評価されます。 x または y が %i と x # y に依存している場合は、非比較可能な値を返します。
例:
(%i1) compare (1, 2);
(%o1) <
(%i2) を比較する (1, x);
(%o2) 不明
(%i3) compare (%i, %i);
(%o3) =
(%i4) 比較 (%i, %i + 1);
(%o4) 比較不可
(%i5) 比較 (1/x, 0);
(%o5) #
(%i6) 比較する (x, abs(x));
(%o6) <=
関数比較は、その引数の実際のドメインが空でないかどうかを判断しようとしません。
(%i1) compare (acos (x^2 + 1 ), acos (x^2 + 1) + 1);
(%o1) <
acosの実ドメイン(x^2 + 1)は空です。
カテゴリー: 宣言と推論 ·
Function: equal (a, b)
等価、すなわち等価を表します。
それ自体では、等しいは評価または単純化しません。この関数は、ブール値に等しい評価を試みます。is(equal(a, b)) は true (もしくは false) を返します。 もし a と b が、 ratsimp(a - b) を評価することによって決定される、それらの変数のすべての可能な値に対して等しい(もしくは等しくない) 場合にのみ、この二つの式は等価と見なされます。二つの式は、たとえそれらが構文的に等しくない(つまり、同じ)場合でも同等である可能性があります。
true または false に等しくなかった場合、結果はグローバルフラグの prederror によって制御されます。prederror が true の場合、エラーメッセージが表示されます。それ以外の場合は、未知のリターンです。
に加えて、他のオペレータによっては、true またはfalse に等しく、ノートクォールを評価するものがあります。
等しいことの否定は特質です。
例:
それ自体では、等しいは評価または単純化しません。
(%i1) equal (x^2 - 1, (x + 1) * (x - 1));
2
(%o1) equal(x - 1, (x - 1) (x + 1)
(%i2) 等しい (x, x + 1);
(%o2) equal(x, x + 1)
(%i3) equal (x, y);
(%o3) equal(x, y)
この関数は、ブール値に等しい評価を試みます。is(equal(a, b)) は ratsimp(a - b) が 0 を返したときに true を返します。二つの式は、たとえそれらが構文的に等しくない(つまり、同じ)場合でも同等である可能性があります。
(%i1) ratsimp (x^2 - 1 - (x + 1) * (x - 1));
(%o1) 0
(%i2) は (x^2 - 1, (x + 1) * (x - 1));
(%o2) true
(%i3) は (x^2 - 1 = (x + 1) * (x - 1));
(%o3) false
(%i4) ratsimp (x - (x + 1));
(%o4) - 1
(%i5) は (x, x + 1) です。
(%o5) false
(%i6) は (x = x + 1 ) ;
(%o6) false
(%i7) ratsimp (x - y);
(%o7) x - y
(%i8) は (x, y) と同じです。
(%o8) 未知
(%i9) は (x = y) です。
(%o9) false
true または false に等しくなかった場合、結果はグローバルフラグの prederror によって制御されます。
(%i1) [aa : x^2 + 2*x + 1, BB : x^2 - 2*x - 1];
2 2
(%o1) [x + 2 x + 1, x - 2 x - 1]
(%i2) ラットインプ (aa - BB);
(%o2) 4 x + 2
(%i3) prederror : true;
(%o3) true
(%i4) は (equal (aa, BB));
マキシマは、述語を評価することができませんでした:
2 2
equal(x + 2 x + 1, x - 2 x - 1)
- - エラー。やめる。これをデバッグするには、 debugmode(true)を試してください。
(%i5) prederror : false;
(%o5) false
(%i6) は (equal (aa, BB));
(%o6) 未知
一部の演算子は、trueまたはfalseに等しく、注目値を評価します。
(%i1) もし等しければ (y, y - 1) 次に FOO else BAR;
(%o1) BAR
(%i2) eq_1 : equal (x, x + 1);
(%o2) equal(x, x + 1)
(%i3) eq_2 : equal (y^2 + 2*y + 1, (y + 1)^2);
2 2
(%o3) equal(y + 2 y + 1, (y + 1) )
(%i4) [eq_1 とq_2,q_1 またはq_2,q_1 ではなくq_1];
(%o4) [false, true, true]
expr は expr の評価を引き起こさないため、 equal(a, b) は is(notequal(a, b) に相当します。
(%i1) [notequal (2*z, 2*z - 1), not equal (2*z, 2*z - 1)]
(%o1) [notequal(2 z, 2 z - 1), true]
(%i2) は (notequal (2*z, 2*z - 1));
(%o2) true
カテゴリー: オペレーター ·
Function: notequal (a, b)
equal(a,b)の否定を表します。
例:
(%i1) 等しい (a, b);
(%o1) equal(a, b)
(%i2) 多分 (等しい(a,b));
(%o2) 不明
(%i3) notequal (a, b);
(%o3) notequal(a, b)
(%i4) は等しくない (a, b);
(%o4) notequal(a, b)
(%i5) 多分 (notequal (a, b));
(%o5) 未知
(%i6) は (a > b) を想定します。
(%o6) [a > b]
(%i7) 等しい (a, b);
(%o7) equal(a, b)
(%i8) 多分(a,b));
(%o8) false
(%i9) notequal (a, b);
(%o9) notequal(a, b)
(%i10) 多分 (notequal (a, b));
(%o10) true
カテゴリー: オペレーター ·
関数: unknown (expr)
expr に Maxima シンプル化機能で認識されないオペレータや関数が含まれている場合にのみ true を返します。
カテゴリー: 予測関数 · 簡略化関数 ·
Function: zeroequiv (expr, v)
変数 v の式 expr が 0 に相当するかどうかをテストし、 true、false、または dontknow を返します。
zeroequiv には次の制限があります:
Maxima が分化・評価する方法が分からない関数は使用しないでください。
式に本線に極がある場合、結果にエラーがある可能性があります(しかし、これは起こりそうにありません ) 。
式に最初の順序の差動方程式の解ではない関数が含まれている場合(例えばベッセル関数)誤った結果が得られる可能性があります。
このアルゴリズムは、慎重に選択されたサブ式に対してランダムに選択された点での評価を使用します。アルゴリズムはエラーの可能性を最小限に抑えようとしていますが、これは常にやや危険なビジネスです。
たとえば、0equiv (sin(2 * x) - 2 * sin(x) * cos(x)、x)はtrueを返し、0equiv (%e^x + x、x)はfalseを返します。一方、0equiv (log(a * )b) - ログ(a) - ログ(b ),a) 余分なパラメータが存在するため、know を返します。
カテゴリー: 予測関数 ·
Next: プロット, Previous: エレメンタリー関数 [Contents][Index]