2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Кубическое уравнение одного неизвестного и теория чисел
Сообщение25.07.2023, 14:17 


16/08/05
1153
Возможно это тоже будет интересно.

Пусть дано кубическое уравнение $f=ax+bx^2+cx^3$, где $f,a,b,c\in \mathbb{Q}$ и неизвестное $x\in \mathbb{C}$.

Решим в рациональных числах $A,B$ уравнение
$$-\bigg(2 A (a^2 + 3 b f) - (a b + 9 c f)\bigg)^2 + (a^2 + 3 b f)\bigg(\dfrac{1}{B}\bigg)^2 + ((a b + 9 c f)^2 - 4 (b^2 - 3 a c) (a^2 + 3 b f))\bigg(1\bigg)^2=0$$

Тогда

$$v = -4 B^3 ((2 a A - b) (a^2 A^2 - a A b - 2 b^2 + 9 a c) + 9 (A^2 (a A - 2 b) b + 3 A (a A + b) c - 3 c^2) f + 27 A^3 c f^2)$$

$$z=Cos(\dfrac{1}{3}(ArcCos(v) + 2 \pi j)),\quad j=0,1,2$$

$$x=\dfrac{B (-b+2 a A+3 A^2 f)+z}{B (3 c-2 b A+a A^2)-A z}$$

Уравнение для рациональных $A,B$ это диофантово уравнение $rX^2+sY^2-tZ^2=0$, где $r,s,t\in \mathbb{Z^+}$ и $X,Y,Z\in \mathbb{Z}$.

В pari/gp это уравнение можно параметрически решить кодом M=matdiagonal([r,s,-t]);Q=qfparam(M,qfsolve(M)).

Пусть $m,n\in \mathbb{Z}$ параметры в параметрическом решении $A,B$. Тогда получается что в зависимости от произвольных $m,n$ каждый конкретный корень $x$ имеет безконечную серию различных арифметических форм численно одного и того же значения.

(Wolfram код для проверки)

Автоматизация проверки пока не полная с некоторым ручным трудом.

Код:
Clear[f, a, b, c, A, B, z, v, m, n]
{f, a, b, c} = RandomInteger[{-100, 100}, 4]; {f, a, b, c} = {-56, 24, 8, 1};
Print["\nEquation: ", (-f + a x + b x^2 + c x^3) // Factor, " = 0\n"];
{-(2 A (a^2 + 3 b f) - (a b + 9 c f))^2, (a^2 + 3 b f) (1/B)^2, ((a b + 9 c f)^2 - 4 (b^2 - 3 a c) (a^2 + 3 b f))} // Factor

Если GCD трех коэффициентов отличается от 1, то нужно разделить на него, например так

Код:
GCD[-576 , -768, 72768]
-{-576 , -768, 72768}/192

Найденные коэффициенты использовать в pari/gp например так

M=matdiagonal([3,1,-379]);Q=qfparam(M,qfsolve(M));
? print (Q[1, 1]*m^2 + Q[1, 2]*m*n + Q[1, 3]*n^2)
-33*m^2 + 8*n*m + 11*n^2
? print(Q[2,1]*m^2+Q[2,2]*m*n+Q[2,3]*n^2)
-12*m^2 - 66*n*m + 4*n^2
? print(Q[3,1]*m^2+Q[3,2]*m*n+Q[3,3]*n^2)
-3*m^2 - n^2


Полученную параметризацию скопипастить из pari/gp в W.Mathematica чтоб найти $A,B$

Код:
Solve[(-13 + 64 A) == (-33*m^2 + 8*n*m + 11*n^2)/(-3*m^2 - n^2), A]
Solve[2/B == (-12*m^2 - 66*n*m + 4*n^2)/(-3*m^2 - n^2), B]

И в итоге

Код:
{m, n} = RandomInteger[{-100, 100}, 2];(*{m,n}={1,1};*)
A = (36 m^2 - 4 m n + n^2)/(32 (3 m^2 + n^2)); B = (3 m^2 + n^2)/(6 m^2 + 33 m n - 2 n^2);
v = -4 B^3 ((2 a A - b) (a^2 A^2 - a A b - 2 b^2 + 9 a c) + 9 (A^2 (a A - 2 b) b + 3 A (a A + b) c - 3 c^2) f + 27 A^3 c f^2) // Simplify;
z = Table[Cos[(ArcCos[v] + 2 Pi j)/3], {j, 0, 2}] // Simplify;
Print["\nTrigonometric solution:\n"];
x = (B (-b + 2 a A + 3 f A^2) + z)/(B (3 c - 2 b A + a A^2) - A z) //Simplify;
Print[x, "\n"];
Print[x // N // Sort, "\n"];
Print["Solution by CAS:\n"]; Clear[x];
Print[x /. (-f + a x + b x^2 + c x^3 // NSolve) // Sort, "\n"];


FullSimplify в W.Mathematica позволяет убедиться в корректности работы формул:

Изображение

 Профиль  
                  
 
 Re: Кубическое уравнение одного неизвестного и теория чисел
Сообщение26.07.2023, 22:24 
Заслуженный участник
Аватара пользователя


21/11/12
1968
Санкт-Петербург
Корни кубического уравнения в тригонометрической форме — вопрос вроде бы изученный. Но хорошо, предположим.
dmd в сообщении #1602408 писал(а):
Уравнение для рациональных $A,B$ это диофантово уравнение $rX^2+sY^2-tZ^2=0$, где $r,s,t\in \mathbb{Z^+}$ и $X,Y,Z\in \mathbb{Z}$.
В pari/gp это уравнение можно параметрически решить кодом M=matdiagonal([r,s,-t]);Q=qfparam(M,qfsolve(M)).
Это уравнение разрешимо вовсе не для любых $r,s,t.$ Условия разрешимости — теорема Лежандра. Выходит, разрешимо не любое кубическое уравнение? Или всё же речь о поиске рационального корня? Тогда (извиняюсь за саморекламу) почему бы не искать его напрямую https://dxdy.ru/post1503115.html#p1503115 ?

 Профиль  
                  
 
 Re: Кубическое уравнение одного неизвестного и теория чисел
Сообщение27.07.2023, 04:51 


16/08/05
1153
Andrey A в сообщении #1602626 писал(а):
Или всё же речь о поиске рационального корня?
Нет, формула находит именно обыкновенные комплексные корни кубического уравнения.

Andrey A в сообщении #1602626 писал(а):
Это уравнение разрешимо вовсе не для любых $r,s,t.$ Условия разрешимости — теорема Лежандра.
Теорема Лежандра заложена в qfsolve и qfparam, а поймать недопустимые $r,s,t$ в данном контексте у меня пока не получилось.

 Профиль  
                  
 
 Re: Кубическое уравнение одного неизвестного и теория чисел
Сообщение27.07.2023, 08:30 
Заслуженный участник
Аватара пользователя


21/11/12
1968
Санкт-Петербург
dmd в сообщении #1602673 писал(а):
... поймать недопустимые $r,s,t$ в данном контексте у меня пока не получилось.
Значит равенство $rX^2+sY^2-tZ^2=0$ следует из предыдущего, как и и пара рациональных $\dfrac{X}{Z},\dfrac{Y}{Z}$. Судя по всему.

 Профиль  
                  
 
 Re: Кубическое уравнение одного неизвестного и теория чисел
Сообщение14.08.2023, 20:40 


16/08/05
1153

(Полный pari/gp код для проверки)

Код:
{
while(1,

  [f,a,b,c]= vector(4, i, ((-1)^random(2))*(random(100)+1));

  Eq= -f+a*'x+b*'x^2+c*'x^3;

  if(polisirreducible(Eq), break())

);

print("\nEquation: "Eq" = 0\n");

print("Solution by CAS:\n\n",polroots(Eq),"\n");

k1= a^2 + 3*b*f; k2= b^2 - 3*a*c; k3= a*b + 9*c*f;

M= matdiagonal([-1, k1, k3^2 - 4*k2*k1]);

Q= qfparam(M,qfsolve(M));

[m,n]= vector(2, i, ((-1)^random(2))*(random(100)+1));

A= ((Q[1,1]*m^2 + Q[1,2]*m*n + Q[1,3]*n^2)/(Q[3,1]*m^2 + Q[3,2]*m*n + Q[3,3]*n^2) + k3)/2/k1;

B= (Q[3,1]*m^2 + Q[3,2]*m*n + Q[3,3]*n^2)/(Q[2,1]*m^2 + Q[2,2]*m*n + Q[2,3]*n^2);

v= -4*B^3*(k2*(2*b - 3*a*A - 9*f*A^2) + A*k1*(9*c - 3*b*A + 2*a*A^2) - 3*k3*(c - f*A^3));

z= vector(3, j, cos((acos(v)+2*Pi*(j-1))/3));

x= vector(3, i, (B*(-b + 2*a*A + 3*f*A^2) + z[i])/(B*(3*c - 2*b*A + a*A^2) - A*z[i]));

print("Solution by 'formula':\n\n"x);
}

Поскольку это не формула корней в буквальном смысле, а алгоритм, т.к. используется диофанова резольвента, то возникли вопросы. Можно ли считать данный способ представления корней уравнения как "closed form"? И применима ли теорема Абеля-Руфини о неразрешимости общей квинтики к подобному способу выражения корней?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group