Математический форум Math Help Planet
http://mathhelpplanet.com/

Уравнение Пелля
http://mathhelpplanet.com/viewtopic.php?f=48&t=65909
Страница 1 из 2

Автор:  Luchezarnaja [ 03 июл 2019, 01:06 ]
Заголовок сообщения:  Уравнение Пелля

Здравствуйте.
Есть уравнение Пелля [math]x^2 - 991y^2= 1[/math];
1) Нужно его решить. Подскажите, пожалуйста, как. Если я правильно понимаю, мы ищем ответ в целых числах. Математические преобразования из левой в правую сторону я в состоянии провести сама, они не приближают меня к нахождению решений, к сожалению.
2) Среди прочего в интернетах нашла учебник Дирихле (ссылка на учебник). В учебнике к этому уравнению заходят издалека через формы и бесконечные дроби. Я пытаюсь проделать то же, что и Дирихле.
Дирихле рассматривает уравнение [math]t^2 - Du^2 = o^2[/math], где [math]t, u[/math] целые числа, [math]D[/math] - детерминант формы [math](a,b,c)[/math], которой представимо число [math]m=ax^2+2bxy+cy^2[/math], [math]o^2[/math] - НОД [math](a,b,c)[/math].
Исходя из стр. 184 §84, где разобран пример для [math]D=79[/math], нужно разложить корень формы [math](a,b,c)[/math] в бесконечную дробь. Для этого сперва необходимо составить цепочку из приведенной формы и её соседей справа-слева. Дирихле строит цепочку вправо (стр. 166 §78) на примере [math]D=13[/math], начиная с приведенной формы [math](3, 1, -4)[/math].
Изображение

При этом он описывает алгоритм нахождения соседней справа формы так:
"...Чтобы из приведенной формы [math](a,b,a')[/math] прийти к [math](a', b', a'')[/math],
Изображение".

Я взяла его пример и вбила в эксель.
Изображение
[math]A3=C2, B3=[/math]ОСТАТ[math](-B2; ABS(C2)), C3=(B3^2-$G$2)|A3[/math]; формулы (вроде бы) соответствуют тому, что на картинке выше из учебника, √D - это лямбда, она равна максимальному извлекаемому корню детерминанта.
Как вы могли заметить, начиная со строки 4 у экселя начинаются определенные разногласия с Дирихле.
Согласно Дирихле должно было получиться [math](1, 3, -4)[/math], а у меня получилось [math](1, 0, -13)[/math]. Соответственно, я не могу подобраться к периоду приведенных форм без этого шага. Подскажите, пожалуйста, в чём я ошиблась (или ошибся Дирихле)?

Автор:  Shadows [ 03 июл 2019, 10:51 ]
Заголовок сообщения:  Re: Уравнение Пелля

Ну, вы решили учться на самое самое ужасное число 991. У него период цепной дроби - 60!!!
Никакой Excel вам не поможет, только системы компютерной алгебры - получатся огромные числа.
Минимальное решение в натуральных числах

[math]x_1 =379516400906811930638014896080[/math]
[math]y_1 =12055735790331359447442538767[/math]

Рекуррентное решение

[math]x_n=759032801813623861276029792160x_{n-1}-x_{n-2}[/math]

Аналогично для [math]y_n[/math]. Оно вам надо?

Учитесь на нормальные задачи.

Автор:  Luchezarnaja [ 03 июл 2019, 18:11 ]
Заголовок сообщения:  Re: Уравнение Пелля

Спасибо большое. Я учусь на первом курсе, и у нас замечательный преподаватель, который считает, что лучше один раз прочувствовать, чем сто раз услышать. Так что число 991 не моих рук дело. Если вам нетрудно, не могли бы вы, пожалуйста, объяснить ход решения? До цепных дробей я дошла, в Вольфраме была.
Два вопроса:
1) по существу -- а что делать после получения периода дроби?
2) немного не по существу. Допустим, я хотела бы получить цепную дробь вручную без Вольфрама.
[math]√991=31+\frac{1}{\frac{1}{(√991-31)}}=31+\frac{1}{\frac{√991+31}{991-961}}=31+\frac{1}{\frac{√991+31}{30}}=31+\frac{1}{1+\frac{1+√991}{30}}[/math]

Очевидно, что я в своем решении получаю [math][31; 1,...][/math].
Но в Вольфраме [math][31; 2,...][/math].
Почему?..
upd: я, кажется, поняла -- из [math]√991|30[/math]тоже надо извлечь целую часть, после чего приступать к следующей ступени.

И немного лирики: я ведь и не просила Эксель посчитать корень данного уравнения, я как раз-таки работала в Экселе с очень простыми числами, с коэффициентами приведенных форм. Мне кажется, я делаю то же самое, что и в цепных дробях, потому что Дирихле тоже ищет какой-то период. Но у него формулы вычисления коэффициентов работают, а у меня - нет, и более того, его же формулами я не могу объяснить его вычисления. Если бы я поняла, где ошибка, я могла бы продолжить исследование по методу Дирихле. Но для этого необходимо, чтобы кто-нибудь такой же упорный прочитал и понял этот учебник :lol: .

Автор:  ivashenko [ 03 июл 2019, 18:23 ]
Заголовок сообщения:  Re: Уравнение Пелля

Luchezarnaja писал(а):
Но для этого необходимо, чтобы кто-нибудь такой же упорный прочитал и понял этот учебник :lol: .


Или, что более вероятно, чтобы Дирихле восстал из мертвых и всё объяснил )

Автор:  Luchezarnaja [ 03 июл 2019, 18:26 ]
Заголовок сообщения:  Re: Уравнение Пелля

Ваше "более вероятно" лишает меня последних надежд))) :o :D1

Автор:  ivashenko [ 03 июл 2019, 18:32 ]
Заголовок сообщения:  Re: Уравнение Пелля

Менее вероятное может исключить только противоположное достоверное, но не более вероятное. Так что не расстраивайтесь и продолжайте надеяться :D1

Автор:  Luchezarnaja [ 03 июл 2019, 21:30 ]
Заголовок сообщения:  Re: Уравнение Пелля

Немного бесполезной информации.
Я разобралась с уравнением (но не с Дирихле).

Если кому-то вдруг понадобится на будущее, алгоритм решения уравнения Пелле в нынешних реалиях таков:
1) берем число [math]D, D \in N[/math], которое не квадрат, и раскладываем его в цепную дробь с помощью Вольфрама (или ручками через окей, Гугл, как разложить корень в цепную дробь?) командой Continued fraction sqrt(D) (https://www.wolframalpha.com/);
2) считаем количество элементов (k): [math][a_{0}[/math]; a[math]_{1}[/math], ..., a[math]_{k}][/math]; молимся, чтобы k было чётным, если нечётное - дальше можно не читать;
3) записываем, куда удобно (листок/эксель/компилятор/подставить своё);
4) теперь считаем [math]Q_{k-1}[/math] и [math]P_{k-1}[/math] по формулам:
Изображение
(http://stu.sernam.ru/book_algebra.php?id=235,
Куликов Л.Я. Алгебра и теория чисел: Учеб. пособие для педагогических институтов, с. 382)
P и Q это числитель и знаменатель подходящей дроби; минимальная подходящая дробь, являющаяся решением уравнения, всегда идёт под нечётным номером k-1, при этом таких пар чисел бесконечно много, потому что дробь периодичная => любая пара [math]P_{n*k-1}[/math] и [math]Q_{n*k-1}[/math] будет решением уравнения Пелля. Доказательство в пособии отсюда (Бугаенко В. О. Уравнение Пелля, с. 26).

[math]\frac{ x }{ y }[/math] [math]=[/math] [math]\frac{ P }{ Q }[/math].

Следует иметь в виду, что график этой функции - гипербола, а она симметрична относительно OX.
Изображение

Вероятнее всего, это означает, что возможны любые комбинации корней [math](+ Q, + P)[/math], [math](- Q, - P)[/math], [math](\pm P[/math], [math]\mp Q)[/math].


Shadows писал(а):
[math]x_1 =379516400906811930638014896080[/math]
[math]y_1 =12055735790331359447442538767[/math]

Спасибо большое! У меня получилось! :impossible:
Изображение
Эксель справился, хоть и потерял точность вычислений на 17 строке из 60.

Автор:  michel [ 03 июл 2019, 21:56 ]
Заголовок сообщения:  Re: Уравнение Пелля

Luchezarnaja писал(а):
Эксель справился, хоть и потерял точность вычислений на 17 строке из 60.

Excel предназначен для бухгалтерских расчетов или для статистических вычислений.
Используйте математические пакеты с возможностью символьных вычислений вроде Maple, Mathcad и др. Вольфрам тоже может работать с целыми длинными числами.

Автор:  Luchezarnaja [ 03 июл 2019, 22:37 ]
Заголовок сообщения:  Re: Уравнение Пелля

michel писал(а):
Luchezarnaja писал(а):
Эксель справился, хоть и потерял точность вычислений на 17 строке из 60.

Excel предназначен для бухгалтерских расчетов или для статистических вычислений.
Используйте математические пакеты с возможностью символьных вычислений вроде Maple, Mathcad и др. Вольфрам тоже может работать с целыми длинными числами.

Спасибо. Я понимаю, но пока не довелось работать ни с одним из этих пакетов. Вольфрамом сегодня воспользовалась впервые. Вы не подскажете, вдруг знаете, есть ли в Вольфраме интерфейс типа Экселя, чтобы можно было строить таблицу по формулам? Я ещё не до конца разобралась с ним, пришлось вручную по строчке вбивать примеры. Это здорово упростило бы мои исследования на оставшихся трех курсах бакалавриата :D1 .

Автор:  Li6-D [ 03 июл 2019, 23:22 ]
Заголовок сообщения:  Re: Уравнение Пелля

Вариант реализации алгоритма на точном калькуляторе:
Изображение
Для данного расчета выбрал второе решение.
Потребовалось 35 мс машинного времени старенького ноутбука.
Калькулятор можно скачать здесь: http://preccalc.sourceforge.net/


Код:
/*Решение уравнений Пелля*/
p=991;/*аргумент уравнения Пелля (натуральное число)*/
i=2;/*Номер решения*/
k=sqrt p;
M=0;
R=(0,1);
c=trunc k;
M=(M,c);
if(k-c,if(c-2*M[1],k=1/(k-c),gotor4),gotor2);
gotor-3;
print "Решений нет";
return;
print "Период цепной дроби:",w=width M-2;
print "Цепная дробь:",M[1],M[2,w+1];
foreach(z,reverse M[0,w],R=(R[1],R[0]+z*R[1]);
z=i;
if(w mod 2,z=2*z-1,goto LB0);
print i,"-ое решение уравнения X^2=",p,"*Y^2-1 в целых числах:";
Y=(R[0]+sqrt p*R[1])^z;
print"X=",X=round(Y+(R[0]-sqrt p*R[1])^z)/2;
print"Y=",Y=round((Y-X)/sqrt p);
z++;
LB0:
print i,"-ое решение уравнения X^2=",p,"*Y^2+1 в целых числах:";
Y=(R[0]+sqrt p*R[1])^z;
print"X=",X=round(Y+(R[0]-sqrt p*R[1])^z)/2;
print"Y=",Y=round((Y-X)/sqrt p);

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/