式が常に正であることをマキシマに伝える方法はありますか? 以下は式 について maxima に質問させるスニペットの例ですsin(a)*x
:
宣言 ([a、x、y]、実数); ca: cos(a) = (x / (sqrt(x*x + y*y))); a1: 解決 (ca、a) [1]; 解決 (a1、y);
式が常に正であることをマキシマに伝える方法はありますか? 以下は式 について maxima に質問させるスニペットの例ですsin(a)*x
:
宣言 ([a、x、y]、実数); ca: cos(a) = (x / (sqrt(x*x + y*y))); a1: 解決 (ca、a) [1]; 解決 (a1、y);
使用できますassume
。Maxima自身のドキュメントから:
-- 関数: 仮定 (, ..., ) 述語、...、を現在のコンテキストに追加します。 述語が の述語と矛盾または冗長である場合 コンテキストに追加されません。コンテキスト `assume' への各呼び出しからの述語を蓄積します。 `assume' は、追加された述語を要素とするリストを返します。 コンテキストまたはアトム「冗長」または「矛盾」 該当する。 述語 , ..., は式のみにすることができます 関係演算子 `=' と `>' を使用します。 述語は、リテラル等価 `=' またはリテラル不等価であってはなりません `#' 式も、次のような述語関数にすることもできません。 「整数」。 ` and ... and ' の形式の複合述語 は認識されますが、` または ... または ' は認識されません。ない ' が関係述語の場合に認識されます。 「not ( and )」および「not」の形式の式 ( または )' は認識されません。 Maxima の演繹メカニズムはあまり強力ではありません。沢山あります 「である」によって決定できない明白な結果。これは 既知の弱点。 「assume」はその引数を評価します。 「is」、「facts」、「forget」、「context」、および「declare」も参照してください。
Examples:
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
(%i2) assume (aa < bb and bb < cc);
(%o2) [bb > aa, cc > bb]
(%i3) facts ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
(%i4) is (xx > yy);
(%o4) true
(%i5) is (yy < -yy);
(%o5) true
(%i6) is (sinh (bb - aa) > 0);
(%o6) true
(%i7) forget (bb > aa);
(%o7) [bb > aa]
(%i8) prederror : false;
(%o8) false
(%i9) is (sinh (bb - aa) > 0);
(%o9) unknown
(%i10) is (bb^2 < cc^2);
(%o10) unknown