如何获得Mathematica内置的全局重写规则列表?

时间:2011-07-26 06:21:10

标签: wolfram-mathematica

据我所知,Mathematica中的一千多个内置重写规则默认填充全局规则表。有没有办法让Mathematica提供这些规则的完整或部分列表?

1 个答案:

答案 0 :(得分:11)

最好的方法是找到Wolfram Research的工作。

如果不这样做,我认为对于未完全编译到内核中的内容,您可以恢复大多数规则/定义。看看

Attributes[fn]

其中fn是您感兴趣的命令。如果它返回

{Protected, ReadProtected}

然后你可以看一下(虽然它通常只是MakeBoxes(格式化)定义或AutoLoad / Stub类型定义。看看有什么运行

Unprotect[fn];
ClearAttributes[fn, ReadProtected];
??fn

如果它是一个存根,你经常需要运行一个命令加载它的例子。您还必须从面向用户的命令挖掘到后端实现。 最终,你很可能会找到一个编译到内核中的核心命令,你无法看到它的细节。

我之前在tips for creating Graph diagrams中提到了这一点,并在What is in your Mathematica tool bag?中提及了它。

一个很好的例子,在Circular/Angular slider中提到Experimental`AngularSlider[]提到了一个很好的一口大小且易于理解的代码。我会留给你看看生成的代码。

另一个示例类似于BoxWhiskerChart,您需要调用它一次才能加载所有代码。然后,您会看到BoxWhiskerChart继续致电Charting`iBoxWhiskerChart,您必须取消保护以查看等等...