通解和非通解
如有一个方程
,显然仅有的解是
. 但是如果有方程
,事情就不那么清楚了. 当
不等于零时,仍然有唯一解
. 然而,当
实际上等于零时,那么
的任何 值都是解. 可以使用 Reduce 查看这些功能.
| Out[1]= |  |
然而,
Reduce 给出所有的可能性,不做任何关于

值的假定.
| Out[2]= |  |
Reduce 和 Solve 之间最重要的区别在于 Reduce 给出方程组的全部 解,而 Solve 仅给出通解. 通解是指只涉及要求的变量条件,而不涉及方程中参数的条件. Reduce 和 Solve 的另一个区别是 Reduce 总是返回方程的组合,而 Solve 给出变换规则形式的结果.
解方程.
| Out[3]= |  |
Reduce 给出其全部解,包括

的可能性. 注意,输出中

比

的优先级高.
| Out[4]= |  |
这是一般二次方程的全部解. 有三种选择. 当

不等于零时,由标准二次公式给出

的两个解. 当

等于零时,方程退化为线性方程. 最后如果

,

,

全为0,则对

无限制.
| Out[5]= |  |
当用户具有一些联立方程组时,Reduce 可以发现在什么条件下方程组有解. 而 Solve 则告诉用户是否存在通解.
| Out[6]= |  |
这个方程组仅当

取特殊值

时有一个解.
| Out[7]= |  |
| Out[8]= |  |
| Out[9]= |  |
此方程对任何

值都成立.
| Out[10]= |  |
这是当方程对任何值都成立时,
Solve 返回的结果.
| Out[11]= |  |
对于线性方程组,可以使用 Solve 得到通解,使用 Reduce 弄清参数在什么值下解存在.
| Out[12]= |  |
| Out[13]= |  |
| Out[14]= |  |
| Out[15]= |  |
然而,
Reduce 表明如果参数满足特定条件

,那么方程组有解.
| Out[16]= |  |
对于非线性方程,解的存在性可能是非常复杂的.
| Out[17]= |  |
| Out[18]= |  |
| Out[19]= |  |