Каков наилучший способ определения числовой константы в Mathematica?
Например, скажем, я хочу, чтобы g был приблизительным ускорением из-за силы тяжести на поверхности Земли. Я даю ему числовое значение (в m/s^2), скажите Mathematica, что он числовой, положительный и константный, используя
Unprotect[g];
ClearAll[g]
N[g] = 9.81;
NumericQ[g] ^= True;
Positive[g] ^= True;
SetAttributes[g, Constant];
Protect[g];
Тогда я могу использовать его в качестве символа в символических вычислениях, который будет автоматически оцениваться до 9.81 при вызове численных результатов. Например, 1.0 g оценивается как 9.81.
Это, похоже, не так привязано к Mathematica как построенное в числовых константах. Например Pi > 0 будет оцениваться до True, но g > 0 не будет. (Я мог бы добавить g > 0 в глобальный $Assumptions, но даже тогда мне нужен вызов Simplify, чтобы он вступил в силу.)
Кроме того, Positive[g] возвращает True, но Positive[g^2] не оценивает - сравните это с эквивалентными операторами с помощью Pi.
Итак, мой вопрос: что еще я должен сделать, чтобы определить числовую константу? Какие еще атрибуты/свойства могут быть установлены? Есть ли более простой способ сделать это? Etc...