Голова возвращает разные значения для двух типов графиков:
In[1]:= g1 = Combinatorica`CompleteGraph[1];
In[2]:= g2 = System`CompleteGraph[1];
In[3]:= Combinatorica`Graph === Head[#] & /@ {g1, g2}
Out[3]= {True, False}
In[4]:= System`Graph === Head[#] & /@ {g1, g2}
Out[4]= {False, True}
Что касается вопроса 1, у вас есть ограниченные возможности для просмотра "скрытой" информации в несимвольных объектахнапример, графики, изображения и т. д. Вы можете вызывать встроенные функции Mathematica, которые имеют доступ к собственному представлению объекта.Существуют функции, специфичные для типов объектов (например, VertextCount или ImageDimensions) или более общие (например, CurrentValue или PropertyValue).Вы находитесь во власти документации MMA, чтобы найти исчерпывающие списки таких функций.Кроме того, иногда вы можете получить полезную информацию, проверив выражение ячейки выходной ячейки, содержащей такой объект.Но это может быть ударом или промахом.
Что касается вопроса 2, WRI обычно защищает правила рендеринга для встроенной функциональности.Кроме того, некоторые функции (например, инструменты рисования и графические редакторы), похоже, встроены непосредственно в интерфейс ноутбука.Возможно, вам повезет, если вы посмотрите на верхние или нижние значения таких функций рендеринга, как MakeBoxes и Формат и т. Д. Опять-таки, это хит или промах.