Научная статья на тему 'ОПТИМИЗАЦИЯ АЛГОРИТМА ПОСТРОЕНИЯ АЛГЕБРАИЧЕСКИХ СЕТОК С ПОМОЩЬЮ СИМВОЛЬНЫХ ВЫЧИСЛЕНИЙ НА ПРИМЕРЕ БИКВАДРАТИЧНОГО ПОЛЯ ДИРИХЛЕ $Q(\sqrt{2} + \sqrt{3})$'

ОПТИМИЗАЦИЯ АЛГОРИТМА ПОСТРОЕНИЯ АЛГЕБРАИЧЕСКИХ СЕТОК С ПОМОЩЬЮ СИМВОЛЬНЫХ ВЫЧИСЛЕНИЙ НА ПРИМЕРЕ БИКВАДРАТИЧНОГО ПОЛЯ ДИРИХЛЕ $Q(\sqrt{2} + \sqrt{3})$ Текст научной статьи по специальности «Математика»

CC BY
176
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГЕБРАИЧЕСКИЕ СЕТКИ / БИКВАДРАТИЧНЫЕ ПОЛЯ ДИРИХЛЕ / СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ

Аннотация научной статьи по математике, автор научной работы — Титов Андрей Валерьевич

Рассматривается вопрос применения символьных вычислений для оптимизации построения алгебраических сеток биквадратичного поля Дирихле. Выполняется переоценка параметризации четырехмерной сетки биквадратичного поля $Q(\sqrt{2} + \sqrt{3})$. Приводятся результаты вычислительных экспериментов, подтверждающие высокую эффективность использования символьных вычислений в рассматриваемой задаче.

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

Текст научной работы на тему «ОПТИМИЗАЦИЯ АЛГОРИТМА ПОСТРОЕНИЯ АЛГЕБРАИЧЕСКИХ СЕТОК С ПОМОЩЬЮ СИМВОЛЬНЫХ ВЫЧИСЛЕНИЙ НА ПРИМЕРЕ БИКВАДРАТИЧНОГО ПОЛЯ ДИРИХЛЕ $Q(\sqrt{2} + \sqrt{3})$»

Известия Тульского государственного университета Естественные науки. 2013. Вып. 2. Ч.1. С. 172-183 = ИНФОРМАТИКА

УДК 511.9

Оптимизация алгоритма построения алгебраических сеток с помощью символьных вычислений на примере биквадратичного поля Дирихле <0(\/2 + лД) *

А. В. Титов

Аннотация. Рассматривается вопрос применения символьных вычислений для оптимизации построения алгебраических сеток биквадратичного поля Дирихле. Выполняется переоценка параметризации четырехмерной сетки биквадратичного поля <9(\/2 + л/3). Приводятся результаты вычислительных экспериментов, подтверждающие высокую эффективность использования символьных вычислений в рассматриваемой задаче.

Ключевые слова: алгебраические сетки, биквадратичные поля Дирихле, символьные вычисления.

Введение

Первое использование теоретико-числовых сеток для вычисления многомерных интегралов периодических функций, разлагающихся в абсолютно сходящийся ряд Фурье, принадлежит Н.М. Коробову [9].

Результатом работ [10]—[12] стал метод оптимальных коэффициентов построения для 8-мерного куба С3 = [0; 1)5 многомерных квадратурных формул с параллелепипедальными сетками вида:

Ц!(г иг = N £ 1 (| ^} ,■■■, {^}) - д« ш,

ое к-1

где (1) — погрешность квадратурной формулы и целые числа

: (а з, N) = 1 (] = 1,...,з) — оптимальные коэффициенты, которые выбираются специальным образом.

* Работа выполнена при финансовой поддержке РФФИ (проект № 11-01-00571-а).

Решетка — центральное понятие геометрии чисел. Использование решеток, сдвинутых решеток и проекций решеток на координатные подпространства позволяет на единообразном языке обсуждать различные вопросы теории чисел. Так решетки являются фундаментом для развития многомерных квадратурных формул для численного интегрирования функций нескольких переменных с помощью метода оптимальных коэффициентов. Переход к изложению метода оптимальных коэффициентов с использованием решеток был сделан в 1962 г. Э. Главкой в работе [15].

Следующим шагом в использовании решеток в теоретико-числовом методе в приближенном анализе стали работы К. К. Фролова [13] , [14], где была рассмотрена алгебраическая решетка вида:

Л(^) = 0(s)) |0(1) € Ър} ,

где 0(1),..., 0(s) — система алгебраически сопряженных чисел, F — чисто вещественное алгебраическое расширение степени s поля рациональных чисел Q и Ър — кольцо целых алгебраических чисел поля F.

Работа Фролова получила развитие в работах В. А. Быковского [2], [3] и Н. М. Добровольского [4], [5], [6]. Результатом работы [5] стало объединение методов Н. М. Коробова и К. К. Фролова в рамках теории квадратурных формул с обобщенными параллелепипедальными сетками и весовой функцией специального вида.

Базируясь на перечисленных выше работах, А. С. Герцог в [7] и [8] провел подробный анализ четырехмерной сетки биквадратичного поля Дирихле Q(\/2 + л/3). Результатом его работы стал программный модуль системы компьютерной математики MathCAD, выполняющий построение сетки и вычисление на ее основе определенных интегралов периодических функций от четырех переменных.

В настоящей работе проводится символьный анализ параметризации четырехмерной сетки биквадратичного поля Дирихле, совершенствуются параметры, выделенные на предыдущей стадии, и проводится ряд вычислительных экспериментов, демонстрирующих преимущество использования символьных вычислений при анализе и построении алгебраических решеток. В результате получаем программный модуль с более быстрым и гибким алгоритмом построения алгебраической сетки биквадратичного поля Дирихле Q(\/2 + \/3).

1. Алгебраические сетки

В наиболее общем виде определение вещественной теоретико-числовой решётки ([1], с. 117) выглядит следующим образом:

Пусть Л 1,..., Л m , m ^ s — линейно независимая система векторов вещественного арифметического пространства Rs. Совокупность Л векторов

вида

аі А і + ... + ат Л т, где а^ независимо друг от друга пробегают все целые рациональные числа,

называется т-мерной решеткой в М5, а сами векторы Л і,..., Л т — базисом этой решетки. Если т = 8, то решетка Л называется полной. В данной работе рассматриваются только полные решётки, поэтому прилагательное полная опускается.

Пусть ~а = (ао, а1,..., а5-1) — целочисленный вектор такой, что многочлен

s- l

Pi (x) = ^ avxv + xs

(1)

v=0

неприводим над полем рациональных чисел и все корни 0^ (V = 1,...,з) многочлена (1) действительные.

Обозначим через Т(") матрицу степеней алгебраически сопряженных целых алгебраических чисел 01,..., 05 — корней многочлена (ж) :

/1 ... 1 \

01 ... 05

0

s- l l

... 0s-v

а через 0 = (01,..., 05) — вектор полного набора алгебраически

сопряженных чисел — корней многочлена Р-а (ж).

Решетка Л (Т (")) называется алгебраической и имеет вид:

Л (Т (a)) = S 1 = X) 0i lmv, • • •, 2 0V l

s mv

I \^=1 ^=1

Алгебраической сеткой Фролова с матрицей Т (7?) и нечетным параметром д называется сетка

M(Tl( 1), q) = <J e(k) = (6(4..., &(*)) = І T-l k

где

Tl = Tl (?) =

І

2||T (7? )||l

■ T (?),

||T("a )|l = Лі (?) = o max i (|0l|k + ... + |0s|k). O^k^s-1

s

s

a

2. Биквадратичное поле Дирихле

Общим случаем биквадратичного поля Дирихле является поле вида

Q (VP + Vq) = Q (VP, Vq) = {a + bVP + cVq + dVPq|a, b, c, d є q} ,

где (р, д) = 1, 1 < р < д — натуральные числа, свободные от квадратов. Минимальным многочленом для примитивного элемента ур + является многочлен

Р~а (ж) = ж4 — 2 (р + д) ж2 + (р — д)2 =

= (ж2 — (д — р) — 2жур) ■ (ж2 — (д — р) + 2жур) =

= (ж — ур — ^д) ■ (ж — ур + ^д) ■ (ж + ур — уд) ■ (ж + ур + уд)

с целыми рациональными коэффициентами, неприводимыми над полем рациональных чисел, имеющим четыре действительных корня:

01 = л/р+л/д, 02 = л/р—л/д, 0з = —ур+л/д, 04 = —ур — уд.

Матрица Т (—а ) степеней алгебраически сопряженных целых алгебраических чисел 01, 02, 0з, 04 корней многочлена Ра (ж) выглядит следующим образом:

т (-а ) =

( 1 1 1 1 \

^ — ^ —^ + ^ —^ — ^

р + д + 2урд р + д — 2урд р + д — 2урд р + д + 2урд

\р1ур + д1уд р1ур — д1уд —р1ур + д1уд —р1ур — д1уд/

где р1 = 3д + р, д1 = 3р + д.

Имеем

||Т(а)^1 = Л1 (а) = тах(4,4уд, 4(р + д), 4(3р + д) уд) = 4 (3р + д) уд.

Для того чтобы не перегружать программный модуль громоздкими вычислениями с р и д, перейдем к рассмотрению непосредственно поля ^ (\[2,\р3^. После подстановки фактических значений получим следующие выражения для основных, перечисленных выше характеристик поля: *

01 = у2 + у3 02 = у2 — у3 0з = у3 — у2 04 = —у2 — у3

Му ——

\/2 + У3 л/2 — л/3 л/3 — л/2 — л/2 — л/3

(у2 + у3)2 (у2 — у3)2 (у2 — у3)2 (у2 + у3)2

(у2+ у3)3 (у2 — у3)3 — (У — у3)3 — (у2+ у3)3

1

1

1

1

* Здесь и далее символ ^ используется для обозначения символьных вычислений в системе компьютерной математики МаШса^

Мт ——

Выполнив элементарные символьные преобразования, приведем данные выражения к упрощенному виду:

/1 1 1 1 \

У2 + У3 \/2 — ^3 Уз — л/2 —л/2 — ^3

2^6 + 5 5 — 2^/6 5 — 2^/6 2^6 + 5

\1^\/2 + ^\/3 11^2 — 9^/3 9^3 — 11 л/2 —11^/2 — 9л/3)

Л г 36 - л/3.

После окончательного упрощения начальных данных можно вычислить основную матрицу для построения сетки по следующим формулам: *

Т1 := ^Т-

Т2 := Т

-1

Выражения Т1 и Т2 представляют из себя громоздкие, перегруженные иррациональными конструкциями матрицы, которые так же были подвергнуты упрощению, после чего приняли следующий вид:

В результате мы получили матрицы Т и Т2 полностью подготовленные для последующего использования в вычислениях, с оптимальным распределением нагрузки между символьными и числовыми операциями.

3. Численный эксперимент

Для упрощения работы с матрицей Т1 в работе А. С. Герцога [8] были введены следующие обозначения:

а := Т 1о,о Ь := Т 11,0 с := Т 11,2 й := Т12,о 1 := Т 12,1 о := Т 1з,о Ь := Т 1з,2 имеющие, после символьного преобразования, значения:

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

У3 ,^6 1 1 У6

а —^---- Ь —^-------+ — с —^ — —

216 216 72 72 216

, 5У3 У2 „ 5У3 У2 1 11^6 , 1 11

й —-----+ — I —------------— — о —— +------------- Ь —— —-----------.

216 36 216 36 У 8 216 8 216

* Здесь и далее символ := используется для обозначения оператора присваивания-определения функции или постоянной величины в системе компьютерной математики МаШсаі

Для этих параметров основная матрица расчета сетки приобрела следующий вид:

Т1 =

а

Ь

й

V#

аа —с с 11 ЬЬ

а

—Ь

й

—о/

Построение алгебраической сетки сводится к эффективному перечислению целых точек из области П^(Т1) изменения целочисленных параметров к1, к2, кз, к4, заданных соотношениями:

&1 = Я - а - (Ж1 + Х2 + Жз + Ж4)

к2 = Я - (Ь - (Х1 — Ж4) + с - (хз — Х2))

кз = Я - (й - (х1 + Ж4) + 1 - (хз + Ж2))

к4 = Я - (о - (х1 — Ж4) + Ь - (хз — Ж2))

|Х11, |Ж21, |Жз|, |Ж4| ^ 1,

где Я = 2д + 1 и нечетное натуральное д > 1 является параметром алгебраической сетки Фролова.

Дальнейший анализ области П^ (Т1) изменения целочисленных параметров к1, к2, кз, к4 позволил свести перечисление целых точек из П^ (Т1) к виду:

к1 = —д1, ■ кз = д2 (к1),.. к2 = —д4 (к1, кз),. к4 = д5 (к1,кз,к2),..

. . , д1

•, дз (к1)

.. ,д4 (к1,кз)

., да (к1, кз, к2)

где

*

д1 = [4аЯ], д2 (к1) =

—2 (й — 1) Я + тах

й - к1 1 - к1

(2)

дз (к1) =

д4 (к1,кз) =

д5 (к1, кз, к2) =

2Я —

2 (й — 1) Я + т1п

й - к1 — а - кз

й - к1 1 - к1

а - (й — 1)

+ Ь- I2Я —

а - кз — 1 - к1

а - (й — 1) а - кз — 1 - к1 а - (й — 1)

Ь - — (? — Ь

2Я —

й - к1 — а - кз

а - (й — 1)

* Символы [х] используются для обозначения целой части вещественного числа х, то есть [х] € Ъ и [х] < х < [х] + 1, а величина |~х~| € Ъ определяется соотношениями |~х~| — 1 < < х < [х].

с

де (*1,^*2) =

Н ( НЬ тш | — ■ к2 + I д---------------------

д ■ *2+(д——н

2Я —

2Я — й ■ *1 — а ■ *3

а ■ *3 — / ■ *1 а ■ (й — /)

а ■ (й — /)

Использование представленной параметризации позволило ускорить работу алгоритма по сравнению с полным перебором и свести время холостой работы (работу с узлами, не попавшими в область ненулевых весов) к нулю. В результате окончательная версия программы построения алгебраической сетки биквадратичного поля Дирихле ^ (л/2 + у/Щ А. С. Герцога выглядит как показано на рис. 1.

Рис. 1. Построение алгебраической сетки Фролова (А. С. Герцог)

Главным направлением дальнейшей оптимизации алгоритма является детальная параметризация полученных А. С. Герцогом выражений (2) для граничных условий изменения целых точек из П^ (Т1). Введем следующие обозначения:

, й / Н

^2 = й — /, Ш21 = — + Ь, Ш41 = — , ^42 = — , ^43 = — ,

аа—

^44 =

д

1 й

^51 = -------, ^52 = — ■ Ш51,

^2 а

/

= д ■ — — д ■ Н,

^7

Ш71 = --------,

^53 = — ■ ^5Ь

а

^7

^72 = “Г",

д

д

значение которых зависят только от параметров поля и от количества точек:

= 2Я, ^3 = Ш\ ■ Ш2, ^6 = Ш\ ■ ^21-

Вычислим символьные значения введенных параметров, с учетом избавление от иррациональных выражений в знаменателях дробей:

^2 =

л/2 18 ’

1

^21 = 36 ’

^41 = 5 + 2\/6, ^42 = 5 — 2\/б, ^43 = 5 — 2\/б,

^44

= 5 + 2л/б,

Ш51 = 9л/2, ^52 = 45л/2 + 36л/3, ^53 = 45л/2 — 36л/3,

У6

Ш71 =

У + 2

^72 =

У6 — 2

3888 18 18

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

В результате использования получившихся параметров, мы получаем процедуру, представленную на рис. 2.

ЙХЫ < j - 1, 1аЬ. эиЬтатх^аЬ, 0,3,0 ^ - 1))

Рис. 2. Построение алгебраической сетки Фролова (улучшенный вариант)

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

Проследить преимущество примененной к исходной программе параметризации можно на графике, представленном на рис. 3.

Как видно из графика, заметное ускорение работы алгоритма наблюдается уже при д = 100, однако с ростом д происходит значительно растет и

:::

Gridj q

Gridl3q о©о loo

0

0 5 10

q

Рис. 3. Время построения алгебраической сетки Фролова (Grid — программа А. С. Герцога, Gridl — улучшенный вариант)

время построения сетки, что подразумевает необходимость дальнейшей оптимизации прохода по nZ (Ti).

Запишем выражения (2) в новом виде с учетом введенной

параметризации:

qi = [2awi], q2 (ki) = [-W3 + max (w4i ■ ki, W4i ■ ki)], (2)

q3 (ki) = [W3 + min (w4i ■ ki, W42 ■ ki)], (3)

q4 (ki, k3) = [c ■ (wi - |W52 ■ ki - W5i ■ k31) + b ■ (wi - |w5i ■ k3 - W53 ■ ki|)], (4)

q5 (ki,k3,k2) = [max(w43 ■ k2 - W7i (wi - |w5i ■ k3 - W53 ■ ki|) , (5)

w44 ■ k2 - w72 (wi - |w52 ■ ki - w5i ■ k3|))l ,

qe (ki, k3, k2) = [min (W43 ■ k2 + W7i (wi - |w5i ■ k3 - W53 ■ ki|) , (6)

w44 ■ k2 + w72 (wi - |w52 ■ ki - w5i ■ k3|))l •

Проведем анализ функций q2(ki) и q3(ki):

(1) Очевидно, что max(w4i ■ ki,w4i ■ ki) и min(w4i ■ ki,w4i ■ ki) являются противоположными и взаимоисключающими друг друга функциями. Это означает, что вычислив одну из них нет необходимости вычислять вторую.

(2) Функции min() и max() позволяют вынести общий множитель из тела оператора, но при этом значение функций будет меняться с точностью до знака множителя, а именно

min(a-kb-k) = /k ■ min(a,b) , при k ^ 0,

( , ) | k ■ max (a, b), при k < 0

, , , , ч Гk ■ max (a, b)

max (a ■ k, b ■ k) = < ,

v ’ ' у k ■

min (a, b)

при k ^ 0, при k < 0.

Не составляет труда провести подобные рассуждения для 55(к1,к3,к2) и 46(&ъ кз,к2).

Воспользовавшись данными рассуждениями можно организовать расчеты 52, 53, 54, 55 и д6 таким образом, что все дополнительные вычисления будут вынесены на уровень выше. Сравним две оптимизированные версии программы.

Grid3 q

Gridl3 <

ООО

Grid23c

/- / /

/ ^ ' / / / / /

». / / / **

Рис. 4. Время построения алгебраической сетки Фролова (Grid программа А. С. Герцога, Gridl — улучшенный вариант, Grid2 -улучшенный вариант с оптимизацией min() — max())

и

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

Заключение

Анализ численного эксперимента позволяет сделать вывод, что в текущей работе нам удалось улучшить параметризацию алгебраических сеток, соответствующих биквадратичному полю Дирихле ^ (\[2 + л/Щ. Значительный результат был достигнут благодаря использованию символьных вычислений при подготовке исходных данных и тому факту,

что построение сетки было отделено от непосредственного интегрирования функций. Полученный программный модуль целесообразно использовать преимущественно при множественно-поточном интегрировании, где предварительно вычисленная сетка используется несколько раз. Для достижения приемлемой точности 10-4, которая достигается при 5 > 150, при единичных вычислениях необходимо объединить процедуру построения алгебраической сетки и нахождения интеграла, что позволит сократить время, затрачиваемое на хранения расчетной сетки в памяти.

Автор выражает благодарность своему научному руководителю профессору Н. М. Добровольскому за постановку задачи, полезные советы и проявленное внимание к работе.

Список литературы

1. Боревич З.И., Шафаревич И.Р. Теория чисел. М.: Наука, 1985.

2. Быковский В.А. О правильном порядке погрешности оптимальных кубатурных формул в пространствах с доминирующей производной и квадратичных отклонениях сеток. Препринт. Владивосток: ВЦ, 1985.

3. Быковский В.А. Экстремальные кубатурные формулы для анизотропных классов. Препринт. Хабаровск, 1995. 13 с.

4. Добровольский Н.М. Гиперболическая дзета функция решеток. Деп. в ВИНИТИ 24.08.84, № 6090-84.

5. Добровольский Н.М. О квадратурных формулах на классах Е^(е) и Н*(с). Деп. в ВИНИТИ 24.08.84, № 6091-84.

6. Добровольский Н.М. Теоретико-числовые сетки и их приложения: дис. ... канд. физ.-мат. наук. Тула, 1984.

7. Герцог А.С. Численное вычисление четырехкратных интегралов по методу Фролова с использованием алгебраических сеток биквадратичного поля Дирихле <ф(а/2 + %/3) // Изв. ТулГУ. Естественные науки. 2011. Вып. 3. С. 22-30.

8. Герцог А.С. Параметризация четырехмерной сетки биквадратичного поля Дирихле // Научные ведомости Белгородского государственного университета. Сер. Математика. Физика. 2011. № 23(188). Вып. 5. С. 41-53.

9. Коробов Н.М. Приближенное вычисление кратных интегралов с помощью методов теории чисел // ДАН СССР. 1957. № 6. С. 1062-1065.

10. Коробов Н.М. Вычисление кратных интегралов методом оптимальных коэффициентов // Вестник МГУ. 1959. № 4. С. 19-25.

11. Коробов Н.М. О приближенном вычислении кратных интегралов // ДАН СССР. 1959. Т. 124. № 6. С. 1207-1210.

12. Коробов Н.М. Свойства и вычисление оптимальных коэффициентов // ДАН СССР. 1960. Т. 132. № 5. С. 1009-1012.

13. Фролов К.К. Оценки сверху погрешности квадратурных формул на классах функция // ДАН СССР. 1976. Т. 231. № 4. С. 818-821.

14. Фролов К.К. Квадратурные формулы на классах функция: дис. ...канд. физ.-мат. наук. М.: ВЦ АН СССР, 1971.

15. Hlawka E. Zur angenaherten Berechnung mehrfacher Integrale // Monatshefte f ur Math. 1962. V. 66. № 2. P. 140-151.

Титов Андрей Валерьевич (titovav.semestr@gmail.com), аспирант, кафедра алгебры, математического анализа и геометрии, Тульский государственный педагогический университет им. Л.Н. Толстого..

Optimization algorithms for constructing algebraic grids by using symbolic computation for example biquadratic field Dirichlet Q(a/2 + a/3)

A. V. Titov

Abstract. The question of the application of symbolic computation to optimize the construction of algebraic nets biquadratic field Dirichlet. Reevaluated four-mesh parameterization biquadratic field Q(\/2 + \/3). The results of numerical experiments confirm the high efficiency of the use of symbolic computation in the presented problem.

Keywords: algebraic mesh, biquadratic field Dirichlet, symbolic computation.

Titov Audrey (titovav.semestr@gmail.com), postgraduate student, department of algebra, mathematical analysis and geometry, Leo Tolstoy Tula State Pedagogical University.

Поступила 14-06.2013

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