2011-02-14 2 views
0

Я только начал работать с Mathematica (5.0) в первый раз, и хотя руководство было полезным, я не совсем уверен, что моя методика верна с использованием (Full)Simplify. Я использую программу для проверки моей работы над производным преобразованием для изменения между опорными кадрами, состоящими из умножения трио относительно больших квадратных матриц.Правильное использование Simplify в Mathematica (с многофазным триггером)

Мы с коллегой работали отдельно, чтобы убедиться, что ошибок не было. Мы надеялись получить третью проверку от программы, которая, казалось, была бы достаточно простой, чтобы спросить. Ручные вычисления заняли некоторое время из-за размера матрицы, но мы пришли к тем же выводам. Тот факт, что у нас был такой же ответ, заставило меня скептически, когда программа произвела разные результаты.

  • Я проверил и дважды проверил свои входы.
  • Я определенно . (dot-multipying) матрицы для правильного умножения.
  • FullSimplify не имеет значения.
  • У них нет комбинаций с TrigReduce/расширение алгебраически перед упрощением.
  • Я взял индексы из итоговой матрицы и попытался упростить их, пока они изолированы, но безрезультатно, поэтому проблема связана не с использованием матриц.
  • Я также попытался умножить первые две матрицы, упростить, а затем умножить их на третью матрицу; однако это дало те же результаты, что и раньше.

Я думал Simplify автоматически пересеченный на всех уровнях глав, так что мне не нужно беспокоиться о отображения, но даже там, где нули можно было бы ожидать в качестве выходных сигналов в матрице, есть условия, и где можно было бы ожидать термины, есть близкие ответы, плюс множество грехов и косинусов, которые не уменьшаются.

Кто-нибудь часто посещает какие-либо техники с помощью Simplify, чтобы получить более предпочтительные результаты, в отличие от использования только Simplify?

+0

Ну ... (Full) Упростить не (AFAIK) дает неверные результаты, хотя они не всегда являются формой вы можете ожидать. Существует полный пакет трюков для преобразования выражений в Mma .. но ваш вопрос недостаточно ясен, чтобы что-то предложить .. –

+0

@belisarius: Спасибо, они не позволят мне быть более конкретным, так что сложно получить помощь на нем , ха-ха, но я понимаю, что ответ должен быть правильным - я просто чувствую, что какое-то небольшое упрощение пропускается где-то, поэтому я не был уверен, что люди все еще упрощают на каждом уровне, или если они традиционно используют тригрдумент вместо этого или что-то еще эти линии. – kando

+0

Можете ли вы опубликовать выражение, которое вы пытаетесь упростить? Догадка - вам нужно ограничить область переменных, чтобы упрощение было допустимым. –

ответ

1

Как вы не дали много деталей, чтобы жевать, я могу только дать вам несколько советов:

  1. Mma5 довольно старый. Текущая версия - 8. Если у вас есть доступ к кому-то с 8, вы можете попросить его попробовать его, чтобы узнать, имеет ли это значение. Вы также можете попробовать WolframAlpha online (http://www.wolframalpha.com/), который также понимает некоторые (все?) Синтаксис Mma.

  2. Вы пытались сравнить численный результат и результат Ммы? Создайте таблицу различий для различных значений параметров или используйте график. Если различия небрежны (используйте Chop для отсечения небольших остатков), результаты, вероятно, эквивалентны.

Приветствия - Сьерд

2

Если имеются предположения о диапазоне параметров вы хотите кормить их Упростить. Следующие простые примеры укажут, почему это может быть полезно.

In[218]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2]] 
Out[218]= a Sqrt[1 - x^2] - Sqrt[-a^2 (-1 + x^2)] 

In[219]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2], 
Assumptions -> a > 0] 
Out[219]= 0 

Предполагая, что это и другие ответы промазать, если вы могли бы привести пример, что в какой-то способ показывает, возможно, плохое поведение, которое было бы очень полезно. Смажьте его как угодно, чтобы скрыть фирменные функции: отбеливать водяные знаки, записывать регистрационные номера, возможно, одевать их в усы.

Daniel Лихтблау Wolfram Research