Цитата:
Так вот, очень может быть, что между указанными глюками есть связь. Ведь баги сейчас именно "фиксят", вместо того, чтобы исправить причину его возникновения. Один симптом пофиксили, а сколько ещё таких симтомов...
Я был абсолютно прав. Andrzej Kozlowski и Leonid Shifrin дали почти исчерпывающее объяснение происхождения обоих глюков. Их корень заключается в том, что любые произведения при выполнении Mathematica автоматически приводит к т.н. "канонической форме", представляющей собой произведение простых чисел (или независимых переменных) в соответствующих степенях.
Например,
[no]
In[1]:= 2*6^z
Out[1]= 2^(1 + z) 3^z
[/no]
Поэтому невозможно упростить выражение 2^(1 + z)*3^z до 2*6^z, хотя последнее, конечно, проще. То есть, даже если Simplify и способен упростить, то, как я понял, при выводе результат снова автоматически будет преобразован в форму 2^(1 + z)*3^z. Однако, как я понял из последнего поста Andrzej Kozlowski, в действительности ситуация ещё хуже, поскольку для измерения "сложности" полученного выражения оно передаётся в ComplexityFunction, и на этом этапе опять же приводится к канонической форме, поэтому объективная оценка уровня сложности выражения оказывается в действительности невозможна, и Simplify прости не может даже отличить 2^(1 + z)*3^z от 2*6^z.
Безусловно, я не всё для себя прояснил в этом, однако масштаб застарелой недоработки и её корень становятся ясны.