SameQ
背景
- 如果 expr1 与 expr2 相同,则 SameQ[expr1,expr2] 返回 True,否则返回 False. 在这里,“相同”表示表达式 expr1 和 expr2 的底层表示 FullForm 之间有确切的对应关系,对于实数,则下面这种情况除外,即如果实数仅最后一个二进制位数不同仍被认为 SameQ 成立. SameQ[expr1,expr2] 可以是使用三重等号的输入,如 expr1===expr2. 多参数形式SameQ[expr1,expr2,…](也可以输入为 expr1===expr2===…)当且仅当所有表达式 expri 均相同时返回 True.
- 如果表达式的底层表示相同,则其不同输入形式可以是 SameQ,例如 n! ===Factorial[n] 返回 True. 另一方面,对于在数值上相等但没有相同表示形式的数字,SameQ 会对其进行区分. 例如, SameQ[1,1.] 和 SameQ[1.,1.+0.I] 均返回 False. 此行为与 Equal 所表现的相等性不同,它执行的是相等性测试,并且在无解的情况下保持不被运算.
- SameQ 只考虑字面上的对应,而不是同构. 在图论情况下,应该使用 IsomorphicGraphQ 检查同构的一致性. (当然,在使用 CanonicalGraph 将图转换为规范化形式后,则可以使用SameQ.)
- SameQ 与许多其他符号相关. Set[expr1,expr2](可以使用“单等号”语法 expr1=expr2 输入)运算 expr2,并将结果赋值给 expr1,而 Equal[expr1,expr2](可以使用“双等号”语法 expr1==expr2 输入),如果 expr1 和 expr2 在数值上相等,则返回 True. UnsameQ(可以输入为 …=!=…)则是 SameQ 的逆.
- PossibleZeroQ 可用于指示给定表达式在 SameQ 返回 False 的某些情况下是否具有值 . 例如SameQ[Erf[Log[4]+2Log[Sin[Pi/8]]]-Erf[Log[2-Sqrt[2]]],0] 返回 False,而在其第一个参数上调用 PossibleZeroQ 返回 True(连同一条表明无法严格建立零值的消息). 当 SameQ 和 Equal 不能奏效的时候,有时可以使用像 Simplify、FullSimplify 和RootReduce 等符号式简化函数来严格建立等量关系 (包括在刚才给出的例子中).
范例
打开所有单元关闭所有单元
Wolfram Research (1988),SameQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SameQ.html.
文本
Wolfram Research (1988),SameQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SameQ.html.
CMS
Wolfram 语言. 1988. "SameQ." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/SameQ.html.
APA
Wolfram 语言. (1988). SameQ. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SameQ.html 年