проблемы с делением на нуль в Mathematica

Andrey56

считаю собственные значения матрицы
[math]  $$\left(\begin{array}{cccc}  -i\epsilon_1(\phi) & i\beta & -i\gamma & 0\\  -i\beta & i\epsilon_2(\phi)& 0 & i\gamma\\  -i\gamma & 0& -i\epsilon_3(\phi) & 0\\  0& i\gamma & 0 & i\epsilon_4(\phi)  \end{array}  \right)$$  [/math],
где [math]$\epsilon_j(\phi)=k_j\phi^2/2$[/math], [math]$k_j ~ 10^5$[/math].
Получается 4 комплексных корня.
Далее, меня интересует поведение этих соб.значений в зависимости от параметра [math]$\phi$[/math].
Рисую действительную часть решения от параметра [math]$\phi$[/math]. Для одного корня получаю следующий график:

с выводом ошибки Infinite expression... 3 раза.
Решение должно гладко зависеть от параметра [math]$\phi$[/math], но
результат одинаков как для NSolve[], так и для Solve[].
Что посоветуете?

Suebaby

Решение должно гладко зависеть от параметра
ты какой корень выводишь? минимальный? Случайный? Тогда не удивительно
Что посоветуете?
рисовать все собственные значения сразу. Как это делать в Mathematica — понятия не имею.

Andrey56

Вот все корни.




Решаю так
sol[phi_]=Solve[...,lambda];
lambda_1[phi_]=lambda/.sol[phi][[1,1]];
...

Suebaby

Говорить о поведении корня в зависимости от phi некорректно, т.к. корни иногда совпадают. Именно поэтому возникают изломы: система переключается с одного корня на другой, проходя через особую точку.
Попробуй рисовать корни на одном рисунке, говорю ж.
Оставить комментарий
Имя или ник:
Комментарий: