Я пытаюсь получить доступ к информации внутри объекта Graph
в Mathematica 8. По какой-то причине команда Part
не работает.
myGraph
— это объект, к которому я хочу получить доступ.
В первой строке ниже отображается myGraph. Остальные служат для его осмотра.
myGraph
myGraph // FullForm
myGraph // InputForm
myGraph // OutputForm
myGraph[[1]]
myGraph[[2]]
Почему myGraph[[1]]
не возвращает List[1,3,4,2,5]
? [Я проверил уровень 2 на случай, если Graph
были обернуты какой-то невидимой оболочкой. Level[myGraph,1]
просто возвращает {}
. А FullForm[myGraph][[1]]
возвращает картинку самого графика.
Должно быть, я упускаю из виду что-то очевидное.
Изменить
Вот код, который я использовал для создания графика. Большая часть из них не имеет отношения к рассматриваемой проблеме. Но, по крайней мере, вы будете работать с тем же кодом, что и я.
ClearAll[edges, compatibleQ, adjacentCourses, g];
edges[w_, b_] :=
Most /@ Accumulate /@
Flatten[Permutations[#] & /@ IntegerPartitions[w, All, b], 1]
compatibleQ[j_, k_, edg_] :=
If[Intersection[edg[[j]], edg[[k]]] == {}, {j, k}, False]
adjacentCourses[edg_] :=
Module[{len = Length[edg]},
Cases[Flatten[Table[compatibleQ[j, k, edg], {j, len}, {k, j, len}],
1], {v_, w_} :> v \[UndirectedEdge] w]]
myGraph = Graph[adjacentCourses[edges[9, {2, 3}]], VertexLabels -> "Name",
ImagePadding -> 10]