如何处理Mathematica中的"Tag Arrow is Protected"消息?

nil*_*ock 2 wolfram-mathematica

背景:为了支持我对伽罗瓦理论的研究,我想从多项式中计算伽罗瓦群.这个功能在Mma中并不容易获得,所以我询问并建议在Mma(或其他Sage/Pari)中使用galois包.galois包可以从这个位置下载.http://library.wolfram.com/infocenter/Articles/2872/(Galois包是在Mma 3时代写的.)

加载包时galois.m,Mma显示以下消息:

<<galois.m
SetDelayed::write: Tag Arrow in Arrow[Color_,{{x1_,y1_},{x2_,y2_}}] is Protected. >>
SetDelayed::write: Tag Norm in Norm[Poly_,a_Symbol] is Protected. >>
SetDelayed::write: Tag Norm in Norm[Poly_,{a__Symbol}] is Protected. >>
General::stop: Further output of SetDelayed::write will be suppressed during this calculation. >>
Run Code Online (Sandbox Code Playgroud)

问题:(Arrow等等)的简单Unprotect是否足以处理此问题?(我还没有尝试过.我想在修改任何标准软件包之前先等待专家建议).

编辑:重构到Arrow1(或ArrowFnc)后仍然存在问题.这已经过测试

 CircleGraph[{a, b, c, d, -a, -b, -c, -d}, F];
Run Code Online (Sandbox Code Playgroud)

(来自随附笔记本中的示例.)不生成图表.

 CircleGraph[{a, b, c, d, -a, -b, -c, -d}, F]
Run Code Online (Sandbox Code Playgroud)

(没有;)生成一个附加文本的图形,如FontForm [Symbol,18].箭头应仅包含变量a,b,c等的文本.

进一步的调查表明,FontForm最终被弃用,Mma 没有检测到.见http://reference.wolfram.com/mathematica/ref/FontForm.html

Chr*_*nen 5

你只需要更换的出现Arrow与类似ArrowFcn,并出现Norm与类似NormFcn.

Arrow并且Norm必须在写入galois包之后添加到内置函数中,因此需要在包中使用替代名称.