\begingroup

的文档SolveAlways包含以下短语:

SolveAlways[eqns,vars] 等同于 Solve[!Eliminate[!eqns,vars]].

我不明白这一点。!是逻辑否定,对吗? 什么是!eqns,什么是!Eliminate

\endgroup

2

  • \begingroup
    eqns通常是一个And表达式(即使以列表形式呈现),因此,它可以被逻辑否定。 的结果Eliminate同样是一个可以被否定的逻辑表达式。 所以,是的,你在文档中正确地描述了那句话。 也许你应该尝试几个例子来帮助你理解它。
    \endgroup


    – 

  • \begingroup
    我明白了,所以!分布在列表中。那么的输出Eliminate总是逻辑表达式或逻辑表达式列表吗?
    \endgroup


    – 


最佳答案
1

\begingroup

“!”表示“不”。例如:

eqns = (a + b - c) x y - (a - d) == 1 && (c - d + 2) y == (a^2 - b) x;
! eqns // Simplify

a^2 x + (-2 - c + d) y != b x || d + (a + b - c) x y != 1 + a

这是第一个和第二个等式的否定。因为 eqns 包含“And” !eqns 包含“Or”

现在考虑一下 Eliminate 的作用:

Eliminate[! eqns, {x, y}]

-a^2 + b != 0 || a + b - c != 0 || 2 + c - d != 0 || -1 - a + d != 0

和:

! Eliminate[! eqns, {x, y}] // Simplify

a^2 == b && a + b == c && 2 + c == d && 1 + a == d

再次交换“And”<=>“Or”

\endgroup