2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Mathematica
Сообщение24.02.2011, 19:30 
Может, конечно и не сюда. Нашел символьно (аналитически) корни системы $P(x,y) = 0, Q(x,y) = 0$ где обе функции - полиномы. Итого 7 корней. Первый $(0,0)$ - остальные жуть как многоэтажны, но в них входит $i$. Значит ли это что можно успокоиться потому что Математика считает что они комплексны? Или может там все ж таки сократиться может?
$Im$ она от них считать не хочет - видимо, слишком большие выражения.

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 19:55 
Аватара пользователя
Сами понимаете: если то, что при i, может обратиться в 0...

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:03 
Все гораздо проще. Там нет параметров (пусть этот вопрос звучит для математика страшно). Там просто числа, огромные - знаков по 40-50, кое-где корни и степени - ну и $I$. Просто есть сомнения - вдруг она недосократила?

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:06 
Аватара пользователя
Сразу после вычисления корней выполните команду N[%,100] и посмотрите, что получится.

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:11 
Сделал, тока можно ли ей верить что там комплексные? У них $10^{-16}$ стоят.

-- Чт фев 24, 2011 21:13:16 --

Когда она выдает численное решение уравнения с такими корнями - почти всегда решение просто $0$, а она алгоритм оборвала.

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:16 
Аватара пользователя
А можно посмотреть, что за система?

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:18 
Аватара пользователя
Если $Im\sim 10^{-16}$, то я обычно верю, что они не комплексные.

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 20:45 
Можно.

Код:
f[x_, y_] := (-148504640923875621760000000 x^2 -
    133298625456981370003270400 x^4 +
    155345624448539944809760000 x y +
    287109459912796673247032128 x^3 y -
    74093164032542406850295000 y^2 -
    146937714377861912000139395 x^2 y^2)/3908016866417779520000000000


Сама система - экстремумы.
Код:
a = Solve[D[f[x, y], x] == 0 && D[f[x, y], y] == 0, {x, y}];


Корни она Вам сама покажет. Округление просто $N$ без указания числа знаков дает
Код:
{{x -> 0., y -> 0.}, {x -> -2.20273 + 1.35432*10^-16 I,
  y -> -2.16681 - 3.65834*10^-14 I}, {x ->
   2.20273\[VeryThinSpace]- 1.35432*10^-16 I,
  y -> 2.16681\[VeryThinSpace]+ 3.65834*10^-14 I}, {x ->
   2.9976*10^-14 - 0.734854 I,
  y -> -9.2708*10^-13 + 0.0212222 I}, {x -> -2.9976*10^-14 +
    0.734854 I,
  y -> 9.2708*10^-13 - 0.0212222 I}, {x -> -3.28071*10^-14 -
    0.684286 I,
  y -> 7.80266*10^-13 - 1.35223 I}, {x -> 3.28071*10^-14 + 0.684286 I,
   y -> -7.80266*10^-13 + 1.35223 I}}


@ИСН - я тоже обычно такое думаю про места, где она приближает решения. Там может напортачит - но здесь ей просто надо округлить данные числа, без параметров, только корни и степени.

 
 
 
 Re: Mathematica
Сообщение24.02.2011, 22:08 
Аватара пользователя
Господи, ужас-то какой. Откуда такая система?
Команда N[%,100] пишет $\ldots+0.\times 10^{-100}i$.
В общем, три решения действительные и четыре чисто мнимые.

 
 
 
 Re: Mathematica
Сообщение25.02.2011, 12:12 
Система между прочим, очень натурально вышла. Проверяю то, что двумерный процесс (довольно милый) не покинет одно выпуклое множество (тоже достаточно милое). Эту милоты Вы можете видеть в том, что степени небольшие. Вот откуда коэффициенты полезли - это я сам в шоке.

Теперь что до округление. Все уткнулось в 2-ое и 3-е решение. Просто $N$ дает ответ что комплексные - причем коэффициенты у них идут более или менее. Но если брать округление до 100 знаков, там внезапно вылезает что перед I стоит ноль. Как так?

 
 
 
 Re: Mathematica
Сообщение25.02.2011, 17:58 
Аватара пользователя
Gortaur в сообщении #417104 писал(а):
Просто $N$ дает ответ что комплексные - причем коэффициенты у них идут более или менее. Но если брать округление до 100 знаков, там внезапно вылезает что перед I стоит ноль. Как так?

Ну, это как раз понятно. Если Вы не указываете требуемую точность, то программа по умолчанию использует ту точность, которую обеспечивают регистры процессора, и результат округляет до 6 значащих цифр. Если Вы явно требуете бóльшую точность, нежели может обеспечить процессор, то подключается библиотека высокой точности, и программа вычисляет результат с требуемой точностью (по моим наблюдениям, не всегда; но она не мошенничает и честно не печатает те цифры, которые недостаточно надёжны).

Кстати, система-то - обобщённо однородная. Надо попробовать её вручную решить. Коэффициенты, естественно, обозначить буквами, и использовать для вычислений ту же Математику. Успеха, естественно, не гарантирую.

 
 
 
 Re: Mathematica
Сообщение25.02.2011, 18:01 
Ага, ну в принципе, я уже подумал - мне нужны корни по модулю меньше 1, так что на эти можно не обращать внимания. Осталось только на самой границе решить.

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group