Научная статья на тему 'О некоторых вопросах диофантовых приближений'

О некоторых вопросах диофантовых приближений Текст научной статьи по специальности «Математика»

CC BY
375
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Чебышевский сборник
Scopus
ВАК
RSCI
Область наук

Аннотация научной статьи по математике, автор научной работы — Басалов Ю. А., Пацукова А. Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON SOME QUESTIONS IN DIOPHANITE APPROXIMATIONS

This work is information review on the problem of the best diophantine approximations. First part is review continued fraction’s theory. In second part are given the most known facts on a problem of joint approximations. In third part are offered some algorithms of search joint diophantine approximations.

Текст научной работы на тему «О некоторых вопросах диофантовых приближений»

ЧЕБЫШЕВСКИЙ СБОРНИК Том 13 Выпуск 3 (2012)

УДК 511.9

О НЕКОТОРЫХ ВОПРОСАХ ДИОФАНТОВЫХ ПРИБЛИЖЕНИЙ

© 2012. Ю. А. Басалов, А. Н. Пацукова (г. Тула)

Аннотация

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

ON SOME QUESTIONS IN DIOPHANITE APPROXIMATIONS

© 2012. Y.A.Basalov, A. N. Pacukova (c. Tula)

Abstract

This work is information review on the problem of the best diophantine approximations. First part is review continued fraction’s theory. In second part are given the most known facts on a problem of joint approximations. In third part are offered some algorithms of search joint diophantine approximations.

1. Одномерный случай..........................................5

1.1 Цепные дроби...............................................5

1.2 Наилучшие приближения......................................7

1.3 Уточнение константы в теоремах о наилучших приближениях ...8

1.4 Алгоритм вытягивания носов ................................9

2. Многомерный случай .......................................10

2.1 Алгоритм Якоби-Перрона ...................................11

2.2 Теорема Минковского и теорема переноса....................12

3. Об алгоритмах поиска наилучших приближений ...............14

3.1 Введение .................................................14

3.2 Целочисленные решетки.....................................16

3.3 Псевдополиномиальный алгоритм.............................18

3.4 Псевдолинейный алгоритм ..................................21

3.5 Геометрическая оптимизация................................24

Список цитированной литературы ...............................26

1 Работа выполнена по гранту РФФИ 11-01-00571

1 Одномерный случай

Наибольшее целое число меньшее или равное х называется целой частью числа х (обозначается как [х] ). А {х} = х — [х] — дробной частью числа х. Расстояние от числа до ближайшего целого определяется, как

||х||. = шт({х}, 1 — {х}). (1)

Теорема 1. (Дирихле, 1842)[7].

Пусть а и Я ^ пРоизвольные действительные числа, причем Я > 1. Тогда найдется целое число д, такое что 1 < д < Я и

«9а». < Ц. (2)

Или же, что эквивалентно: существуют целые числа р и д, такие что

1 < д < Я и

а — ^ < Ц-<1• (3)

д Цд д2

Как видим, данное утверждение гарантирует то, что любое действительное число можно приблизить рациональными с высокой степенью точности. Это

рд

а

1.1 Цепные дроби

Простейшей цепной или непрерывной дробью называется выражение

1

ао + 1 • (4)

а\ +--------

Й2 +

В наиболее общем случае а0, а2, • • • являются произвольными переменны-

ми. Далее мы будем считать, что а0 — целое число, а а\,а2,... — натуральные. Для большего удобства записи непрерывную дробь (4) иногда обозначают так: [а0; а1; а2; • • •]. Если цепная дробь обрывается на некотором элементе ап, то ее называют конечной или и-членной. В противном случае она называется бесконечной.

Например, число л/2 допускает разложение в следующую цепную дробь:

^2=1 +-----------------Ц-•

1

V2-1

Теперь разложим ai в непре-

Действительно, пусть л/2 = а0 + и если потребовать того, чтобы а0 было

а0 = 1 а1

рывную дробь: пусть

11

а1 — —^~ — а1 + — ,

V2 -1

a 2

тогда a1 = 2 и

a2

V2 - 1 'Л - 1

ai - 2 ^2-Г - 2 3 - 2^/2 (У2 - 1)2 У2 - 1

ai.

ап

То есть данное разложение будет бесконечным и периодическим.

Отметим основные свойства цепных дробей.

Подходящей дробью называют число:

Рп

Qn

n

— = ao +

1

(в)

ai +

a2 +

an

Несложно понять, что — = р(a°’ '",an\ где P и Q — многочлены. Также,

’ qn Q(ao, an)^ ™ ’

очевидно, что ^ = a0 = a0. Основы аналитической теория цепных дробей были созданы Леонардом Эйлером в середине XVIII века.

Теорема 2. (Закон образования подходящих дробей, Эйлер) [6]. Пусть p0 = a0, ,q0 = 1, p-1 = 1, q-1 = 0 Тогда для любого к > 1:

Pk = akPk-i + Pk-2, Qk = ak Qk-i + Qk-2-

(6)

1

1

1

1

1

1

Следствие 1. (Эйлер)[6].

Для всех к > 0

дк рк-1 — рк дк-1 = (—1)к • (7)

Следствие 2. (Эйлер)[6].

Для всех п > 1

Рп-1 — рп = (—1)п ,8ч

дп-1 дп дпдп-1

Следствие 3. (Эйлер)[6].

Для всех к > 1

дк Рк-2 — Рк дк-2 = (—1)к-1ак • (9)

Следствие 4. (Эйлер)[6].

Для всех n > 2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Pn-2 Pn _ (-l)n-1an ^

дп-2 дп дпдп-2

Отсюда следует, что подходящие дроби четного порядка образуют возрастающую, а подходящие дроби нечетного порядка - убывающую последовательность. При этом любая подходящая дробь нечетного порядка больше любой подходящей дроби четного порядка.

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

Теорема 3. [6].

Значение сходящей цепной дроби а при любом к > 0 удовлетворяет неравенству

11

< ----- < -2 • 11

дкдк+1 д2

Pk

а----------

дк

То есть, подходящие дроби и есть числа, удовлетворяющие теореме 1(стр. 5). Таким образом, мы ответили на вопрос, поставленный в начале этой главы. Однако, цепные дроби позволяют ответить и на многие другие вопросы. Остановимся на них подробнее, в следующих пунктах.

В заключение этого пункта отметим одну важную теорему.

Квадратичной иррациональностью называется любой из действительных корней уравнения Ах2 + Вх + С = 0, где А,В,С- целые числа, или же любое число вида а + вл/п, где а и в ~ рациональные числа, п > 1 - натуральное число, не являющееся точным квадратом.

Теорема 4. (Лагранж, 1770) [6].

Квадратичные иррациональности, и только они, разлагаются в бесконечные периодические непрерывные дроби.

1.2 Наилучшие приближения

Дробь |, (Ь > 0) называется наилучшим приближением первого рода к числу а, если для любых с и в таких, что 0 < в < Ь и | = верно

a с

а — - < а :

b d

Дробь |, (b > 0) называется наилучшим приближением второго рода к числу а, если для любых с и d таких, что 0 < d < b и | _ верно

\ba — a\ < \da — с\. (13)

а > с

а — - а :

Ь в

В терминах расстояния последнее условие можно записать как ||Ьа||8 < ||ва||8. Покажем, что всякое приближение второго рода есть приближение первого рода. Предположим обратное, тогда для наилучшего приближения второго рода имело бы место

п п

> 0, Ь > в> 0-

Перемножая эти неравенства, получим \Ьа — а\ > \ва — с\ - то есть, дробь | не является приближением второго рода. Получили противоречие, значит наше утверждение доказано.

Промежуточной дробью называется число

Рк-2 + * Рк-1 дк-2 + * дк-1 ’

где — - подходящая дробь п-ого порядка, а 0 < * < ак.

Я.П

а

есть промежуточная или подходящая дробь к цепной дроби, изображающей это число.

Для наилучших приближений второго рода справедлива следующая теорема:

Теорема 6. [6].

Всякое наилучшее приближение второго рода есть подходящая дробь.

Для теоремы 6 существует и обратная:

Теорема 7. [6].

Всякая подходящая дробь есть наилучшее приближение второго рода. Единственное исключение составляет а = а0 + 1 и — = ^0-

0 2 до 1

Теоремы 5, 6 и 7 (стр. 8) полностью раскрывают ценность аппарата цепных дробей. Оказывается, непрерывные дроби не просто хорошо приближают действительные числа, а делают это наилучшим образом. Однако, как будет показано дальше, это не единственный путь к решению этой проблемы.

1.3 Уточнение константы в теоремах о наилучших приближениях

Са

Рд

Р

а----

д

< С? <14>

(Это условие превращается в условие теоремы 1 (стр. 5), при С =1).

Теорема 8. (Гурвиц, 1891) [6, 7].

Максимально возможное значение константы С равно л/5.

Теорема 9. (Лиувилль, 1844) [7].

Пусть а — алгебраическое действительное число степени ¿. Тогда существует постоянная с(а) > 0 такая, что

Р

а----

Я

>

с(а)

для всех рациональных чисел, -, отличны,х от а.

Теорема 10. (Рот, 1955).

Пусть а — алгебраическое действительное число степени в > 2. Тогда для, любого 5 > 0 неравенство

Р

а----

Я

<

~і2+д

имеет лишь конечное число решение в рациональных числах

Доказательство последнего утверждения можно найти в книгах [7] и [4].

а

Я

і

1.4 Алгоритм вытягивания носов

Рассмотрим геометрическую интерпретацию наилучших приближений

а

Для этого построим в декартовой системе координат прямую у = ах. Для наглядности возьмем а = л/2- Построим единичные вектора є-І = (і, 0) и ео = (0,1) Будем прибавлять к вектору е—І вектор до тех пор, пока результирующий вектор не пересечет нашу прямую. То есть, пока вектор е— + аоё0 будет ниже прямой у = ах В нашем случае а0 = 1. То есть, еІ = є—І + а0 -ео = (1,1)

Возьмем теперь вектора = (0,1) и еІ = (1,1). Будем искать такое наибольшее а\, что вектор — + а\ ■ еІ еще те ^^^у прямую. Получим, что а\ = 2

иб2 = во + аі ■вві = (2, 3).

Следующий вектор будет

~е3 = еІ + а2 ■ = (1,1) + 2 ■ (2, 3) = (5, 7).

Продолжая, мы будем получать все новые и новые вектора. С каждым разом они будут все удлиняться (именно отсюда алгоритм получил свое название). Несложно показать, что данный алгоритм решает задачу поиска наилучших приближений [1].

/

/

/

/ /

/

^2

ël

S, //i L- b,

е-1

Рис. 1: Алгоритм "вытягивания носов" для а = у/2.

2 Многомерный случай

Обобщим основную задачу, на которой мы сосредоточимся в дальнейшем. Основные определения возьмем из предыдущей части.

Теорема 11. (Дирихле, 1842) [7].

Пусть а.\, а2, ..., ап и Я - произвольные действительные числа, причем Я > I. Тогда найдется целое число д такое, что 1 < д < Яп и

max {\\gai\\s) < 1. г Q

(15)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Или же, что эквивалентно: существуют целые числа, р\, ,р2 ,..., рп и д такие, что 1 < д < Яп и

max

i

(Ь ■ « I)

1 1

< — <

Qg

g

(16)

Теорема 12. (Дирихле, 1842) [7].

Пусть а1, а2, ..., ап и Q - произвольные действительные числа, причем Q > 1. Тогда существуют целые числа, g1, g2,..., gn и p такие, ч,то 1 < max (|gi|, |g2|,..., \gn\) <Qn и

У, аг ■ gi - p

1< i<n

1

< —. < Q

Теорема 13. (Дирихле, 1842) [7].

Пусть а^ (1 < г < п, 1 < ] < т) и Я - произвольные действительные числа, причем Я > 1. Тогда найдутся целы,е числа, д1, д2,..., дт и Р1, Р2,■■■, Рп такие, что 1 < тах (^1, \д21, ■ ■ ■, \дт\) < Я™ и

а%з • Ъ — рг

1<^'<т

1

< у (1 < г < п) ■

(18)

Последняя теорема является обобщением двух предыдущих. В третьей части мы займемся проблемой поиска чисел, удовлетворяющих первой теореме. Остановимся прежде на наиболее интересных фактах, полученных на пути решения этой проблемы.

2.1 Алгоритм Якоби-Перрона

Введем понятие векторной цепной дроби. Векторной цепной дробью называется выражение вида:

а0 + 1-. (19)

-1 + а~,----

а2 + • • •

Здесь а0, а1, а2, ■ ■ ■ являются произвольными т-мерными векторами. Для большего удобства записи непрерывную дробь (19) иногда обозначают так:

[а0; Ол; а2; ...]. Если цепная дробь обрывается на некотором элементе аП,

п

бесконечной.

Аналогично одномерному случаю вводится понятие подходящей дроби:

с Г—У —У —н (рк,1 рк,2 рк,т\

Ьк = [а0; ¡1; ...; ак] = --, --, ■ ■ ■, -- ■

дк дк дк

В конце девятнадцатого века Якоби заинтересовался обобщением теоремы Лагранжа на двумерный случай и в результате построил первые векторные дроби. Он разработал первый алгоритм, позволяющий разложить вектор в векторную цепную дробь. А Перрон в 1907 году в своей магистерской диссертации исследовал этот алгоритм. В их честь, он был назван алгоритмом Якоби-Перрона. Рассмотрим его.

В нем обращение вектора выполняется по правилу Якоби:

1 =_________1_______= (^Ь^Ь1_ тЛ (20)

Ь (Ь1 , Ь21 Ь3 , . . . , Ьт) \ Ьт Ьт Ьт Ьт /

Обозначим через [ Ь ] вектор ([Ь1], [Ь2], [Ь3],..., [Ьт]). Пусть мы раскладываем в цепную дробь вектор аа = (а1, а2,а31..., ат) = г0. Тогда:

1. Положить а0 = [а] и п = 0.

2. Если [а0; а; ...; аП] = а, то КОНЕЦ, иначе гП+1 = ^]_и п = п +1.

3. Положить аП = [гП,] и перейти на шаг 2.

Для подходящих дробей, в свою очередь, справедливы соотношения, аналогичные одномерному случаю:

рк,1 ак,трк-1,1 + ак,т-1рк-2,1 + ... + ак,1рк-т,1 + рк-т-1,11 рк,2 = ак,трк-1,2 + ак,т-1рк-2,2 + ... + ак,1рк-т,2 + рк-т-1,21

............................................................ (21)

рк,т ак,трк-1,т + ак,т-1рк-2,т + ... + ак,1 рк-т,т + рк-т-1,т1

дк — ак,т дк-1 + ак,т-1дк-2 + ... + ак,1 дк-т + дк-т-1.

при начальных условиях д0 = 1,р0^ = [а^] и д-3 = 0^^,^ =

В качестве примера разложим в непрерывную дробь вектор (У4, У2).

1. Имеем Го = (У4, У2). Тогда а0 = (1, 1).

2- а = (34-.‘32-1) = (-V-1 И-т)-Тогда а = <3 2)

з. а = 1 = 1 = 1

^ 1 О 34-1 <Л (4-3 32 (32)2-2 32+^ ^ 4-3 32 3/^ ^

^ 32-1 3’ 32-1 2 V 32-1 ’ 32-1 ) V 32-1 ^2 )

(т- 1 (4Й1 ).и а = (3, 3).

(1о 4-3 32 (4-3 32 2-3( 32)2+3 32-Л (4-3 32 V Л

^^2-1-3, (32-1)2-3) {-32-1 ’ (32-1)2 ) ХУ-,л/ )

(жг 1 (-^)■ а = (3,3)-

Отсюда можно заключить, что данное разложение периодическое, с длиной

(5 4й е 19 15й

’ \31 3)"' V121 12Л

еерПОДй 1. ВОТ НвСКОЛЬКО ПерВЫХ ПОДХОДЯЩИХ дробей: (11 1) 4^ ^19 15

78 58'

46 1 46 /

Однако надо заметить, что многомерные цепные дроби не обладают свойством наилучших приближений в общем случае (хотя, в нашем случае, все подходящие дроби обеспечивают наилучшее приближение). Это связано с невозможностью получить многомерных аналогов следствий 1-4 теоремы 2 (стр. 6).

2.2 Теорема Минковского и теорема переноса

Будем обозначать \ИХ\ = тах (|хг|).

1< г<п

1

1

1

Теорема 14. (Минковский, 1910) [7].

Пусть

^¿(х) = а^ • хз (1 < г < п)

1<3<т

- линейные формы, а С(х) = (Ь1(х) 1 ^(х) ...1 Ьп(х)), гдеИХ = (х1)х21... 1хт). Тогда существует целая точка (°1 °) = (х^х^... ^^у^у^... 1уп), в которой а = 0 , такая, что

С 1 с ттпп (т + п)!

<Ст,п {ОТ1 Ст,п = (т + п)т+п • т! п! ^

Ц(х) - у

Следствие 5. Положим m =1 (одномерные линейные формы) и неравенство max II аздН s < Cf. Тогда

1< i<n q f

Cn = yC,

n

n + 1

Если вычислить С1; то получим С1 = |. Как было показано выше, минимальное значение такой константы равно ^ Ир и п = 2, С2 = |. Значение же минимальной константы лежит в пределах от до 0.615 [7]. Для больших значений

Рассмотрим линейные формы двойственные, к линейным формам Ьг(х):

Мз(п) = £ а^ • «¿(1 < з < т)

1^<п

Аналогично М(и) = (М^п) М2(и)1 ... 1 Мт(п)).

Теорема 15. (Теорема переноса) [7].

Пусть целая, точка, {1° 1 °) = (х11х21... 1 хТ1 у1^у2 ^... ■, уп) = ( 0 1 0 ), такова, что . , .

< У

\~?Х| < X и L(x) — у

Тогда существует целая точка (1Ї,—V) = (щ,и2,... ,un,vi,v2,... ,vm) = (0 , 0 ), что

->•

\1Ї\ < U и M(u) — v

где

< V

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т 1 — т 1 — п п

и = т+п — 1 . т+п — 1 т + п — 1 . т + п — 1

Первая теорема позволяет получать хорошие оценки констант в теоремах о наилучших приближениях в многомерном случае. По сути, это единственный полученный результат подобного рода. Вторая теорема, в свою очередь, устанавливает связи между решениями задач в случаях разных размерностей.

3 Об алгоритмах поиска наилучших приближе-

3.1 Введение

Попробуем решить задачу поиска наилучших совместных приближений в случае нескольких одномерных линейных форм. То есть, для данного набора чисел а\, а2,... , ak найти последовательность целых чисел q1,q2,... ,qi,... ,qn таких, что

max (\\qiaj||s) < max (\\daj||s) (22)

1<J<k 1<J<k

d < qi

такая последовательность бесконечна, но достаточно очевидно, что мы можем получить лишь конечное число ее членов).

Поиск таких чисел очень удобно реализовать с помощью ЭВМ. Для написания программы, решающей задачу (15), можно было бы взять какой-нибудь классический язык программирования (C++, Pascal) или же матпакет (Wolfram Mai hemal ica. Maple, Mathcad). Но первым не хватает точности, а вторым — быстродействия. Поэтому все численные эксперименты производились на языке Python. В нем есть очень длинные целые и действительные числа, а так же он обладает приемлемым быстродействием.

Самой очевидной, и в тоже время самой неэффективной, реализацией алгоритма поиска наилучших диофантовых приближений является полный перебор. Очевидно, что тривиальное наилучшее приближение это число 1 (будем считать его нулевым по порядку). Запомним расстояние в этом случае. Будем перебирать все числа до тех пор, пока расстояние для данного числа будет больше расстояния для 1. Запомним это число и текущую норму. Продолжим перебирать числа до тех пор, пока не найдем более хорошее приближение.

Алгоритм 1.

1. Положить q = {1}, d = 2 и r = max (||aj||s).

1<j<k

2. Если max (\\daj ||s) < r, to r = max (\\daj ||s) и добавить d в q.

i<j<k i<j<k

3. d = d +1, перейти на шаг 2.

Работа этого алгоритма настолько очевидна, что мы опустим доказательство его корректности.

Сложность данного алгоритма зависит лишь от размера наилучшего приближения, и никак - от его порядкового номера. В результате численных экспериментов было выясненно, что за приемлемое время этот алгоритм позволяет находить все наилучшие приближения вплоть до длины в 6-7 десятичных цифр.

В эти границы попадают первые 10-20 наилучших приближений. При дальнейших попытках поиска быстродействие катастрофически падает. Поэтому для получения больших результатов требуется найти алгоритм, сложность которого зависела бы от порядкового номера приближения. В дальнейшем, под N будем понимать порядковый номер приближения, а под К - размерность задачи (количество чисел аг).

Проиллюстрируем результаты работы алгоритма, описанного выше.

1. К = 2, а1 = у/2, а2 = у/3

N Ч Р1 Р2

1 1 1 2

2 3 4 5

3 7 10 12

4 22 31 38

Б 34 48 59

6 41 58 71

7 1 183 1 673 2 049

8 1 463 2 069 2 534

9 2 646 3 742 4 583

10 4 109 5 811 7 117

11 16 477 23 302 28 539

12 20 Б86 29 113 35 656

13 134 421 190 100 232 824

14 171 484 242 515 297 019

15 192 070 271 628 332 675

16 326 491 461 728 565 499

17 2 1Б1 016 3 041 996 3 725 669

2. К — 3, а1 — у/2, а2 — у/3, аз — у/5

N Ч Р1 Р2 Р3

1 1 1 2 2

2 3 4 5 7

3 12 17 21 27

4 22 31 38 49

5 34 48 59 76

6 123 174 213 275

7 1 381 1 953 2 392 4 088

8 2 728 3 858 4 725 6 100

9 4 109 5 811 7 117 9 188

10 2 151 016 3 041 996 3 725 669 4 809 818

3. К = 4, а1 = у/2, а2 = у/3, а3 = у/5, а4 = у/7

N Ч Р1 Р2 Рз Р4

1 1 1 2 2 3

2 3 4 5 7 8

3 12 17 21 27 32

4 22 31 38 49 58

Б 34 48 59 76 90

6 881 1 246 1 526 1 970 2 331

7 1 101 1 557 1 907 2 462 2 913

8 2 004 2 834 3 471 4 481 5 302

9 2 8Б1 4 032 4 938 6 375 7 543

10 2 88Б 4 080 4 997 6 451 7 633

11 3 986 5 637 6 904 8 913 10 546

12 6 837 9 669 11 842 15 288 18 089

13 105 296 148 911 182 378 235 449 278 587

14 316 769 447 979 548 660 708 317 838 092

15 507 697 717 992 879 357 1 135 245 1 343 240

4. К = 5, а1 = у/2, а2 = у/3, а3 = у/5, а4 = у/7, а5 = у/11

N Ч Р1 Р2 Рз Р4 Р5

1 1 1 2 2 3 3

2 3 4 5 7 8 10

3 12 17 21 27 32 40

4 22 31 38 49 58 73

5 183 259 317 409 484 607

6 186 263 322 416 492 617

7 246 348 426 550 651 816

8 881 1 246 1 526 1 970 2 331 2 922

9 3 986 5 637 6 904 8 913 10 546 13 220

10 16 559 23 418 28 681 37 027 43 811 54 290

11 193 813 274 093 335 694 433 379 512 781 642 805

12 337 314 477 034 584 245 754 257 892 449 1 118 744

3.2 Целочисленные решетки

Поставим в соответствие каждому наилучшему приближение ^ числа Рг,\, ... ,Рг,к такие, что для всех ^ \qiUj — р1^ \ = Цца] ||8. Рассмотрим (к + 1) - мерные вектора i = (ц,1, р^1, Р12,..., р^к)• Эти вектора образуют евклидово (к + 1) -мерное линейное пространство.

Базисом линейного пространства называется линейно независимая система, состоящая, в нашем случае, из (к + 1) векторов. Целочисленной решеткой назовем множество векторов ^2 а3 г&3, где а1, а2, ..., ак+1 - всевозможные

1<«<к+1

целые числа, аг^ 1, 2, ..., к+1 - некоторый базис линейного пространства.

Существует бесконечное число целочисленных решеток, узлы которых являются наилучшими приближениями [5].

Введем дополнительные вектора --і для 1 > і > к. Положим

!0, если і = і + 1

1, если і = і + 1

То есть, д-і = 0, а р ^ = 0 за исключением р -і,і = 1. Также, определим вектор Л, положив д0 = 1. Тогда р 0а- - это ближайшее целое число к а^

Теорема 16. . Для любого п > 0, среди векторов е—к, ---+і, ■ ■ ■, -п-, е—, найдется базис (к + 1)- мерного линейного пространства.

Доказательство. Докажем теорему методом математической индукции. Вектора е--к, ---+і, ■ ■ ■ ,Л линейно независимы (например потому, что опре-

Д6ЛИТ6ЛБ

0 0 ■ ■ ■ 0 1

0 0 ■ ■ ■ 1 0

0 1 ■ ■ ■ 0 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 р о,і ■ ■■ р 0,к-і Р 0,к

(^ + 1) ^ / \

равен (—1) 2 = 0). Их число в точности равно к + 1. То есть, согласно опре-

делению, они образуют искомый базис. Таким образом, установлена база индукции.

Пусть среди векторов (П-к, ---+\, ■ ■ ■, -п-і найдется базиса. Тогда и среди векторов п-, п--+і, ■ ■ ■, -—— і, —— тоже найдется базис (например базис, имевшийся в предыдущем наборе векторов, но может найтись и другой базис). Таким образом, теорема полностью доказана.

Докажем теперь более сильную теорему.

Теорема 17. . Для, любого п > 0, среди векторов К--, ---+і, ■ ■ ■, -Л-, ё-, (к + 1)

вектор — —.

Доказательство. Докажем теорему методом математической индукции.

п=0

Пусть утверждение верно для числа п — 1. Пусть базис в данном случае это

—У —У ----У —^ \г^ —У

вектора ті} т2, ■ ■ ■, шк+і. тогда имеет место представление е— = а3 т3,

і<в<к+і

где хотя бы один из коэффециентов а3 отличен от 0. Пусть ар = 0. Рассмотрим систему векторов

т-, ■■■, т---, е-, т—-, ■■■, т-+-

Если мы покажем, что она линейно независима, то тем самым докажем теорему. Вектора — і, ■ ■ ■, т--, т-+-, ■ ■ ■, т-+- линейно независимы по предположению, о том что т-, т-, ■ ■ ■, т-+- - базис. Предположим, что е- =

Е Ь3 т3. Но

1<з<к+1,з=р

&П = ^ а3 т3 + аргпр = ^ Ъ3 гп3

1<з<к+1,з=р 1<з<к+1,з=р

Но отсюда следует р = Е с3г^3, что невозможно, так как вектора

1<з<к+1,з=р

гп\,гп2,... , т—+\ линейно независимы по предположению. Получили противоречие. Значит система

т1,.. .,тр-\,ёП ,т—Х,..., т—+1 линейно независима и теорема доказана.

Замечание 1. . Результаты полученные в этом пункте прекрасно согласуются со всем, известной теорией цепных дробей. Любую подходящую дробь можно представить, как вектор 1/i = (pi,qi). Как известно, для, любых двух соседних векторов справедливо

ді рі

ді+і рі+і

- (ді+ірі - рі+іді) = - ( - 1)

і+і

(- 1)і = 0

То есть, эти вектора образуют базис двумерного евклидового пространства. Также известно, что новое приближение находится ввиде Л = а-- + -і-- Более того, є- = (1а), где а0- число ближайшее к а0, и -^ = (0,1)/

3.3 Псевдополиномиальный алгоритм

Воспользуемся, теоремой 16 (стр. 17) для построения более эффективного алгоритма поиска наилучших совместных приближений.

Допустим, МЫ знаем первые П совместных приближений ц-к, Ц-к+1, . . . , Цп-Переберем все (к + 1)-элементные подмножества, вышеуказанного множества. Среди них обязательно найдется хотя бы один "базисный" набор. Для каждого подмножества ц31, ... , Ц3к+1, будем искать новое наилучшее приближение в виде

ЦНОВОе ^ ^ ар Ц3р

1<р<к+1

Среди всех найденных таким образом "наилучших приближений" выберем минимальное, оно и будет искомым. Единственный вопрос, который остается открытым: в каких пределах перебирать коэффициенты а1, ..., ак+1? Мы предлагаем выбирать эти коэффициенты в пределах — М < ар < М, где М - некоторое целое, достаточно большое, положительное число. Если это число маленькое, то есть вероятность не найти новое наилучшее приближение (когда новое приближение много больше предыдущих). Чем число больше, тем более вероятно, что

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

Ы-

Алгоритм 2.

1. Положить q = {0, ... , 0, , 1}, и r = max (\\aj ||s).

i<j<k

2. Повторить N раз:

(a) d =

(b) По всем (к + 1)-элементным подмножества e множества q:

i. По всем а от — M до M, где 1 < i < к + 1:

a. s = Е aj qj-

1<j<k+1

В. Если max (|| saj ||s) < r и s < d, to d = s.

1<j<k

(c) Если d < +то, то ^^авить d в q и r = max (\\daj ||s). Иначе, сбой

1<j<k

M

Покажем корректность алгоритма. В виду ограниченности значения нового приближения ограничены и коэффициенты в разложении по базису. Следова-

M

все верные совместные приближения.

Оценим сложность алгоритма, здесь и далее K - размерность задачи. На перебор коэффициентов требуется порядка MK+1 операций на каждом наборе qs1, ..., qSK+1. Таких наборов CK+K;+1. При болышом N эта величина стремится к K+!. В итоге для нахождения первых N приближений требуется порядка

(K-Mi)\(Kc+2y. ' NK+2 операций. Значит этот алгоритм полиномиальный относи-

N

произвольных входных чисел, он не сможет достичь оценки O(NK+2), ввиду

M

Приведем некоторые примеры, полученные в результате численных экспериментов, с использованием описанного выше алгоритма. Во всех случаях искались первые 25 наилучших совместных приближений.

1. K = 2, M = 40, ai = V2, а2 =

N q Pi P2

1 1 1 2

2 3 4 Б

3 7 10 12

4 22 31 38

Б 34 48 59

6 41 58 71

7 1 183 1 673 2 049

8 1 463 2 069 2 534

9 2 646 3 742 4 583

10 4 109 5 811 7 117

10 16 477 23 302 28 539

12 20 586 29 113 35 656

13 134 421 190 100 232 824

14 171 484 242 515 297 019

1Б 192 070 271 628 332 675

16 326 491 461 728 565 499

17 2 151 016 3 041 996 3 725 669

18 26 963 149 38 131 651 46 701 544

19 78 411 940 110 891 229 135 813 464

20 237 386 836 335 715 683 411 166 061

21 447 810 523 633 299 715 775 630 578

22 1 580 818 405 2 235 614 828 2 738 057 795

23 10 011 132 893 14 157 879 912 17 339 790 812

24 442 677 451 116 626 040 455 125 766 739 836 698

2Б 494 313 933 986 699 065 469 513 856 176 848 553

2. K = 2, M = IG, ai = VTz, a2 = V3Î

N q Pi P2

1 1 4 6

2 2 8 11

3 7 29 39

4 9 37 50

5 16 66 89

6 81 334 451

7 317 1 307 1 765

8 1 048 4 321 5 835

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

9 1 129 4 655 6 286

10 1 446 5 962 8 051

11 2 575 10 617 14 337

12 8 773 36 172 48 846

13 18 675 76 999 103 978

14 62 223 256 552 346 443

15 80 898 333 551 450 421

16 189 244 780 273 1 053 666

17 270 142 1 113 824 1 504 087

18 2 207 259 9 100 762 12 289 498

19 2 477 401 10 214 585 13 793 585

20 4 684 660 19 315 348 26 083 083

21 34 540 493 142 414 101 192 313 326

22 39 225 153 161 729 449 218 396 409

23 193 918 506 799 546 483 1 079 692 547

24 233 143 659 961 275 932 1 298 088 956

25 1 346 321 461 5 625 241 491 7 596 220 410

3. К = 2, М = 10, аг = лД а2 = уД9

N Ч Рг Р2

1 1 1 4

2 2 3 9

3 3 4 13

4 Б 7 22

Б 14 20 61

6 17 24 74

7 36 51 157

8 53 75 231

9 181 256 789

10 326 461 1 421

11 379 536 1 652

12 886 1 253 3 862

13 1 591 2 250 6 935

14 2 477 3 503 10 797

15 11 552 16 337 50 354

16 19 362 27 382 84 397

17 30 914 43 719 134 751

18 95 219 134 660 415 050

19 126 133 178 379 549 801

20 347 485 491 418 1 514 652

21 1 661 568 2 349 812 7 242 607

22 1 787 701 2 528 191 7 792 408

23 3 449 269 4 878 003 15 035 015

24 40 424 630 57 169 060 176 206 877

25 61 467 729 86 928 496 267 931 619

3.4 Псевдолинейный алгоритм

Продолжим поиски наиболее эффективного алгоритма поиска совместных диофантовых приближений. Ключом, к новой оптимизации, является теорема 17 (стр. 17).

Обозначим за Ъ1 ,Ь2,

->•

, Ък+\ текущий базис целочисленной решетки, в которой выполняется поиск нового приближения. На начальном шаге, это вектора е-к, е-—\,... ,во. На каждом шаге будем обновлять базис за счет вновь найденного вектора, проверяя линейную независимость новой системы векторов, например, с помощью вычисления определителя:

Ъ1

Ъ2

.

Ък

- >

Ък+1

Ч ь-1 Р Ьь1 • . . Р Ь1 ,к- 1 р Ь1,к

Ч Ь2 Р Ь2 , 1 • . . Р Ь2 ,к- 1 Р Ь2,к

Ч Ьк Р Ьк ,1 • . . Р Ьк ,к- 1 Р Ьк ,к

Ч Ьк+1 Р Ьк+1,1 • • Р Ьк + 1,к-1 Р Ьк+1,к

Получив базис, опять будем перебирать коэффициенты а\, .. делах от — М до М.

ak+l в пре-

Алгоритм 3.

1. Положить

r = max(||oj ||s), l<j<k

/0 0 0 0

0

1

1 \

0

01 \1 p 0,1

00

p 0,k-l p 0 ,kj

2. Повторить N раз:

(a) d = +to, i =1

(b) По всем ai от — M до M, где 1 < i < k + 1:

і. s

E aj Qej-

l<j<k+l

ii. Если max (|s«j ||s) < r и s < d, to d = s. l<j<k

(c) Если d < +to, то присвоить r = max (||daj||s) и добавить в e вектор

l<j<k

— = (q, pl, p2, ■ ■ ■ , Pk)> где q = d и pk - это ближайшее целое к числу q • ak.

M

(d) По всем і от 1 до к + 1:

і.

А

—el q b! p b1,1 p b1,k-1 p b1,k

—e —e ll q bi-! P bi-i,l ■■■ p bi—i,k-l p bi—i,k

= q bi+i p bi+i,l ■ ■ ■ p bi+i,k-l p bi+i,k

—e d-Щ: q bk + l P bk+l, l ■ ■ ■ p bk+i,k l p bk+i ,k

q bd p bd,l ■■■ p bd,k- 1 p bd ,k

e = , ■■■ —e e*. 1 —e ■ ■ ■ , —k+l, 4 }■

Закончить перебор г.

Корректность алгоритма обосновывается, как и в предыдущем случае.

Как обычно, оценим сложность алгоритма. На перебор коэффициентов требуется порядка МК+1 операций. В итоге для нахождения первых N приближений требуется не более МК+1 • N операций. Значит сложность этого алгоритма линейна относительного основного параметра N - количества приближений. А

М

e

Приведем пример, полученные в результате численных экспериментов, с использованием описанного выше алгоритма. Искались первые 45 наилучших совместных приближений чисел а1 = л/2 и а2 = л/3 с константой М = 80.

N д Р1 Р2

1 1 1 2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2 3 4 5

3 7 10 12

4 22 31 38

5 34 48 59

6 41 58 71

7 1 183 1 673 2 049

8 1 463 2 069 2 534

9 2 646 3 742 4 583

10 4 109 5 811 7 117

11 16 477 23 302 28 539

12 20 586 29 113 35 656

13 134 421 190 100 232 824

14 171 484 242 515 297 019

15 192 070 271 628 332 675

16 326 491 461 728 565 499

17 2 151 016 3 041 996 3 725 669

18 26 963 149 38 131 651 46 701 544

19 78 411 940 110 891 229 135 813 464

20 237 386 836 335 715 683 411 166 061

21 447 810 523 633 299 715 775 630 578

22 1 580 818 405 2 235 614 828 2 738 057 795

23 10 011 132 893 14 157 879 912 17 339 790 812

24 442 677 451 116 626 040 455 125 766 739 836 698

25 494 313 933 986 699 065 469 513 856 176 848 553

26 936 991 385 102 1 325 105 924 638 1 622 916 685 251

27 2 358 285 571 297 3 335 119 438 877 4 084 670 428 243

28 6 147 876 461 682 8 694 410 271 905 10 648 434 390 290

29 9 443 153 418 081 13 354 635 635 420 16 356 021 503 784

30 11 801 438 989 378 16 689 755 074 297 20 440 691 932 027

31 29 750 754 440 438 42 073 920 420 499 51 529 818 254 344

32 140 247 610 169 211 198 340 072 391 713 242 915 986 453 187

33 169 998 364 609 649 240 413 992 812 212 294 445 804 707 531

34 972 290 117 766 396 1 375 025 871 106 571 1 684 055 883 668 525

35 16 347 132 198 429 705 23 118 336 060 925 198 28 314 063 525 725 367

36 33 666 554 514 625 806 47 611 697 992 956 967 58 312 182 935 119 259

37 83 680 241 227 681 317 118 341 732 046 839 132 144 938 429 395 963 885

38 8 581 058 637 880 536 190 12 135 449 505 209 451 707 14 862 829 543 536 872 891

39 51 520 018 381 797 842 946 72 860 308 729 249 667 209 89 235 289 444 156 356 605

40 111 537 415 160 248 540 765 157 737 725 231 661 946 993 193 188 470 002 453 622 216

41 163 057 433 542 046 383 711 230 598 033 960 911 614 202 282 423 759 446 609 978 821

42 171 638 492 179 926 919 901 242 733 483 466 121 065 909 297 286 588 990 146 851 712

43 506 334 417 901 900 223 513 716 065 000 893 153 746 020 876 996 937 426 903 682 245

44 677 972 910 081 827 143 414 958 798 484 359 274 811 929 1174 283 526 417 050 533 957

45 2995 067 547 667 484 034 322 4235 665 146 134 882 260 618 5187 609 164 660 802 609 756

Данный алгоритм, безусловно, обладает много большим быстродействием, чем все предыдущие. Однако и он неидеален, ведь в нем еще остался полный

М

ность алгоритма становится полиномиальной и скорость его работы сильно па-

дает. Попробуем сделать это перебор направленным.

3.5 Геометрическая оптимизация

Попробуем провести аналогию, с одномерным алгоритмом "вытягивания носов".

В алгоритме вытягивания носов поиск приближений производится вблизи прямой с направляющим вектором (1, а). А что будет, если также направить поиск в многомерном случае? И если при этом учесть, текущий базис, то можно применить эту оптимизацию к полученному ранее линейному алгоритму.

Пусть мы приближаем вектор (а1; а2, ..., ак). Построим в (к + ^-вектор-ном пространстве направляющий вектор а = (1, а1, а2, ак)■ В каче-

стве базиса пространства возьмем текущий базис, в котором ищется наилуч-тттее приближение. Для нахождения новых координат направляющего вектора а = (х1; х2, ... , Хк+1) решим систему е ■ ~Х = ~0'. Затем нормируем его (то есть, сделаем так, что бы наибольший по модулю элемент был равен 1). Будем скользить вдоль этой прямой, производя поиск наилучтттего приближения в ближайших к ней точках.

хе

і 1

/ Є-п

/,

^п—2

Рис. 2: Вектор х = (1, 1 + л/2) для вектора а = (1, л/2) и вектор коэффициентов а = (1, 2) при п > 2.

Получим новый алгоритм: Алгоритм 4.

1. Положить г = тах(||а^||8), и 1<]<к

/0 0 0 0

0

1

1 \

0

01 \1 Р 0,1

00

Р 0,k-1 Р 0,k)

2. Повторить N раз:

a) d0 = +ro, d\ = -1, i =1

b) До тех пор пока d0 = d\\

c) Решить СЛАУ e • 1 = 1

d) Нормируем вектор 1

e) Положить M = 1

i. Перебираем точки, соседние точки а с точкой [M • 1 ]

a. s = Е а ej ■

1<j<k+1

В. Если max(IIsat |L) < r и s < d0, то d0 = s.

!<t<k

ii. Если d0 < +то, to d\ = d0 и d0 = +to

iii. M = M + 1

(f) r = max (\\d0aj ||s). Добавить в e вектор 1 = (q, p\, p2, ■ ■

1<j<k

q = d0 = d\ ж pk - это ближайшее целое к числу q • ak.

(g) По всем i от 1 до к + 1:

i.

Рк), где

А

-e1 q ьі Р bi,1 ■ p bi,k-1 p bi,k

a a • ..11 q bi-i Р bi-i,1 ■ ■ p bi-i,k-1 p bi-i,k

= q bi+i p bi+i,1 ■ ■ p bi+i,k-1 p bi+i,k

-k+1 —d q bk+i p bk+i,1 ■ ■ p bk+i,k-1 p bk+i ,k

q bd p bd,1 ■ ■ p bd,k-1 p bd,k

11. Если А = 0, то е = {ёх, ..., ё~\, , ек+1, }■ Закончить

перебор г.

Обратимся к доказательству корректности работы алгоритма. Если бы координаты вектора в пространстве с базисом е то Ь = (Ьх\, ¿х2, ■■■, ¿хп), то имело бы место равенство 11^11« = 0. Пусть это не так. Тогда,

pe = mm

$

(xi t - ai)2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

\ei\\pi)2 < \\e\\maxP- (23)

e

Здесь ре - евклидово расстояние от прямой задан ной вектором — до точ ки — в пространстве с базисом е, а р - евклидово расстояние расстояние от прямой заданной вектором — до точ ки — в единичном базисе. Несложно понять, что точке с большим р (с учетом направления), будет соответствовать большее расстояние || • ||s. Ввиду оценок ( 23 ), алгоритм рассматривает точки близкие, как в e

алгоритма, не будет точек, с расстоянием || • ||s большим, чем у рассмотренных им.

Оценим сложность полученного алгоритма. На перебор коэффициентов теперь требуется порядка M • 3К операций (так как точек соседних с данной ровно 3К — 1 ). В итоге для нахождения первых N приближений требуется не более M• 3К• N операций (то есть O (M • N) при фиксированной размерности задачи). Сложность этого алгоритма близка к предельно возможной.

СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ

[1] Арнольд В. И. Цепные дроби. - М.: Изд-во МЦНМО. 2001 - 40 с.

[2] Галкин О. Е., Калягин В. А., Туляков Д. Н. Введение в теорию аппроксимации. - Нижний Новгород, 2000 - 99 с.

[3] Дэвенпорт Г. Высшая арифметика. Введение в теорию чисел. - М., 1965

- 176 с., ил.

[4] Касселс Дж. В. С. Введение в теорию диофантовых приближений. -М. НИЛ, 1961 - 212 с.

[5] Мощевитин Н. Г. Многомерные диофантовы приближения и динамические системы // Регулярная и хаотическая динамика. 1997. №1. Т.2. С. 8295.

[6] Хинчин А. Я. Цепные дроби. 2-е изд. - М.: ГИТТЛ, 1949 - 115 с.

[7] Шмидт В. М. Диофантовы приближения: Пер. с англ. - М.: Мир, 1983 -232 с., ил.

[8] Adams W. W. The best two-dimensional diophanite approximation constant for cubic irrtionals // Pacific journal of mathematics. 1980. Vol. 91. №1. p. 2930.

[9] Arnold V. I. Higher dimensional continued fractions. // Регулярная и хаотическая динамика. 1998 .V’3. Т.З. С. 10-16.

[10] Aryal S. Multidimensional continued fractions. — Trinity College, Hartford, 2009 - 25 p.

[11] Borosh I., Fraenkel A. S. A generalization of Jarnik’s theorem on diophanite approximation to ridout tupe numbers. // Transactoins of American mathe-matic society. 1975. Vol. 211. p. 23-38

[12] Chavallier N. Best simultaneous diophanite approximations for some cubic algebraic numbers. // Journal de Theorie des Nomberes de Bordeaux. 2002. Tome 14. №2. p. 403-414.

[13] Cusick J. W. The two dimensional diophanite approximation constant // Pacific journal of mathematics. 1983. Vol. 105. №1. p. 53-67.

[14] Ito S., Yasutomi S.-I. On simultaneous Diophantine approximation to periodic points related to modified Jacobi-Perron algorithm // Probability and Number Theory. 2005. p. 171-184.

[15] Lagarias J. S. Diophanite approximation of rationale by rationale. - Bell Laboratories, 2000 - 45 p.

[16] Lagarias J. S. Best simulateneous diophanite approximations. Growth rates of best approximation denominators. // Transactoins of American mathmatic society. 1982. Vol. 272. №2. p. 545-554.

[17] Lagarias J. S. Best simulateneous diophanite approximations. Behavior of consecutive best approximation. // Pacific journal of mathematics. 1982. Vol. 102. №1. p. 61-88.

[18] Mack J. M. Simultaneous diophanite approximation // Mathematic Society. 1976. № 24A. p. 266-285.

[19] Tamura J.-I., Yasutomi S.-I. A new multidimensional continued fraction algorithm. // Mathematic of Computation. 2009. Vol. 78. №268. p. 2209-2222.

[20] Kato Y., Aomoto K. Jacobi-Perron Algorithms, Bi-Orthogonal Polynomials and Inverse Scattering Problems. // RIMS. 1984. №20. p. 635-658.

Тульский государственный университет

Тульский государственный педагогический университет им. Л. Н. Толстого

Поступило 21.09.2012

i Надоели баннеры? Вы всегда можете отключить рекламу.