Проблемы производительности: решение неравенства с несколькими допущениями в Mathematica - PullRequest
4 голосов
/ 11 декабря 2011

Мне нужно доказать неравенство (или найти контрпример), учитывая несколько предположений (также неравенств). К сожалению, неравенство для доказательства является довольно длинным и сложным выражением. Имеется около 15 переменных, и вывод FullSimplify заполняет несколько страниц формата A4. Для примеров с меньшим количеством переменных FindInstance помогает найти контрпример или дает результат {}, если неравенство истинно. Я также пытался использовать Reduce таким образом:

Reduce[
   Implies[
      assumtion1 && assumtion2,
      inequality
   ],
   Reals
]

Для простых примеров это выдает «True», если выполняется неравенство. Но в моем случае после нескольких часов работы Mathematica потребовалось 5-6 ГБ ОЗУ (и подкачка), поэтому мне пришлось прервать процесс.

Могу ли я что-нибудь сделать с Mathematica для улучшения производительности?

1 Ответ

4 голосов
/ 26 декабря 2011

Вы найдете очень хорошую статью об алгоритмах Mma CAD здесь

Цилиндрическое алгебраическое разложение (CAD), которое использует Mma, масштабируется с двойной экспоненциальнойповедение по числу переменных.

Более новые методы имеют двойную экспоненту в количестве чередований квантов.

Я думаю, что вам не повезет, если использовать только внутренний механизм Mma, но вы можете броситьоснованный на симметрии вашей проблемы (если есть)

...