Root function

Root function - What method? - Messages

#1 Posted: 10/2/2023 7:00:31 AM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

Do you know what method uses the roots function?
Look at the areas of attraction to the roots. White color - no solution.

Click to enlarge
#2 Posted: 10/2/2023 11:09:09 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Do you know what method uses the roots function ?


Smath roots plugin is essentially Newton.
Descartes used it about a century before.
roots(f(x),x,init)= very accurate
1 users liked this post
Valery Ochkov 10/3/2023 1:05:00 AM
#3 Posted: 10/3/2023 3:09:08 AM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

Wrote

Wrote

Do you know what method uses the roots function ?


Smath roots plugin is essentially Newton.
Descartes used it about a century before.
roots(f(x),x,init)= very accurate



I think the built-in roots function uses a different method than Newton. Which?
#4 Posted: 10/3/2023 9:03:09 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

I think the built-in roots function uses a different method than Newton. Which ?


I get same 15 decimals from either Newton/roots.
Occasionally, roots fails not being able to initialize.


#5 Posted: 12/12/2023 7:26:01 AM
grelkin2

grelkin2

14 likes in 65 posts.

Group: User

polv1i.png
Рассмотрел данную систему в зависимости от задаваемой точности. Красным цветом обозначил точки, которые выходят в NaN, зеленным цветом точки, которые дают хоть одно решение. Часть решений показал желтыми линиями. При повышении точности "белые" области увеличиваются. Это те области, в которых при заданном числе шагов вычислений, не достигается никакого результата.
[ENG]
I considered this system depending on the specified accuracy. In red, I marked the points that go to NaN, in green, the points that give at least one solution. Some of the solutions were shown with yellow lines. As the accuracy increases, the "white" areas increase. These are the areas in which, with a given number of computational steps, no result is achieved.
[ENG]
Анимация polv1i.mov (1 MiB) downloaded 21 time(s).
#6 Posted: 12/12/2023 2:58:01 PM
Valery Ochkov

Valery Ochkov

55 likes in 633 posts.

Group: User

#7 Posted: 12/13/2023 4:36:50 PM
grelkin2

grelkin2

14 likes in 65 posts.

Group: User

Wrote

See please
One article about the Newton method


Спасибо за статью.
Если мы говорим о алгебраическом многчлене f(z)=aₙ*zⁿ+..+a₁*z+a₀=0, aᵢ=const i=0..n
zᵢ=bᵢ+i*cᵢ - i-ый корень уравнения, (bᵢ, cᵢ) искомые вещественные и мнимые части i-корня.
При подстановке и последующей группировки решаем систему из 2-х уравнений Re(f(z))=0 и Im(f(z))=0

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

Для уравнения z^3-5*z^2-1.5=0, после замены z=a+b*i
-3*a*b^2-5*(a^2-b^2)+a^3-1.5=0
-b^3+3*a^2*b-10*a*b=0
Я использую метод Драгилева для решения нелинейных уравнений. Добавлем новую переменную n и константы,
которые будут зависеть от начального положения, то есть уравнение будет
f1(z,n)=z^3-5*z^2-1.5+(a0+a1*i)*n=0, n=1, a0 и a1 такие что при z0=a0+b0*i f1(z0,1)=0
-3*a*b^2-5*(a^2-b^2)+a^3-1.5+a0*n=0
-b^3+3*a^2*b-10*a*b+a1*n=0

Что касается полюсов, областей устойчивости, все это сложная вещь, связанная с правой частью ду
Для уравнений (я ввел дополнительный параметр n)
(x^2+y^2)^2-2*(x^2-y^2)+a0*n-3=0
((x-.5)^2+(y-.5)^2)^2-8*((x-.5)^2-(y-.5)^2)+a1*n=0
Система ду будет следующая
dx/dt = ( -2.0e+1*a0*y+-4.0*a0*(x*x)*y+-4.0*a0*(y*y*y)+9.0e+0*a0+4.0*(x*x)*a1*y+6.0e+0*a0*(y*y)+4.0*a1*(y*y*y)+-2.0*a0*x+2.0e+0*a0*(x*x)+4.0*a1*y+4.0e+0*a0*x*y);
dy/dt = ( 2.0*a0*y+-4.0*(x*x*x)*a1+7.0e+0*a0+-2.0e+0*a0*(y*y)+4.0*x*a1+4.0*a0*x*(y*y)+-1.2e+1*a0*x+-6.0e+0*a0*(x*x)+-4.0*x*a1*(y*y)+4.0*a0*(x*x*x)+-4.0e+0*a0*x*y);
dn/dt = ( 4.0e+0*x*(y*y)+-2.0e+1*(y*y*y)+-8.0*(y*y)+9.6e+1*x*(y*y*y)+8.0e+0*((x*x)*(x*x))*y+-8.0e+0*(x*(x*x)*(x*x))+8.0*((x*x)*(x*x))+-3.2e+1*x*y+-8.0*(x*x)+3.6e+1*x+1.2e+1*(x*x)*y+-2.8e+1*(x*x*x)+-1.6e+1*(x*x*x)*(y*y)+1.6e+1*(x*x)*(y*y*y)+9.6e+1*(x*x*x)*y+-8.0e+0*x*((y*y)*(y*y))+-2.8e+1*y+8.0e+0*(y*(y*y)*(y*y))+-8.0*((y*y)*(y*y)));



  • New Posts New Posts
  • No New Posts No New Posts