К обобщениям цепной дроби
|
|
где натуральные числа a0,a1,a2,╝ суть неполные частные. Это алгоритм разложения числа a =a0/a1 в правильную цепную дробь, и он применим к
любым вещественным числам a.
При этом a0=[a],
где [a] - целая часть числа a, a1=[1/(a-a0)], ╝,
т.е.
|
(1) |
и
| (2) |
Если разложение (1) оборвать
на ak и свернуть эту оборванную цепную дробь в рациональное
число pk/qk, то получается подходящая
дробь, которая дает наилучшее рациональное приближение к числу a. При этом
| (3) |
и
|
т.е векторы (ak,ak+1) и (pk,qk)
принадлежат сопряженным плоскостям.
Цепные дроби (1) и
соотношения (2), (3) рассматривал Валлис [3] в 1655 г. В 1737 г. Эйлер [4] дал
название "непрерывная дробь" (fractio continua). Лагранж [5] доказал,
что для квадратичных иррациональностей a разложение в цепную дробь периодично (и обратно).
Итак, алгоритм разложения
числа в цепную дробь:
1) прост;
2) дает наилучшие рациональные приближения к числу;
3) периодичен для квадратичных иррациональностей.
Кроме того, он обладает еще
рядом замечательных свойств.
В 1775 г. Эйлер [6] сделал
первую попытку обобщить алгоритм цепной дроби на векторы. Впоследствии его
подход развивали Якоби [7,8], Пуанкаре [9], Брун [10], Перрон [11], Бернштейн
[12], Пустыльников [13] и др. (см. [14]). Они по аналогии с (2) строили матричные
алгоритмы вида
|
(4) |
где Ak - n-мерный
вектор и Ck - квадратная n-матрица с целыми
элементами, которая образована по вектору Ak, и det Ck=▒1. Эти алгоритмы просты, но, вообще говоря, не дают
наилучших рациональных приближений к вектору и не всегда при n=3
обладают аналогом свойства 3):
3
′
) периодичность для кубических иррациональностей.
Еще Эрмит [15] критиковал
алгоритм Якоби. В работах [16-23] было проведено сравнение качества матричных
алгоритмов и было установлено, что ни один их них не обладает свойствами 2) и 3
′
) для всех векторов A0. При этом
оказалось, что наихудшим является алгоритм Пуанкаре [9].
В 1842 г. Дирихле [24] при n=3
предложил рассматривать не трехмерный вектор A=A0, а
две линейные однородные формы l1(X) и l2(X)
такие, что l1(A)=l2(A)=0. В
1850 г. Эрмит [25], развивая этот подход, предложил свое обобщение цепной
дроби. Наконец, в 1895-96 гг. Клейн [26], Минковский [27] и Вороной [28]
независимо пришли к тому, что надо в R3 рассматривать тройку однородных линейных форм l1(X),
l2(X), l3(X) и предложили
свои концепции обобщения цепной дроби. При этои Клейн ограничился общими
геометрическими соображениями, а Минковский и Вороной предложили конкретные
алгоритмы. Впоследствии подход Клейна переоткрывали Скубенко [29] и Арнольд
[30] и называли многогранники Клейна парусами и многогранниками Арнольда
[43,44]. И хотя в [16] был предложен алгоритм вычисления многогранников Клейна,
в [17-23] было выяснено, что многогранники Клейна-Скубенко-Арнольда не дают
основы для хорошего алгоритма, обобщающего цепную дробь. Только алгоритмы
Минковского и Вороного обладают свойствами 2 и 3
′
, но они весьма громоздки. Их применению и развитию
было посвящено много работ (см. [31-33]).
Свой подход к обобщению
цепной дроби предложил Гурвиц [34] в 1894 г., но без алгоритма.
Интерес автора к обобщению
цепной дроби возник в связи с его работой [35] 1964 г., которая была повторена
Ленгом [36] в 1972 г. (см. также Старк [37]). Ниже в § 1 для правильной
цепной дроби излагаются конструкции Клейна и Вороного, а также предложенная
автором "выпуклая цепная дробь". В § 2 показано, как вычисляется
выпуклая цепная дробь. В § 3 излагаются конструкции Клейна, Вороного и
автора для n=3. В § 4 дан новый алгоритм, обобщающий выпуклую цепную
дробь. В § 5 сравниваются множества целочисленных точек разных типов,
встречающихся в цепных дробях (n=2) и их обобщениях (n=3).
§ 1. Правильная цепная дробь
Клейн [26,38,39] предложил
следующую геометрическую интерпретацию цепной дроби числа a (см. также [40]). Пусть на плоскости с координатами x1,x2
проведены две прямые линии L1={x1=ax2} и L2={x2=0}. Они
образуют два смежных угла
O1={x1,x2: x1
≥
ax2,x2
≥
0}
и O2={x1,x2: x1
≤
ax2,x2
≥
0}. Через Ki обозначим
выпуклую оболочку целочисленных точек (x1,x2),
кроме x1=x2=0, попавших в Oi, (i=1,2).
Границы
∂
Ki этих
множеств Ki суть выпуклые ломаные линии, состоящие из
вершин Bj и ребер Rj. Вершинам Bj=(x1,x2)
этих линий соответствуют подходящие дроби x1/x2
цепной дроби числа a.
Целочисленным точкам (x1,x2), лежащим на
ребрах Rj ломаных
∂
Ki, соответствуют промежуточные дроби цепной дроби числа
a (см. [2, с. 21]). Число
целочисленных точек на ребре, минус один равно неполному частному цепной дроби
и т.д. (см. рис. 1).
Вороной [28, отдел I]
предложил такую интерпретацию цепной дроби. Пусть на плоскости X=(x1,x2)
заданы две линейные формы l1(X)=x1-ax2 и l2(X)=bx1+gx2.
Значения пары форм l1(X) и l2(X)
в целочисленной точке X
≠
0 называются относительным минимумом, если нет другой целочисленной
точки Y
≠
0,
для которой
|
Вороной показал, что все
точки X, в которых пара форм l1(X) и l2(X)=X2
имеет относительные минимумы, соответствуют всем подходящим дробям цепной дроби
числа a, и их последовательность по
убыванию |l1(X)| и возрастанию |l2(X)| соответствует последовательности подходящих дробей. На рис. 2 в
I-м квадранте плоскости |l1|, |l2| для каждого относительного минимума (|l1(k)|, |l2(k)|) заштрихован прямоугольник |l1|
≤
|l1(k)|, |l2|
≤
|l2(k)|, в котором нет точек (|l1(X)|, |l2(X)|) для целочисленных X
≠
0. Если точки X=Bk-1 и X=Bk
соответствуют двум соседним относительным минимумам, то один шаг алгоритма
цепных дробей состоит в переходе от базиса Bk-2, Bk-1 к базису
Bk-1, Bk по формулам (3).
В [41] автор предложил такую
конструкцию. Пусть в R2 заданы две однородные линейные формы l1(X)=l11x1+l12x2
и l2(X)=l21x1+l22x2,
причем l11a+l12=0.
Рассматриваются только точки полуплоскости l2(X)
≥
0. На плоскости с координатами m1(X)=|l1(X)|, m2(X)=|l2(X)|, M(X)=(m1(X),m2(X))
рассмотрим множество Z2 точек M(X) для всех
целочисленных точек X
∈
Z2 кроме нуля. Пусть M - выпуклая оболочка
множества Z2. Граница
∂
M множества M
является ломаной линией, состоящей из вершин Vk и ребер Uk.
Она обладает следующими свойствами.
1. Всякая вершина Vk
является точкой относительного минимума пары форм l1, l2,
т.е. Vk=M(Bl)
∈
Z2, но обратное, вообще говоря, не
верно.
2. На каждом ребре Uk
нет точек множества Z2, кроме вершин.
3. Пусть Vk=M(Bl)
и Vk+1=M(Bl
′
) - две соседние вершины ломаной
∂
M, тогда
det(BlBl
′
)=
±
1.
Если вектор (1,a) лежит
между векторами Bl и Bl
′
, то Vk и Vk+1
суть соседние относительные минимумы (им соответствуют соседние подходящие
дроби bl1/bl2 и bl
′
,1/bl
′
,2 цепной
дроби числа a, где (bl1,bl2)=Bl).
Если вектор (1,a) не лежит
между векторами Bl и Bl
′
, то между относительными минимумами Vk
и Vk+1 имеется еще один и только один
относительный минимум Wk=M(Bl+1)
∈
Z2.
4. Если число a является квадратичной иррациональностью, то
последовательности Vk и Bl периодичны,
начиная с некоторого номера.
Последовательность вершин Vk
ломаной
∂
M, занумерованные в порядке убывания |l1| и возрастания |l2|, назовем выпуклой цепной дробью. Ее можно
получить как подходящие дроби цепной дроби вида
|
где bi -
натуральные числа.
Пример 1.1. Пусть a =(3+
√
{21})/6=1.2637626╝, l1(X)=x1-
-ax2, l2(X)=x2.
Для a правильная цепная дробь
периодична:
|
Последовательные подходящие
дроби суть
|
Вершинам ломаной
∂
M
соответствуют только подходящие дроби с нечетными номерами. Они являются также
подходящими дробями цепной дроби
|
(1.1) |
Ребра и вершины ломаной
∂
M показаны
на рис. 2 жирными отрезками и жирными точками. Выпуклая цепная дробь (1.1)
также является диагональной цепной дробью [50;51;40, с. 39]. Но они не
всегда совпадают, как показывает следующий пример.
Пример 1.2. Пусть a =(1+
√
3)/2=1.3660254╝, l1(X)=x1-ax2, l2(X)=x2.
Для a правильная цепная дробь
периодична:
|
и выпуклая цепная дробь
совпадает с правильной. Но диагональная цепная дробь такова
|
Замечание 1.1. Вообще говоря, выпуклая цепная дробь отличается от цепной
дроби до ближайшего целого [52;40, с. 39], ибо первая всегда дает наилучшие
приближения к числу a, а вторая
- не всегда [53, с. 27].
§ 2. Вычисление выпуклой цепной дроби
Выпуклую цепную дробь можно
получить из правильной цепной дроби, заменяя в определенных местах агрегат
|
где b < 1, на агрегат a+1-1/(b+1+b), как это сделано в примере 1.1 (к этим местам относятся все случаи с b
≥
3 и некоторые случаи с b=2).
Однако можно вычислять ее последовательно шаг за шагом.
Опишем один шаг такого
вычисления. Пусть в качестве базиса взяты точки [(B)\tilde]k
и [(B)\tilde]k+1, соответствующие соседним
вершинам Vk и Vk+1 ломаной
∂
M. Найдем
точку [(B)\tilde]k+2. Положим E1=[(B)\tilde]k+1,
E2=[(B)\tilde]k - единичные векторы.
Пусть в этом базисе вектор A имеет вид A=(a1,a2), где a1 > |a2| > 0. Для простоты будем считать, что |a2|=1. Пусть линейные формы l1(X) и l2(X)
в этом базисе имеют вид
|
Точку [(B)\tilde]k+2
ищем на прямой
|
(2.1) |
Пусть a=[a1/|a2|], тогда ближайшими к точке персечения прямой (2.1) с лучом lA, l > 0 являются две целочисленные точки, лежащие на
прямой (2.1): с x1=a и с x1=a+1
(см. рис. 3). Следовательно, из двух точек B
′
=(a,a2) и B"=(a+1,a2) надо
выбрать такую, которой соответствует точка Vk+2,
являющейся вершиной ломаной
∂
M. Предшествующие две вершины
этой ломаной суть
|
Далее
|
|
Пусть C=(c1,c2)
и D=(d1,d2) две точки плоскости Y=(y1,y2).
Проведенная через них прямая пересекает ось y2 в точке
|
(2.2) |
Вычислим значения (2.2) для
двух пар точек
|
(2.3) |
и в качестве точки [(B)\tilde]k+2
возьмем ту из точек B
′
и B", для которой значения y2 в (2.3) меньше (см.
рис. 4).
Выбрав точку [(B)\tilde]k+2,
переходим к базису [(B)\tilde]k+1, [(B)\tilde]k+2
и т.д.
§ 3. Трехмерные обобщения геометрических
конструкций
Клейн [26,38] предложил
трехмерный аналог своей двумерной интерпретации цепной дроби. Пусть в R3 заданы
три плоскости
|
пересекающиеся в нуле X=0.
Здесь
X О R3, Li О R3*,
б · , · с
означает скалярное произведение, и пространство R3* двойственно пространству R3. Каждому
набору S = (s1,s2,s3), где si=
±
1, соответствует свой октант
|
ограниченный плоскостями L1,
L2, L3. В каждом октанте OS рассматривается выпуклая оболочка KS всех целочисленных точек X
∈
OS, X
≠
0. Ее граница
∂
KS является выпуклой двумерной многогранной
поверхностью, состоящей из вершин, ребер и граней. Ее вершины должны давать
наилучшие целочисленные приближения в октанте OS к плоскостям Li и к прямым,
являющимся их пересечением.
В работах [16-23,42-46]
многогранники Клейна были вычислены для ряда однородных кубических форм с
целыми коэффициентами вида
| (3.1) |
каждая из которых
соответствует корням свего кубического уравнения. Оказалось, что они устроены
довольно сложно и разнообразно. На сайте [46] приведено много примеров плоских
логарифмических проекций многогранников Клейна. На рис. 5 и 6 показаны
ортогонализованные логарифмические проекции поверхностей многогранников Клейна
∂
K+++ для двух кубических форм
|
и
|
вида (3.1), взятых из [23] и
соответствующих уравнению l3-2l2-l+1=0, в координатах
|
где mi(X)=
|
б Li,X
ñ|, i=1,2,3.
Показаны проекции вершин, ребер и
целочисленных точек, лежащих на ребрах и гранях поверхности
∂
K+++, а также - целочисленных точек X=B
′
, являющихся относительными минимумами для одного
октанта O+++. Точка B
′
∈
OS, B
′
≠
0 называется точкой относительного минимума октанта OS, если нет другой целочисленной точки B"
∈
OS, B"
≠ 0, и такой, что
|
|
На рис. 5 и 6 рядом с
каждой точкой указано значение модуля формы (3.1) в ней. Видна двупериодичность
рис. 5 и 6. На них жирными линиями выделены границы фундаментальных
областей.
На рис. 5
фундаментальная область состоит из одного шестиугольника и двух треугольников.
У многогранника
∂K+++ грани,
соответствующие шестиугольнику и малому треугольнику, удалены от начала
координат на расстояние 1, а большие треугольные грани - на расстояние 3. На
малых треугольных гранях нет внутренних целочисленных точек, на больших
треугольных гранях имеется по одной целочисленной точке с |h|=|h7|=8 и за гранью имеются шесть точек относительных
минимумов с |h|=13 и 29. На шестиугольных гранях имеются по 9
целочисленных точек с |h|=7,8,13.
На рис. 6
фундаментальная область состоит из граней трех типов: (I) один равносторонний
треугольник, (II) три скошенных треугольника и (III) три четырехугольника.
Грань типа I отстоит от начала координат на расстояние 2, не содержит
внутренних целочисленных точек и за ней имеется одна точка относительного
минимума с |h|=|[(h)\tilde]7|=49. Грань второго типа отстоит на расстояние 3, не
содержит внутренних целочисленных точек и за ней имеются две точки
относительного минимума с |h|=29 и 56. Грань типа III отстоит на расстояние 1 и
имеет одну внутреннюю целочисленную точку с |h|=13.
Кроме того, на некоторых ребрах имеются целочисленные точки с |h|=8.
В [16] предложен алгоритм
вычисления многогранника Клейна одновременно с его сопряженным многогранником,
но этот алгоритм нельзя рассматривать как обобщение алгоритма цепной дроби.
Пусть теперь в R3 заданы
три линейные однородные формы
|
(3.2) |
Положим mi(X)=|li(X)| и M(X)=(m1(X),m2(X),m3(X)).
Значение M(X) в целочисленной точке X
∈
Z3 называется относительным минимумом, если нет
такой целочисленной точки Y
∈
Z3, что
|
где ||M||=m1+m2+m3.
Вороной [28, отдел III] рассматривал в R3 точки X
∈
Z3, соответствующие относительным минимумам форм (3.2).
Он предложил способ их частичного упорядочивания и построил алгоритм движения
по этим упорядоченным точкам. Этот алгоритм он назвал обобщением алгоритма
цепной дроби (см. также [47, гл. IV; 48]). По одному примеру вычислений
алгоритмом Вороного имеется в работах [28, § 53; 47, § 59].
В [41] предложена следующая
конструкция. Вектор-функция M(X) отображает пространство R3 с
координатами X в пространство R3 с координатами M=(m1,m2,m3),
точнее - в его неотрицательный октант. При этом множество Z3\0 всех
целочисленных точек X кроме X=0 отображается в некоторое
множество Z3 в R3. Пусть M -
выпуклая оболочка точек множества Z3 и
∂
M - ее
граница. Очевидно, что M - это выпуклый многогранник и
∂
M - это
выпуклая многогранная поверхность, состоящая из вершин Vi,
ребер Ri и граней Gi.
Теорема 2.1. Каждая грань Gi
поверхности
╢
∂
M является
треугольником с вершинами
|
(3.3) |
она не содержит других
точек из множества Z3.
Теорема 2.2. Если грань Gi
поверхности
∂
M имеет вершины (3.3)
и det(B1B2B3)=0, то один из векторов B1,B2,B3
является суммой двух остальных.
Для грани Gi
поверхности
∂
M с вершинами (3.3) положим w(Gi)=|det (B1B2B3)|. На рис. 7 и 8, взятых из [49], в координатах
|
(3.4) |
показаны логарифмические
проекции поверхности
∂
M для форм h7 и
[(h)\tilde]7,
многогранники Клейна для которых показаны на рис. 5 и 6 соответственно. На
рис. 7 и 8 показаны вершины и ребра, а также точки относительных
минимумов. Для каждой точки Y=M(X) указаны значение модуля
формы h(X) и значение вектора X. Жирными линиями показаны
границы фундаментальных областей. В них для каждой грани Gi
указано значение w(Gi).
Для обеих форм в вершинах многогранника
∂
M имеем |h|=1.
На рис. 7
фундаментальная область состоит из 6 треугольников, два имеют w =1 и четыре - w =0. В ней есть одна точка относительного минимума, соответствующая
точке, лежащей в центре большой треугольной грани рис. 5. Следовательно,
не все относительные минимумы соответствуют вершинам многогранников Клейна, как
это было в двумерном случае. Очевидно, что всем вершинам многогранника
∂
M
соответствуют вершины многогранников Клейна, но обратное не верно.
На рис. 8
фундаментальная область состоит из двух треугольников (для обоих w =1) и содержит четыре точки относительных минимумов,
в одной |h|=|[(h)\tilde]7|=7 и в трех |h|=8
(точка с |h|=8 у левой границы фундаментальной области лежит в
ней, а точка с |h|=7 лежит в правом треугольнике). Все эти точки с |h|=7 и
8 соответствуют вершинам многогранников Клейна. Здесь все вершины
многогранников Клейна являются относительными минимумами.
Наконец, на рис. 9 и 10
в координатах (3.4) показаны логарифмические проекции многогранников
∂
M форм h7
и [(h)\tilde]7 соответственно вместе со всеми точками, как
лежащими на поверхностях многогранников Клейна
∂
KS, так и являющимися их относительными минимумами в
октантах.
Из рис. 7-10 видно, что
количество относительных минимумов Вороного существенно меньше, чем точек
Клейна, а количество вершин многогранников
∂
M еще
меньше.
Предлагаемое ниже обобщение
цепной дроби является направленным движением по поверхности
∂
M, один шаг
которого дает переход от грани с w =1 к ближайшей грани с этим же свойством.
§ 4. Алгоритм движения по поверхности
∂
M
Лемма 4.1. Пусть в R3
заданы три точки U=(u1,u2,u3), V=(v1,v2,v3)
и W=(w1,w2,w3). Проходящая через них плоскость
пересекает третью координатную ось в точке
|
(4.1) |
Пусть в R3 заданы
три линейные формы (3.2) и такой вектор A=(a1,a2,a3), что l1(A)=l2(A)=0.
Обозначим через pR3 полупространство l3(X)
≥
0. Пусть A
∈
pR3 (этого всегда можно достичь изменением знака вектора A).
Наша цель - построить целочисленные приближения к лучу mA, m > 0.
Предположим сначала, что на
поверхности
∂
M у всех граней
|
(4.2) |
Пусть векторы B1,B2,B3
∈
pZ3 образуют
базис. Тогда мы имеем lij[( def)
|| ( = )] li(Bj),
i,j=1,2,3 и такой вектор L = (l1,l2,l3), что l1B1+l2B2+l3B3=A.
При этом
∑
j=13lijlj=0, i=1,2.
Эти начальные данные удобно записать в виде таблицы
|
(4.3) |
При этом Mi=M(Bi),
т.е. mij=|lij|, i,j=1,2,3. Для точки M или
множества точек, например Gi, в пространстве R3
чертой сверху [`(M)]
или [`(G)]i будем обозначать их
ортогональные проекции на плоскость (m1,m2).
Переход к другому базису B1
′
,B2
′
,B3
′
состоит из последовательного выполнения следующих 5
шагов.
Шаг 1. Первым делом на плоскости (m1,m2)
надо выяснить взаимное расположение трех точек [`(M)]j=(|l1j|,|l2j|)[( def) || ( = )] (m1j,m2j),
j=1,2,3. А именно, эти точки являются вершинами треугольника. Каждая его
сторона имеет внешнюю нормаль. Возьмем такую строну треугольника, для которой
обе компоненты вектора внешней нормали отрицательны. Пара точек из [`(M)]1, [`(M)]2, [`(M)]3, лежащих на этой стороне,
является выделенной. Технически выделение такой пары точек можно сделать
либо на рисунке, либо вычислениями, которые описаны в [41,§ 4] и
повторяются здесь в § 6. Если таких точек нет, то алгоритм не работает.
Если таких сторон две, т.е. имеется две пары выделенных точек, то алгоритм
разветвляется, и надо его продолжить для каждой из этих пар отдельно. Пусть для
определенности выделены [`(M)]1
и [`(M)]2. Прямую,
проходящую через них, обозначим L. Для
простоты предположим, что ее нормальный вектор D=(d1,d2)
положителен.
Шаг 2. Вычисляем ai=[li/|l3|], i=1,2,3.
Шаг 3. Для каждой из шести точек
|
(4.4) |
выясняем расположение ее
проекции [`(U)]i,
[`(V)]j
относительно прямой L. Точки Ui, Vj, у
которых проекции [`(U)]i,
[`(V)]j
лежат правее прямой L, отбрасываем. Оставляем только точки, проекции
которых лежат левее прямой L.
Лемма 4.2. Из двух точек [`(U)]1, [`(U)]2 не более одной точки лежит левее
прямой L.
Лемма 4.3. Из четырех точек [`(V)]1-[`(V)]4 хотя бы одна лежит левее прямой L.
Шаг 4. Для каждой из оставшихся точек (4.4) по лемме 4.1
вычисляем точку пересечения плоскости, проведенной через точки M1,M2
и эту точку, с третьей координатной осью. Из этих значений выбираем наименьшее
и соответствующую ему точку Ui или Vj.
Шаг 5. Если выбранное на шаге 4 значение соответствует
одной из точек Ui, то делаем шаг 5а). Если оно соответствует
одной из точек Vi, то делаем шаг 5б).
Шаг 5а. Пусть выбрана точка U1.
Рассматриваем треугольник с вершинами [`(M)]1, [`(M)]2, [`(U)]1. Из двух его ребер, инцидентных с вершиной [`(U)]1, выбираем то ребро, у которого
внешняя нормаль отрицательна (т.е. лежит в III-м квадранте). Если таких ребер
нет, то алгоритм прекращается. Если их два, то алгоритм разветвляется. Пусть
точка [`(M)]2
принадлежит выбранному ребру. Тогда из двух векторов B1 и B2
оставляем B2. От базиса B1,B2,B3
переходим к базису B4=B1+B2,
B2,B3. Выписываем матрицу N, для
которой
|
Матрица N*-1 дает
преобразование
|
где звездочка означает
транспонирование. Если была выбрана точка U2, то B4=B1-B2 или B2-B1, чтобы B4
∈
pR3, и соответственно меняются матрицы N и N*-1.
Шаг 5б. Пусть выбрана точка Vj=M(B3
′
), где B3
′
=[(a)\tilde]1B1+[(a)\tilde]2B2+a3B3
согласно (4.4). Тогда от базиса B1,B2,B3
переходим к базису B1
′
=B1, B2
′
=B2
′
, B3
′
=B3
′
=[(a)\tilde]1B1+[(a)\tilde]2B2+a3B3
по формулам
|
При этом
|
Векторы B1
′
,B2
′
,B3
′
дают новый базис; вектор L
′
- значение вектора A в этом базисе. Таким
образом, переход от старого базиса B1,B2,B3
к новому базису B1
′
,B2
′
,B3
′
окончен.
Теорема 4.1. В предположении (4.2) если базису B1,B2,B3
соответствовала грань поверхности
∂
M, то
указанный переход к другому базису дает другую грань поверхности
∂
M с
вершинами M1,M2 и Ui или Vj.
Теорема 4.2. В предположении (4.2) если базису B1,B2,B3
соответствовала грань поверхности
∂
M,
после нескольких указанных переходов к новому базису получен базис [(B)\tilde]1,[(B)\tilde]2,[(B)\tilde]3
и в последнем переходе была выбрана точка типа Vj вида (4.4), то
новому базису [(B)\tilde]1,[(B)\tilde]2,[(B)\tilde]3
также соответствует грань поверхности
∂
M с
вершинами M([(B)\tilde]i),i=1,2,3.
Замечание 4.1. Выше дана самая простая и общая формулировка перехода
к другому базису. Можно выделить различные случаи и подслучаи, когда этот
переход упрощается. Например, если l11l12 и
l21l22 < 0, то можно не рассматривать
точку U2; если l11l12 и l21l22
> 0, то - точку U1. Однако, эта общая форма перехода
наиболее удобна для программирования.
Замечание 4.2. Если исходному базису не соответствует грань
поверхности
∂
M, то предложенный алгоритм после нескольких переходов
к другому базису выводит на грань поверхности
∂
M.
Замечание 4.3. Если для исходного базиса B1,B2,B3
треугольник [`(G)] с вершинами [`(M)](B1), [`(M)](B2), [`(M)](B3) таков, что все внешние нормали к его
сторонам не лежат в третьем квадранте, т.е. не имеют отрицательными обе
компоненты, то надо либо произвольно перейти к другому базису, подобрав его
так, чтобы это свойство было выполнено, либо сделать этот преход по алгоритму,
соответствующему приближению луча m[(A)\tilde]: l2([(A)\tilde])=l3([(A)\tilde])=0
или луча m[([(A)\tilde])\tilde]: l3([([(A)\tilde])\tilde])=l1([([(A)\tilde])\tilde])=0,
где m > 0.
Замечание 4.4. Если у треугольника [`(G)]
из предыдущего замечания внешние нормали к двум сторонам лежат в третьем
квадранте, то алгоритм ветвится: надо сделать переходы к новым базисам,
соответствующие обеим этим сторонам, и продолжать для них алгоритм.
Если предположение (4.2) не
выполнено, то для треугольника Gi поверхности
∂M с w(Gi) > 1 алгоритм дает
последовательность таких треугольников Dik с w(Dik)=0 или 1, которые
расположены за треугольником Gi и проекции которых [`(D)]ik
расположены внутри проекции [`(G)]i. Причем первый из этих
треугольников Dik имеет с треугольником Gi
общее ребро. Через несколько шагов алгоритм выходит на другое ребро
треугольника Gi и продолжает двигаться по треугольникам поверхности
∂
M.
Получается выпукло-вогнутая поверхность, которую обозначим
∂
N3.
Например, если w(Gi)=2, то имеется точка
относительного минимума Wi, проекция которой [`(W)]i лежит внутри проекции [`(G)]i
треугольника Gi. Эта точка получается при применении алгоритма к тому
ребру R1 треугольника Gi,
проекция которого [`(R)]1
имеет положительный вектор внешней нормали по отношению к треугольнику [`(G)]i.
На точку Wi и ребра Rk треугольника Gi
натянуты три треугольные грани Dik с w(Dik)=1, k=1,2,3.
Алгоритм сначала выходит на грань Di1, затем на одну из граней Di2 или Di3, а потом - на грань поверхности
∂
M с w =1, примыкающую к грани Gi по
соответствующему ребру R2 или R3. У
поверхности
∂
M каждую грань Gi с w(Gi)=2 заменяем тройкой
граней Dik,
а грани Gi с w(Gi)
≤
1 оставим неизменными. В результате получим
многогранную поверхности
∂
N3, если
для поверхности
∂
M все грани Gi
имеют w(Gi)
≤
2.
Гипотеза 4.1. Для поверхности
∂
M
всегда все грани Gi имеют w(Gi)
≤
2.
В [41, § 3] предложен
алгоритм движения по поверхности
∂
N3, который требует меньшего объема вычислений, чем
предложенный здесь. Однако, алгоритм из [41] не всегда дает треугольники
поверхности
∂
N3.
§ 5. Сравнение точек различных типов
В двумерном случае (n=2),
рассмотренном в §§ 1 и 2, было выделено три типа целочисленных точек X
∈
Z2:
1. Точки Клейна, которые
лежат на ломаных Клейна; им соответствуют подходящие и промежуточные дроби. Их
множество обозначим K.
2. Вершины ломаных Клейна,
они же относительные минимумы Вороного; им соответствуют подходящие дроби. Их
множество обозначим L.
3. Вершины выпуклой ломаной
∂
M; им
соответствуют подходящие дроби выпуклой цепной дроби. Их множество обозначим M.
Очевидны включения
|
В трехмерном случае (n=3),
рассмотренном в §§ 3-6, было выделено 5 типов целочисленных точек X
∈
Z3:
1. Относительные минимумы
октантов OS,
включая точки на поверхностях
∂
KS
многогранников Клейна KS. Их множество обозначим через J.
2. Точки, лежащие на
поверхностях
∂
KS многогранников Клейна KS. Их множество обозначим K.
3. Точки, соответствующие
относительным минимумам Вороного. Их множество обозначим L.
4. Точки, соответствующие
вершинам многогранных поверхностей
∂
N1,
∂
N2,
∂
N3. Их множество обозначим N.
5. Точки, соответствующие
вершинам поверхности
∂
M. Их множество обозначим M.
Очевидны включения
|
Возможно справедливо и
включение K
⊃
L. По крайней мере, автору не известно ни одного
контрпримера.
§ 6. Упорядочивание трех точек
Упорядочивать три точки [`(M)]j=(|l1j|,|l2j|), i=1,2,3 можно следующим образом. Сначала среди чисел |l1j| выберем наименьшее, и аналогично среди чисел |l2j|, i=1,2,3. В соответствующих строках таблицы
(4.3) поставим звездочки. Будем предполагать, что это разные строки. Пусть для
определенности это первые две строки и в них
|
Если в третьей строке таблицы
(4.3) хотя бы для одного i=1,2 число |li3| > mi**,
то точка (|l13|,|l23|) лежит правее прямой, проходящей через точки [`(M)]1 и [`(M)]2. Эту прямую обозначим через L. Нормальный вектор к прямой L есть
|
Положение точки [`(M)]3 относительно прямой L определяется знаком разности
| (6.1) |
Если она положительна, то
точка [`(M)]3 лежит
левее прямой L. В этом случае обе прямые, проведенные через пары
точек [`(M)]1,[`(M)]3 и [`(M)]2,[`(M)]3 являются левыми, т.е.
возникают два подслучая, и оба надо рассмотреть. Если разность (6.1)
отрицательна, то прямая L является левой и можно
переходить к шагу 2.
Автор благодарит В.И.
Парусникова за примеры поверхности
∂
M с w(Gi)=2 и за помощь в
подготовке рисунков 5-10.
Список литературы
1. Венков Б.А. Элементарная теория чисел. М.-Л.: ОНТИ,
1937.
2. Хинчин А.Я. Цепные дроби. 3-е изд. М.: Физматгиз,
1961.
3. Wallis J.A. Arithmetica infinitorum, 1655.
4. Euler L. De fractinibus continuis // Comm. Acad. Sci.
Imper. Petropol., 1737, v. 9.
5. Lagrange J.L. Complement chez Elements dâalgebre etc. par M.L. Euler, t. III, 1774.
6. Euler L. De relatione inter ternas pluresve
quantitates instituenda // Petersburger Akademie Notiz. Exhib. August 14, 1775
// Commentationes arithmeticae collectae. V. II. St. Petersburg, 1849. P.
99-104.
7. Jacobi C.G.J. Allgemeine Theorie der
Kettenbruchänlichen Algorith-
men, in welchen jede Zahl aus drei vorhergehenden gebildet wird // J. Reine
Angew. Math., 1868. V. 69. P. 29-64. // Gesammelte Werke, Bd. IV. Berlin:
Reimer, 1891. S. 385-426.
8. Jacobi C.G.J. Ueber die Auflösung der Gleichung a1x1+a2x2+╝+anxn=fn
// J. Reine Angew. Math. 1868. V. 69. P. 21-28.
9. Poincare H. Sur une generalization des
fractionés continues // C.R. Acad. Sci. Paris. Ser. 1. 1884. V. 99. P.
1014-1016.
10. Brun V. En generalisation av Kjedebroken // Skrifter
utgit av Videnskapsselskapeti Kristiania. I. Matematisk-Naturvidenskabelig
Klasse 1919. N 6; 1920. N 6.
11. Perron O. Grundlagen für eine Theorie des
Jacobischen Ketten-bruchalgorithmus // Math. Ann. 1907. V. 64. P. 1-76.
12. Bernstein L. The Jacobi-Perron algorithm - its theory
and application. LNM 207. Berlin/Heidelberg/New York: Springer Verlag, 1971.
13. Пустыльников Л.Д. Обобщенные цепные дроби и
эргодическая теория // УМН, 2003, т. 58, N 1, с. 113-164.
14. Schweiger F. Multidimensional Continued Fractions.
Oxford Univ. Press: New York, 2000.
15. Hermite Ch. Correspondance dâHermite et de Stieltjes. T. II, lettres 232, 238, 408.
Gauthier-Villars, Paris, 1905.
16. Брюно А.Д., Парусников В.И. Многогранники Клейна для
двух кубических форм Давенпорта // Матем. заметки. 1994. Т. 56. N 4. С. 9-27.
17. Брюно А.Д., Парусников В.И. Сравнение разных обобщений
цепных дробей // Матем. заметки, 1997, т. 61, N 3, с. 339-348.
18. Parusnikov V.I. Klein polyhedra for complete
decomposable forms // Number theory. Dyophantine, Computational and Algebraic
Aspects. Editors: K. Györy, A. Pethö and
V.T. Sós. De Gruyter. Berlin, New York. 1998, p. 453-463.
19. Парусников В.И. Многогранники Клейна для четвертой
экстремальной кубической формы // Матем. заметки, 2000, т. 67, N 1, с. 110-128.
20. Парусников В.И. Многогранники Клейна с большими
гранями // Препринт N 93. М.: ИПМ им. М.В.Келдыша, 1997.
21. Парусников В.И. Многогранники Клейна для пятой
экстремальной кубической формы // Препринт N 69. М.: ИПМ им. М.В.Келдыша, 1998.
22. Парусников В.И. Многогранники Клейна для шестой
экстремальной кубической формы // Препринт N 69. М.: ИПМ им. М.В.Келдыша, 1999.
31 с.
23. Парусников В.И. Многогранники Клейна для седьмой
экстремальной кубической формы // Препринт N 79. М.: ИПМ им. М.В.Келдыша, 1999.
32 с.
24. Lejune Dirichlet G.P. Verallgemeinerung eines Satzes
aus der Lehre von den Kettenbrüchen nebst einigen Anwendungen auf die
Theorie der Zahlen // S.-B. press. Akad. Wiss. 1842. S. 93-95 // Werke. Bd. I.
Berlin: Reimer, 1889, S. 635-638.
25. Hermite Ch. Lettres de M. Ch. Hermite á M.
Jacobi sur differents objets de la theorie des nombres // J. Reine Angew. Math.
1850, Bd. 40, S. 261-315 // Oeuvres, T. I, Paris: Gauther-Villares, 1905, p.
100-163 // Opuscule Mathematica de Jacobi, v. II.
26. Klein F. Über eine geometrische Auffassung der
gewöhnlichen Kettenbruchentwicklung // Nachr. Ges. Wiss. Göttingen
Math.-Phys. Kl. 1895. N 3. S. 357-359.
27. Minkowski H. Generalisation de le theorie des
fractions continues // Ann. Sci. Ec. Norm. Super. ser III, 1896, t. 13, p.
41-60. Also in: Gesamm. Abh. I, p. 278-292.
28. Вороной Г.Ф. Об одном обобщении алгорифма непрерывных
дробей. Варшава: Из-во Варш. Ун-та, 1896. Также: Собр. соч. в 3-х томах. Киев:
Из-во АН УССР, 1952. Т. 1. С. 197-391.
29. Скубенко Б.Ф. Минимумы разложимых кубических форм от
трех переменных // Записки научных семинаров Ленинградского отделения
математич. ин-та им. Стеклова (ЛОМИ). 1988, т. 168, с. 125-139.
30. Арнольд В.И. Цепные дроби. М.: МЦНМО, 2001.
31. Brentjes A.J. Multi-dimensional Continued Fraction
Algorithms. Ma-
thematical Centre Tracts 145, Amsterdam: Mathematisch Centrum, 1981.
32. Buchmann J. On the period length of the generalized
Lagrange algorithm // J. Number Theory, 1987, v. 26, p. 8-37.
33. Быковский В.А. Теорема Валена для двумерных подходящих
дробей // Матем. заметки, 1999, т. 66, N 1, с. 30-37.
34. Hurwitz A. Ueber die angenäherte Darstellung der
Zahlen durch rationale Brüche // Math. Ann. 1894. Bd. 44, S. 417-436.
35. Брюно А.Д. Разложения алгебраических чисел в цепные
дроби // Журнал вычислительной матем. и матем. физики, 1964, т. 4, N 2, с.
211-221.
36. Lang S., Trotter H. Continued fractions of some
algebraic numbers // J. Reine Angew. Math. 1972, Bd. 252, S. 112-134.
37. Старк Х.М. Объяснение некоторых экзотических
непрерывных дробей, найденных Бриллхартом // Вычисления в алгебре и теории
чисел (ред. Б.Б. Венков и Д.К. Фаддеев). М.: Мир, 1976, с. 155-171.
38. Klein F. Sur une representation geometrique du
developpement en fraction continue ordinare // Nouv. Ann. Math. (3), 1896, Bd.
15, S. 327-331.
39. Klein F. Ausgewählte Kapitel der Zahlentheorie.
Bd. I, Einleitung. Göttingen, 1896, S. 16-50.
40. Koksma J.F. Diophantische Approximationen. Berlin:
Julius Springer, 1936.
41. Брюно А.Д. Правильное обобщение цепной дроби //
Препринт N 86. М.: ИПМ им. М.В.Келдыша, 2003. 17 с.
42. Коркина Е. Двумерные цепные дроби. Самые простые
примеры. // Труды Мат. ин-та им. Стеклова. 1995, т. 203, с. 143-166.
43. Lachaud G. Polyédre dâArnolâd
et voile dâun cône simplicial:
analogues du théoreme de Lagrange // C.R. Acad. Sci. Ser. 1. 1993. V.
317. P. 711-716.
44. Lachaud G. Polyedre dâArnolâd
et voile dâun cône simplicial,
analogues du théoreme de Lagrange pour les irrationnels de degré
quelconque. Prétirage N 93-17. Marseille: Laboratoire de
Mathématiques Discretes du C.N.R.S., 1993.
45. Kontsevich M.L., Suhov Yu. M. Statistics of Klein
polyhedra and multidimensional continued fractions // Amer. Math. Soc. Transl.
(2) 1999, v. 197, p. 9-27.
46. Briggs K. Klein polyhedra // http: // www.btexact.com/people/bri-
ggsk2/klein-polyhedra.html
47. Делоне Б.Н., Фаддеев Д.К. Теория иррациональностей
третьей степени. Труды МИ АН, т. 11, М.-Л.: АН СССР, 1947.
48. Делоне Б.Н. Петербургская школа теории чисел. М.-Л.:
АН СССР, 1947.
49. Брюно А.Д., Парусников В.И. Многогранники модулей
троек линейных форм // Препринт N 93. М.: ИПМ им. М.В.Келдыша, 2003. 20 с.
50. Pipping N. Zur Theorie der Diagonalkettenbrüche
// Acta Acad. Aboens., 1924, B. 3. 22 S.
51. Нечаев В.И. Диагональная цепная дробь // Математ. Энциклоп.
М.: Советская Энциклоп., 1979, т. 2, с. 123.
52. Hurwitz A. Ueber eine besondere Art der
Kettenbruch-Entwiklung reller Grössen // Acta math., 1889, B. 12, S.
367-405.
53. Касселс Дж.В.С. Введение в теорию диофантовых
приближений. М.: Изд-во иностр. лит., пер. с англ., 1961.
File translated from TEX
by TTH, version
3.40.
On 21 Dec 2004, 19:59.