2011-12-24 159 views
2

背景:爲了支持我對伽羅瓦理論的研究,我想從多項式中計算伽羅瓦羣。這個功能在Mma中並不是現成的,因此我詢問並建議在Mma(或其他Sage/Pari)中使用galois包。加洛瓦包可以從這個位置下載。 http://library.wolfram.com/infocenter/Articles/2872/(伽羅瓦包寫在MMA的3時代。)如何在Mathematica中處理'標記箭頭受保護'消息?

當裝載包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. >> 

問:Arrow簡單撤消(等)足以解決這個問題? (我還沒有試過,我想在修改任何標準軟件包之前先等待專家的建議)。

編輯: 對Arrow1(或ArrowFnc)進行重構後仍然存在問題。這一問題已經在

CircleGraph[{a, b, c, d, -a, -b, -c, -d}, F]; 

測試(從在所附筆記本的例子中) 不產生的曲線圖。

CircleGraph[{a, b, c, d, -a, -b, -c, -d}, F] 

(without;)產生一個附加文本如FontForm [Symbol,18]的圖形。箭頭應只包含變量a,b,c等的文本。

進一步的調查顯示,FontForm是最終棄用,這是未檢測到Mma的。見http://reference.wolfram.com/mathematica/ref/FontForm.html

回答

5

你只需要像ArrowFcn,並Norm出現的東西,如NormFcn更換的Arrow發生。

ArrowNorm在編寫了galois包後必須添加到內置函數中,因此需要在包中使用替代名稱。

+1

我最初的想法也是,但兼容性檢查器甚至沒有給出警告。 - 但是,原作者並未使用通用編碼標準,即不能使用大寫字母開始自定義功能。 – 2011-12-24 11:37:19

+0

\ @Chris Diegen - 我將Arrow和Norm分別重構爲Arrow1和Norm1,並添加了Nulls來抑制警告。這似乎已經恢復了功能。儘管我仍然需要更好的函數名稱。你的Fcn代表什麼? – 2011-12-24 17:14:43

+0

@ ndroock1,'Fcn'只是功能的簡稱 - 任意選擇。 – 2011-12-24 17:25:10

相關問題