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 ] 

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



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

Сейчас этот форум просматривают: Stratim, YandexBot [bot]


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

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