निम्न कोड एक निश्चित गणना का आरेख बनाता है। मेरी समस्या यह है कि भले ही इन्हें प्लस लगाने के बाद, संप्रदाय में नियम अच्छे क्रम में हैं, फिर भी वे मनमाने ढंग से पुन: व्यवस्थित हो जाते हैं। कोई सुझाव है कि मूल आदेश को कैसे रखा जाए?चीजों को पुनर्व्यवस्थित करने से "प्लस" को रोकना
http://yaroslavvb.com/upload/ind-sets-grid.png
r[i_] := Floor[(i - 1)/n] + 1; c[i_] := Mod[i, n, 1]; adj[a_, b_] := Abs[r[a] - r[b]] + Abs[c[a] - c[b]] == 1; indsetQ[s_] := Not[Or @@ (adj @@@ Subsets[s, {2}])]; indsets[k_] := Select[Subsets[Range[n^2], {k}], indsetQ]; twoColorGraph[g_, seen_, lbl_] := Module[{radius = .22}, vcoords = # -> {c[#], n - r[#]} & /@ Range[n^2]; fv = Function[{p, v}, {EdgeForm[Thick], If[MemberQ[seen, v], Pink, White], Disk[p, radius]}]; GraphPlot[g, VertexLabeling -> True, VertexRenderingFunction -> fv, PlotLabel -> Style[lbl, 20], LabelStyle -> Directive[Bold], VertexCoordinateRules -> vcoords, ImageSize -> 80] ]; n = 2; g = Array[Boole[adj[#1, #2]] &, {n^2, n^2}]; weight[set_] := Times @@ (Subscript[\[Lambda], c[#], r[#]] & /@ set); denominator = twoColorGraph[g, #, weight[#]] & /@ Join @@ (indsets[#] & /@ Range[2]); numerator = twoColorGraph[g, {1}, weight[{1}]]; Style[numerator/(Plus @@ denominator), FontSize -> 30]
यह एक अन्य प्रश्न (http://stackoverflow.com/questions/3947071/controlling-order-of-variables-in-an-expression) के इरादे में, एक डुप्लिकेट है। अन्यथा, मैं आपको केवल ग्राफिक्स के लिए एक +1 दूंगा। के लिए गणना क्या है? – rcollyer
हां, यह समान है। सुझाव है कि अपने कार्य को परिभाषित करना है जो "myPlus" जैसा ऑर्डर रहित नहीं है, लेकिन मैं इसे "प्लस" के रूप में प्रस्तुत करने के लिए कैसे प्राप्त करूं? –
गणना एक परिमित ग्रिड (यानी, हार्ड कोर स्व-प्रतिकृति और हार्ड-कोर जोड़ी इंटरैक्शन के साथ ग्रैंड कैनोलिक गैस) पर हार्ड-कोर प्रतिकूल स्थानीय गैस की प्रति-साइट व्यवसाय संभावनाओं को ढूंढना है –