2010-12-03 2 views
3

У меня проблемы с использованием Mathematica со сложными числами. Я делаю что-то неправильно?Mathematica, Arg and Simplify

Два примера:

  1. ComplexExpand [(х + I, у)^(1/2)] дает (х^2 + у^2)^(1/4) Cos [ 1/2 Arg [x + I y]] + I (x^2 + y^2)^(1/4) Sin [1/2 Arg [x + I y]]

    и у меня есть не нашли пути до сих пор, чтобы получить более простой результат (который делает!)

  2. ComplexExpand [Sqrt [x^2 + y^2] Cos [Arg [x + I y]] + I Sqrt [x^2 + y^2] Sin [Arg [x + I y]]]
    дает тот же результат аргумента ComplexExpand, в то время как он должен быть, очевидно, x + I y!

Заранее благодарен!

+0

Какие выражения вы ожидаете в качестве вывода? –

ответ

5

Для второго помните, что Mathematica не может делать предположения относительно ваших символов, поэтому по умолчанию число «по-умолчанию» является сложным.

Вот почему, когда вы вводите:

a = Sqrt[x^2 + y^2] Cos[Arg[x + I y]] + I Sqrt[x^2 + y^2] Sin[Arg[x + I y]]; 
[email protected] 

вы получите

Sqrt[x^2 + y^2] Cos[Arg[x + I y]] + I Sqrt[x^2 + y^2] Sin[Arg[x + I y]] 

или если вы вводите

[email protected] 

вы получите

E^(I Arg[x + I y]) Sqrt[x^2 + y^2] 

Просто потому, что Mathematica не знает, что X и Y являются REALS.

Но вы можете явно заявить об этом, поэтому Mathematica разрешено рассматривать их как числа реалов.

Попробуйте это:

a = Sqrt[x^2 + y^2] Cos[Arg[x + I y]] + I Sqrt[x^2 + y^2] Sin[Arg[x + I y]]; 
$Assumptions = Element[x, Reals] && Element[y, Reals] 
FullSimplify[a] 

и вы получите

x + I y 

Помните, что сброс ваших $ Предположения нужно только

$Assumptions = True 

Но в целом, не следует ожидать Mathematica сделает комплексные номера так, как вы хотите их ...

+0

и 'Simplify', и' FullSimplify' принимают второй параметр для определения допущений, поэтому вам не нужно менять глобальные '$ Assumptions'. Кроме того, по умолчанию «ComplexExpand» обрабатывает все переменные, явно не заданные как сложные во втором параметре как реальные. – rcollyer

+0

Прежде всего, спасибо Велизарий. Руководство Mathematica 7 выглядит следующим образом: ComplexExpand [expr] расширяет expr, предполагая, что все переменные являются реальными. Таким образом, я ожидал, что x и y будут рассматриваться как реалы без каких-либо дополнительных спецификаций. В любом случае первое выражение (1.) должно давать примерно следующее: w = ((x^2 + y^2)^(1/2) + x)/2)^(1/2) + I y/(2 ((x^2 + y^2)^(1/2) + x))^(1/2); , который является алгебраической формой основного значения (x + Iy)^(1/2) – Giovanni

 Смежные вопросы

  • Нет связанных вопросов^_^