Каков наилучший способ определения числовой константы в 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...