Опасные имена символов, начинающиеся со строчной буквы - PullRequest
6 голосов
/ 10 августа 2011

Я ищу полный список имен опасных символов, которые начинаются со строчной буквы в Mathematica .

На данный момент я знаю три таких имени: min, max и lim. Эти имена появляются в списке LimitsPositioningTokens и обрабатываются как операторы, по крайней мере, когда они вводятся в FrontEnd с верхним индексом :

In[3]:= Options[$FrontEnd,LimitsPositioningTokens]
Out[3]= {LimitsPositioningTokens->{\[Sum],\[Product],\[Intersection],
         \[Union],\[UnionPlus],\[Wedge],\[Vee],lim,max,min,\[CirclePlus],
         \[CircleMinus],\[CircleTimes],\[CircleDot]}}

enter image description here

Например, введите в FrontEnd следующее (используйте Ctrl + ^ для создания верхнего индекса - это важно!):

In[1]:= max^n+4
(max^n+4)//HoldComplete//FullForm
Out[1]= 4 max^n
Out[2]//FullForm= HoldComplete[Times[Power[max,n],Plus[4]]] 

screen

Вы видите, что max^n+4 интерпретируется как 4*max^n в этом случае.

Кто-нибудь может объяснить, что на самом деле делает опция LimitsPositioningTokens

Существуют ли другие опасные символы, которые начинаются со строчной буквы в Mathematica ?

1 Ответ

2 голосов
/ 10 августа 2011

Я не могу подтвердить проблему, о которой вы сообщаете. Кроме того, найденные вами токены скорее являются строками, чем символами.

enter image description here

Это на win7-64 / M8.0.1, mac lion / M8 моей жены тоже не показывает.

Тот факт, что они являются строками, похоже, соответствует описанию на странице документа LimitsPositioning

LimitsPositionTokens - это параметр ячейки, для которого можно задать список формы, для которых следует использовать LimitsPosition-> True.

Все приведенные здесь примеры используют строки.


Обновление , чтобы проиллюстрировать замечание, высказанное в комментариях ниже

Это стандартная настройка LimitsPositioningTokens в $ FrontEnd:

enter image description here

и это с SetOptions[$FrontEnd, LimitsPositioningTokens -> {}]:

enter image description here

Обратите внимание, что настройка $ FrontEnd с помощью SetOptions не работает. Вероятно, у вас больше нет значения по умолчанию. Используйте инспектор параметров, чтобы вернуть LimitsPositioningTokens к его значению по умолчанию (найдите LimitsPositioningTokens при включенных глобальных настройках и удалите крестик рядом с переменной, если она есть).

...