Вы находитесь на странице: 1из 226

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение


высшего профессионального образования
«ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ
имени А.П. Чехова»

На правах рукописи

Голиков Александр Николаевич

МОДЕЛИРОВАНИЕ ЭЛЕКТРОН-ФОНОННОГО РАССЕЯНИЯ


В НАНОПРОВОЛОКАХ НА ОСНОВЕ СХЕМ ОБРАБОТКИ
С МИНИМИЗАЦИЕЙ ВРЕМЕННОЙ СЛОЖНОСТИ

Специальность:
05.13.18 – Математическое моделирование, численные методы
и комплексы программ

Диссертация на соискание ученой степени


кандидата технических наук

Научный руководитель: доктор технических наук,


профессор Ромм Я.Е.

ТАГАНРОГ 2012
2
СОДЕРЖАНИЕ

ВВЕДЕНИЕ............................................................................................................. 6

ГЛАВА 1. МОДИФИКАЦИЯ КОМПЬЮТЕРНОГО МЕТОДА


КУСОЧНО-ПОЛИНОМИАЛЬНОГО ВЫЧИСЛЕНИЯ ФУНКЦИЙ
ОДНОЙ ПЕРЕМЕННОЙ, ПРОИЗВОДНЫХ И ИНТЕГРАЛОВ ............... 36

1.1. Модификация кусочно-полиномиальной схемы аппроксимации


функций одной переменной. ............................................................................ 37
1.2. Равномерная сходимость кусочно-полиномиальной схемы
аппроксимации функций одной переменной. ................................................ 47
1.3. Применение кусочно-полиномиальной схемы для аппроксимации
производных и равномерная сходимость процесса численного
дифференцирования. ......................................................................................... 50
1.4. Применение кусочно-полиномиальной схемы для приближённого
вычисления определённых интегралов и равномерная сходимость
приближения. ..................................................................................................... 50
1.5. Временная сложность максимально параллельной формы кусочно-
полиномиальных схем ...................................................................................... 53
1.6. Сравнение предложенных схем аппроксимации с известными. ........... 57
1.7. Выводы ........................................................................................................ 63

ГЛАВА 2. КОМПЬЮТЕРНЫЙ МЕТОД КУСОЧНО-


ПОЛИНОМИАЛЬНОГО ВЫЧИСЛЕНИЯ ФУНКЦИЙ ДВУХ
ПЕРЕМЕННЫХ, ЧАСТНЫХ ПРОИЗВОДНЫХ И ДВОЙНЫХ
ИНТЕГРАЛОВ ..................................................................................................... 64

2.1. Компьютерная кусочно-полиномиальная схема аппроксимации


функций двух переменных. .............................................................................. 65
2.2. Равномерная сходимость компьютерной кусочно-полиномиальной
аппроксимации функций двух переменных и численный эксперимент по
компьютерной аппроксимации функций. ....................................................... 75
3
2.3. Применение компьютерной кусочно-полиномиальной схемы для
аппроксимации частных производных. .......................................................... 78
2.4. Численный эксперимент по аппроксимации частных производных. ... 81
2.5. Применение компьютерной кусочно-полиномиальной схемы для
приближённого вычисления двойных интегралов и скорость сходимости
процесса приближения. .................................................................................... 83
2.7. Временная сложность максимально параллельной формы алгоритмов
компьютерной кусочно-полиномиальной аппроксимации. ......................... 86
2.8. Сравнение компьютерных кусочно-полиномиальных схем
аппроксимации с известными. ......................................................................... 89
2.9. Выводы ........................................................................................................ 97

ГЛАВА 3. КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ЭЛЕКТРОН-


ФОНОННОГО РАССЕЯНИЯ В GaAs НАНОПРОВОЛОКАХ ................ 99

3.1. Самосогласованный расчёт электронной структуры


нелегированной GaAs нанопроволоки. ......................................................... 100
3.2. Расчёт скорости электрон-фононного рассеяния в
нелегированной GaAs нанопроволоке. ......................................................... 108
3.3. Численный эксперимент по моделированию электронной структуры
GaAs нанопроволоки....................................................................................... 116
3.4. Численный эксперимент по моделированию электрон-фононного
рассеяния и физический смысл уточнений. ................................................. 127
3.5. Выводы ...................................................................................................... 134

ЗАКЛЮЧЕНИЕ ................................................................................................. 136

ЛИТЕРАТУРА ................................................................................................... 144

ПРИЛОЖЕНИЕ К ГЛАВЕ 1 ........................................................................... 159

4.1. Схема вычисления коэффициентов полинома по его корням ............. 159


4.2. Доказательство равномерной сходимости изложенного метода
приближённого вычисления определённых интегралов ............................. 161
4
4.3. Об аппроксимации функций, их производных и определённых
интегралов кусочно-полиномиальными схемами на основе ортогональных
полиномов. ....................................................................................................... 164
4.4. О приближении функций, производных и определённых интегралов на
основе интерполяционных полиномов с центральными разностями ........ 168
4.5. Численный эксперимент аппроксимации функций и производных при
помощи исходной и модифицированной кусочно-полиномиальной схемы.
........................................................................................................................... 169
4.6. Применение кусочно-полиномиальной схемы для аппроксимации
разрывных функций, их производных и определённых интегралов. ........ 180

ПРИЛОЖЕНИЕ К ГЛАВЕ 2 ........................................................................... 182

5.1. Представление двойных конечных разностей через значения функции.


........................................................................................................................... 182
5.2. Оценка скорости сходимости и доказательство равномерной
сходимости кусочно-полиномиальной аппроксимации функций двух
переменных. ..................................................................................................... 183
5.3. Оценка скорости сходимости и доказательство равномерной
сходимости кусочно-полиномиальной схемы приближённого вычисления
двойных интегралов. ....................................................................................... 185
5.4. Численный эксперимент по аппроксимации действительных функций
двух действительных переменных при помощи кусочно-полиномиальных
схем на базе интерполяции по Ньютону....................................................... 187
5.5. Численный эксперимент по аппроксимации частных производных при
помощи кусочно-полиномиальных схем на базе интерполяции по
Ньютону. .......................................................................................................... 208

ПРИЛОЖЕНИЕ К ГЛАВЕ 3 ........................................................................... 216

6.1. Аналитическое вычисление левой части аппроксимации уравнения


Пуассона. .......................................................................................................... 216
5
6.2. Описание численного эксперимента по моделированию электрон-
фононного рассеяния в GaAs нанопроволоке. ............................................. 219
6.3. Численный эксперимент по моделированию электрон-фононного
рассеяния в p-GaAs/AlAs транизисторной струтуре. .................................. 221

ЛИТЕРАТУРА К ПРИЛОЖЕНИЯМ ............................................................ 223

АКТЫ ОБ ИСПОЛЬЗОВАНИИ РЕЗУЛЬТАТОВ


ДИССЕРТАЦИОННОЙ РАБОТЫ ................................................................ 226
6

ВВЕДЕНИЕ

Актуальность проблемы. В настоящее время технологии электроники


позволяют производить полупроводниковые устройства наномасштаба с
различной геометрией, в частности – транзисторы на основе GaAs квантовых
проволок [1 – 3]. Проектирование таких устройств невозможно без
предварительного численного и компьютерного моделирования и требует
учёта квантовых эффектов высшего порядка в физических уравнениях, а
также уточнения численных методов их решения [4].
В квантовых проволоках движение электронов ограничено в двух
направлениях, что позволяет использовать для описания кинетических
процессов математическую модель одномерного электронного газа [5]. В
таком случае [6] электрон-фононное взаимодействие и соответствующие
скорости рассеяния [7, 8], а также электронная проводимость [9],
электронная структура [10], функции распределения [11] и подзоны энергии
[12] претерпевают изменения по сравнению с объёмным полупроводником.
Известно [5, 6], что электрон-фононное рассеяние оказывает
существенное влияние на явления электронного транспорта в системах
низкой размерности. В частности, от взаимодействия с продольными
оптическими фононами зависит подвижность носителей в GaAs и скорость
насыщения, которые определяют время отклика устройства, рабочие частоты
конструируемых микросхем, вольт-амперные характеристики приборов [6].
Для того чтобы используемая математическая модель электрон-фононного
взаимодействия находилась с одной стороны в максимальном согласии с
экспериментом, а с другой – не содержала избыточных вычислений, не
влияющих на конечный результат, необходимо определить доминирующие
механизмы рассеяния [13 – 17].
Расчёт электрон-фононного рассеяния в нанопроволоках. Для
расчёта скорости рассеяния электронов на фононах широко применяется
золотое правило Ферми [6] и кинетическое уравнение Больцмана [18] с
7
использованием аппроксимации Фока для само-энергии, основанной на
формализме функций Грина [19]. Такой подход позволяет принять во
внимание непараболичность дисперсионного соотношения для электронов
[20], однако учёт столкновительного уширения подзон энергии, в терминах
[15], а также квантовых корреляций между актами рассеяния приводит к
теоретическим противоречиям [17], заключающимся в том, что при таком
подходе функцией распределения электронов не может быть функция
Ферми-Дирака [21 – 23].
В обзоре Кнезевица, Рамайи и др. [24] для транзисторов со структурой
металл-оксид-полупроводник (МОП) на основе нанопроволок показан расчет
кулоновского рассеяния, рассеяния на шероховатостях поверхности и
рассеяния на акустических и оптических фононах в приближении
параболического закона дисперсии при помощи золотого правила Ферми. В
[25] учитывается непараболичность подзон энергии размерного квантования,
так для скорости рассеяния электронов на акустических фононах приводится
выражение вида [25]
1  2E f
E f , (1)
2
k BT 2m*
Wnacm E   Bac
  n x, y   m x, y  dx dy
2 2

2  v2 G E f 1  2E f 

где Bac – акустический деформационный потенциал, k B – постоянная

Больцмана, T – абсолютная температура, m* – эффективная масса электрона


в кристалле,  – редуцированная постоянная Планка,  – плотность
кристалла, v – скорость звука в кристалле,  n  x, y  ,  m  x, y  – волновые
функции n -го и m -го квантового состояния соответственно,  – фактор
непараболичности, E f – энергия электрона после рассеяния вида

1  4E z  1
E f  En  Em    ,
2
при этом   0 для упругого рассеяния,   0 для случая эмиссии
фонона,   0 – для случая абсорбции, E z – кинетическая энергия
8
движения вдоль оси нанопроволоки, E f  – единичная функция Хевисайда,

для которой справедливо соотношение


0, E f  0,
E f   
1, E f  0.

При таком подходе непараболичность дисперсионного соотношения


учитывается в (1) введением множителя  , что соответствует представлению
кинетической энергии отрезком ряда вида [26]

Ez 
2 2
2m *

k  k4 .  (2)

Представление энергии вида (2) является частным случаем разложения в


виде ряда с постоянными коэффициентами

E z   a2 i k 2 i . (3)
i 0

Приближение (2) является наиболее часто используемым, так как позволяет


проводить более точные вычисления по сравнению со случаем
параболических подзон, при этом уравнения усложняются не так
существенно, как при учёте большего числа членов ряда (3).
Методика самосогласованного вычисления скорости рассеяния
электронов на АПОФ и шероховатостях поверхности [4, 15, 23] в GaAs
нанопроволоке с учётом столкновительного уширения подзон энергии и
взаимного влияния механизмов рассеяния в предположении
термодинамического равновесия, предложенная Поздняковым, Галенчиком и
др. в [17], позволяет обойти указанные выше теоретические противоречия со
статистикой Ферми-Дирака. В [14] вычисляются скорости электрон-
фононного рассеяния в рамках подхода [17] с учётом непараболичности
дисперсионного соотношения. В рамках такого подхода скорость рассеяния
электронов с начальным квантовым состоянием i, j в состояние , k  на
акустических фононах имеет вид [4]:
9
N sb 1 N sb 1
E, ij   2 2   
2
k BT 2m*
Bac
  x, y   k x, y  2 dxdy ,(4)
2
WijA Dijk E, Eijk , ij
v 
ij
 1 k 1 G

Dijk 
E , Eijk , ij   E  Eijk  
2ij  2 4 E  Eijk 2
 ij2
, (5)

4E Eijk
2
  ij2

где приняты обозначения из (1), а также ij – величина столкновительного

уширения уровня i, j, обусловленного всеми рассматриваемыми


механизмами рассеяния, N sb – число рассматриваемых подзон энергии,

Eijk  Ek  Eij , i , j ,  , k – квантовые числа, описывающие квантование

вдоль оси абсцисс и ординат соответственно, при этом полагается, что ось
аппликат направлена вдоль оси квантовой проволоки, E – кинетическая
энергия движения электронов вдоль оси нанопровлоки.
Интегралы перекрытия вида

  ij x, y   k x, y  dxdy ,


2 2
(6)
G

входящие в выражения (1), (4) вычисляются приближённо. Погрешность


приближённого вычисления интеграла (6) в значительной степени влияет на
погрешность численного моделирования электрон-фононного рассеяния.
В отличие от работ [24, 25], в рамках подхода [4, 17] для вычисления
скорости рассеяния (4) требуется предварительно решить уравнения вида
ij E   Wijk E , ij E   0 , (7)
k

где E – кинетическая энергия движения электронов вдоль оси нанопровлоки,


Wijk E , ij E  – скорость рассеяния, соответствующая механизму рассеяния,

на который указывает индекс k . Равенство (7) отражает влияние механизмов


рассеяния друг на друга и вклад каждого механизма в столкновительное
уширение. Уравнение (7) является нелинейным алгебраическим уравнением
относительно столкновительного уширения спектра ij и должно решаться

численно для каждого значения E .


10
Для решения уравнений вида (7) наиболее часто используют
итерационные методы – метод Ньютона или метод Ньютона-Рафсона, –
сходимость которых в значительной степени зависит от погрешности
начального приближения [26].
В представленном диссертационном исследовании использовался
метод решения уравнений вида (7) на основе сортировки [27, 28], который
обладает устойчивостью, инвариантностью шагов алгоритма относительно
правой части (7), а также параллелизмом. Особенности применения метода
на основе сортировки для обработки данных физических экспериментов
излагаются в [29 – 31].
В [4] отмечается, что для наиболее точного компьютерного
моделирования процессов рассеяния необходим самосогласованный расчет
уровней энергии и волновых функции электронов.
Самосогласованный расчёт электронной структуры
нанопроволоки. Полупроводниковый кристалл принято представлять в виде
решётки, заполненной электронным газом, в узлах которой помещены атомы.
Кристалл в рамках такой модели является многочастичной системой, а
уравнение Шрёдингера в таком случае будет иметь вид [32]:
Hˆ r1, s1, ...rN , sN   Eˆ r1, s1, ...rN , sN  , (8)
где  r1 , s1 , ...rN , s N  – многочастичная волновая функция, r – радиус-вектор

электрона, s – спин, Ĥ – гамильтониан, N – число электронов в


моделируемом кристалле.
Волновая функция в равенстве (8) зависит от 3N пространственных
переменных и N спинов, что при увеличении числа электронов N влечёт
вычислительные трудности при решении уравнения (8), заключающиеся в
экспоненциальном росте объёма требуемой памяти и погрешностей
приближения – так называемая катастрофа Ван Флека-Инглиса [33, 34]. Так
при рассмотрении N  1000 электронов и при использовании q  3 бит на

одну переменную для записи волновой функции потребуется B  q3 N  101500


11
бит памяти [35], что делает невозможным использование математического
аппарата многочастичных волновых функций для практических
приближённых расчётов сложных квантовых систем.
С целью упрощения математических моделей, а именно для
использования формализма одночастичных волновых функций, вводят
следующие допущения.
Первое допущение – приближение Борна-Оппенгеймера [36],
заключающееся в раздельном описании движения атомов кристалла и
электронов. Движение электронов определяется мгновенным положением
ионов, а медленное движение ионов определяется средним распределением
электронов в кристалле. Сделанное предположение корректно в силу
значительной разницы – на 4-5 десятичных порядков – масс электронов и
ионов.
Второе допущение – это приближение самосогласованного поля,
предложенное Хартри [37 – 40] и Фоком [41], состоящее в замене задачи о
расчёте взаимодействия электронов друг с другом и ионами решётки задачей
о расчёте взаимодействия одного электрона с усреднённым
самосогласованным полем. Действие самосогласованного поля на электрон
считается эквивалентным действию остальных электронов и ионов.
В работах Томаса [42] и Ферми [43] в 1927 г. предполагалось, что
кинетическая энергия Ek взаимодействующих электронов может быть
представлена как кинетическая энергия свободных электронов во внешнем
поле, тогда средняя энергия электронов ETF зависит только от электронной
плотности вида
nr     dr2 ...  r1 , s1 , ...rN , s N  * r1 , s1 , ...rN , s N  drN , (9)
s1 , s 2 , ..., s N

где  r1 , s1 , ...rN , s N  – решение уравнения (8), * r1, s1,...rN , sN  – функция


комплексно сопряжённая с  r1 , s1 , ...rN , s N  , N – число моделируемых
электронов.
12
Теоремы Хоэнберга-Кона [44] устанавливают существование
функционала ETF nr  для многоэлектронных систем [35] при абсолютном
нуле температур, а в работе Мермина [45] действие теорем Хоэнберга-Кона
распространяется на случай температур отличных от абсолютного нуля.
В работе [46] Коном и Шэмом предложен способ приближённого
построения функционала ETF nr .
Теоремы Хоэнберга-Кона и подход Кона-Шэма составляют базис
теории функционала плотности (DFT – density functional theory), в рамках
которой поведение электронов в кристалле описывается одночастичным
уравнением Кона-Шэма вида [46]:
2 2
 *   r    KS r  r   E r  , (10)
2m
где первое слагаемое в левой части отвечает за кинетическую энергию
электрона, второе – соответствует взаимодействию электрона с полем,
обладающим потенциалом  KS r  , полученным из функционала Кона-Шэма
для энергии [46]:
 KS r   ext r    H r    xc r  , (11)
при этом  H r  – потенциал Хартри самосогласованного поля,  ext r  –
потенциал поля ионов решётки,  xc r  – обменно-корреляционный
потенциал.
При наличии точного аналитического выражения для  xc r  из (11)
уравнение (10) точно опишет состояние электронов в кристалле при
сделанных допущениях, однако точного выражения для обменно-
корреляционного потенциала не существует [47]. Наиболее простая и часто
используемая аппроксимация обменно-корреляционного взаимодействия –
это аппроксимация локальной плотности (LDA – local density approximation)
– физичекая модель, в рамках которой полагается, что обменно-
корреляционный потенциал зависит только от электронной плотности в
текущей точке.
13
В зависимости от области квантово-механической задачи могут
использоваться различные аппроксимации обменно-корреляционного
потенциала. Так потенциалы, используемые при расчёте атомных орбиталей
[50, 51] являются источником значительной погрешности при расчёте
электронной структуры, в силу необходимости учёта неоднородности поля
вблизи иона. По той же причине потенциалы пригодные для вычислений
поведения электрона во всём моделируемом устройстве повлекут
существенные неточности при использовании их в области квантовой химии.
С вычислительной точки зрения на выбор конкретной аппроксимации
обменно-корреляционного потенциала влияют также налагаемые
ограничения временной сложности [50]. Под временной сложностью
понимается время работы программного комплекса без учёта накладных
расходов связанных с обращениями к памяти и простоем операционной
системы.
Аппроксимация обменно-корреляционного потенциала по Беку и
Джонсону [52], а также его модификация Трана и Блахи [53], позволяет
получить большее согласие с экспериментом в задачах о расчете электронной
структуры полупроводника, но при этом необходимо при каждом
вычислении обменно-корреляционного потенциала решать нелинейное
алгебраическое уравнение, что повышает временную сложность алгоритмов.
С целью учёта в уравнении (10) периодичности потенциала атомов
решётки кристалла, и чтобы оперировать представлениями классической
физики, в частности вторым законом Ньютона, вводят формализм
эффективной массы [54], в рамках которого уравнение Кона-Шэма (10)
принимает вид уравнения Шрёдингера в форме БенДаниэла-Дюка [55, 56]:
2  1 
  *  r   V r  r   E r  . (12)
2  m r  
Потенциал Хартри удовлетворяет уравнению Пуассона вида [4]:
8
 2 H r    e  r , (13)
0
14
где  e  r  – электронная плотность с учётом заселённости подзон
размерного квантования –
N sb 1
 e r    nk  k r  ,
2
(14)
k 0

при этом N sb – априори заданное число моделируемых подзон размерного


квантования. Населённость k -й подзоны n k квантовой проволоки имеет вид
[57]:

2m* 1
ni    dE , (15)
 E  E  E  EF 
Ei i
1  exp  i 
 k BT 
где Ei – энергии i -го состояния, k B – постоянная Больцмана, T –
абсолютная температура, E F – уровень Ферми, E – кинетическая энергия
электрона.
Электронную структуру полупроводниковых кристаллов принято
описывать системой уравнений (12), (13) которая является нелинейной, так
как в уравнение Пуассона (13) входит электронная плотность (14) явно
зависящая от волновой функции, а потенциал Хартри, определяемый
уравнением (13), входит в уравнение (12), определяющее волновую
функцию.
Для системы уравнений (12), (13) часто выбирают граничные условия
Дирихле [31, 58, 59], при этом математические выражения условий зависят от
постановки физической задачи и моделируемого устройства. Так при
моделировании гетеропереходов граничные условия имеют вид [32, 58]
 1 r  H  1 ,

 2 r  H  2 ,

1 r  H  1 ,
 (17)
 2 r  H   2 ,
 r   0,
 1 D
 r   0,
 2 D
15
где H – граница гетероперехода, D – граница устройства,  1 r  ,  2 r  –
волновые функции электронов в первом и во втором полупроводнике
гетероперехода соответственно, 1 r  ,  2 r  – потенциалы Хартри в первом и
во втором веществе, 1 , 2 , 1 ,  2 – константы, определяемые веществами,
образующими гетеропереход. Последние два равенства в системе (25)
физически означают, что электрон не может покинуть границы устройства.
Таким образом, система уравнений (12), (13) с граничными условиями
(17) составляют задачу самосогласованного расчёта электронной структуры
полупроводникового кристалла, входящего в моделируемое устройство. В
ходе решения системы вычисляются волновые функции основного и
возбуждённых квантовых состояний, потенциал Хартри, а также уровни
энергии размерного квантования.
Система уравнений Шрёдингера и Пуассона не имеет [57] точного
аналитического решения, поэтому в настоящее время остаётся актуальной
[57, 58] задача численного решения задачи (12), (13), (17).
Вне зависимости от используемых численных методов блок-схема
самосогласованных итераций, как правило, имеет вид, представленный на
рис. 1 [60]:
Решение уравнения
Шрёдингера Расчёт электронной Решение уравнения
при   0 плотности Пуассона

Расчёт обменно-
корреляционного
Решение уравнения потенциала
Шрёдингера и
потенциала
Кона-Шема

Нет Да
Решение Конец итераций
сходится?

Рис. 1. Блок-схема самосогласованных итераций


16
Метод конечных разностей (МКР). Суть метода конечных разностей
применительно к задаче (12), (13), (17) кратко заключается в следующем.
Пусть для определённости рассматривается нанопроволока
прямоугольного поперечного сечения, и пусть для простоты полагается
изотропия эффективной массы, что справедливо, например, для GaAs [32]. В
таком случае уравнения (12), (13) составят систему вида
 2  2 2 
 *  2  2  x, y   V x, y  x, y   E x, y ,
 2m  x y 
 2 (18)
     x, y    8   x, y ,
2

 x 2 y 2  H 0 e
 
с областью рассмотрения вида
G  x, y  x a, b, y c, d    R 2 . (19)
Нанопроволока, моделируемая системой (18) на области (19),
представлен на рис. 2а, расчёт его электронной структуры важен для
разработки двухзатворных гетероструктурных транзисторов на основе GaAs
нанопроволок [4, 15], возможная структура которых в поперечном разрезе
представлена на рис. 2б.

а) б)
y n-AlAs Затвор 1
y

Ly p-GaAs

z
Ly
n-AlAs Затвор 2

O x O x
Lx Lx

Рис. 2. Нанопроволока (а) и поперечное сечение двухзатворного транзистора


на её основе (б)
17
С целью решения системы (18) методом конечных разностей на
области (19) задаётся равномерная сетка с узлами  xi , yi  ,
xi  a  ihx , (20)
yi  b  jhy , (21)

где i  0, N x , j  0, N y , hx  (b  a ) N x , hy  (d  c) N y , N x – число узлов

сетки вдоль оси абсцисс, N y – число узлов сетки вдоль оси ординат.

Значения N x , N y задаются априори.

В уравнениях (12), (13), (17) частные производные заменяются


конечными разностями, что влечёт
  2  i 1, j  2 i , j   i 1, j  i , j 1  2 i , j   i , j 1 
 *     Vij ij  E ij ,
 2m   hx 2
hy 2 

 (22)
 
 i 1, j  2i , j  i 1, j i , j 1  2i , j  i , j 1  8
    e  ij ,
h 2
h 2  
 x y  0

где i  0, N x , j  0, N y , N x из (20), N y из (21).

Изменение нумерации узлов (28), (29) при помощи соотношения


k  i Ny  j , (23)

где i  0, N x , j  0, N y , N x из (20), N y из (21), приведёт систему (22) к виду

  2  k  N j  2 k   k  N j   2   
 *   k 1 k k 1 
 Vk k  E k ,
 2 m  h 2
h 2 
 x y 
 (24)
  k  N j  2 k   k  N j  k 1  2 k   k 1  8
    e  k ,
h 2
h 2  
 x y  0

где k  0, N x N y .

В [61] показано, что первое равенство системы (24) является полной


проблемой собственных значений с блочно симметричной матрицей, второе
равенство совместно с условиями (17) – конечно-разностная аппроксимация
задачи Дирихле для дифференциального уравнения второго порядка в
частных производных эллиптического типа [62].
18
Решение задачи для аппроксимации уравнения Пуассона из (24) с
условиями (17) детально описано в [62] и здесь не приводятся в силу
громоздкости. Кратко суть метода [62] заключается в перенумеровании узлов
сетки и решении полученной таким образом системы линейных
алгебраических уравнений.
Для решения полной проблемы собственных значений обычно
используют итерационные методы: QR -алгоритм [63], итерации Чебышева
[64], метод Якоби [65] или Якоби-Дэвидсона [66, 67].
При использовании QR -алгоритма на каждой итерации исходная
матрица представляется в виде произведения двух матриц – ортогональной и
правой треугольной, при этом наиболее часто используется устойчивый
вариант ортогонализации Грама-Шмидта [63], при этом отмечается, что
сходимость ортогонализации [63] и QR -алгоритма [68] чувствительна к
погрешностям вычисления матричных элементов.
Сходимость методов Якоби и Якоби-Дэвидсона помимо зависимости
от погрешности матричных элементов имеет существенную зависимость от
начального приближения собственных значений [66 – 68].
В [26, 68] показывается чувствительность схем приближённого
решения проблемы собственных значений к погрешностям входных данных,
поэтому задача снижения погрешности конечно-разностных аппроксимаций
остаётся актуальной.
Контроль точности полученных приближённых решений
осуществляется при помощи условий вида

 xi , y j    k  xi , y j    k 1 xi , y j     (25)

для самосогласованного потенциала из (22),

 xi , y j    k  xi , y j   k 1 xi , y j    (26)

для волновой функции, и

En  Enk   Enk 1   E , (27)


19
для уровней энергии размерного квантования, при этом k – номер
самосогласованной итерации, i из (20), j из (21), n – номер квантового
состояния.
При использовании конечно-разностного подхода удаётся достичь
невязки уровней энергии (27) порядка 10 7 за 15 самосогласованных
итераций [69] и снизить невязку потенциала (25) до 10 10 за 70-80 итераций
[60].
Метод Галёркина. Приближённое решение уравнений системы (18)
ищется в виде отрезков ряда
N terms
 n x, y    pn, i i x, y , (28)
i 1

N terms
 x, y    vii x, y  , (29)
i 1

где N terms задаётся априори, n – номер квантового состояния, i  x, y  –


базисные функции, которые должны удовлетворять следующим условиям
[62]:
1) функции i  x, y  дважды непрерывно дифференцируемы в области G
из (19) и на её границе;
2) любое конечное их число линейно независимо;
3) для любой дважды непрерывно дифференцируемой функции i  x, y  ,
удовлетворяющей граничным условиям, и для любого   0 , найдутся
такие линейные комбинации (28), (29), которые обратят уравнения
системы (18) в верные равенства с точностью до  .
Подстановка аппроксимаций (28), (29) в уравнения (18) с приведением
подобных влечёт [70]:
20
 N terms   2 
     * i  x, y  j  x, y   i  x, y  j  x, y  dx dy p j
 j  1 G  2m 


N terms
  E n   i  x, y  j  x, y dx dy p j , (30)
 j 1 G
 N terms
   i  x, y  j  x, y  dx dy v j   8    e  x, y i  x, y  dx dy,
N terms

 j  1 G 0 j  1 G

где i  0, Nterms .
Систему (30) можно представить в матричном виде
Cp  Ip,
 (31)
Av  f,
где I – единичная матрица,
 2 
Cij     * i x, y  j x, y   i x, y  j x, y  dx dy , (32)
G  2m 
Aij   i  x, y  j  x, y  dx dy, (33)
G

f i    e  x, y i  x, y  dx dy, (34)


G

при i  0, Nterms  1, j  0, Nterms  1.


Первое равенство системы (31) представляет собой полную проблему
собственных значений [70], второе – систему линейных алгебраических
уравнений [70].
Так как алгоритмы приближённого вычисления собственных чисел и
собственных векторов чувствительны к погрешностям входных матричных
элементов [68] и интегралы (32) – (34) в общем случае не могут быть
вычислены аналитически, остаётся актуальной задача наиболее точного
приближения двойных интегралов вида (32) – (34).
Метод конечных элементов (МКЭ). Кратко идея метода конечных
элементов заключается в следующем [71].
Область рассмотрения (19) разбивается на конечное число
подобластей, в каждой из которых решение ищется в виде (28), (29).
21
Коэффициенты разложения (28), (29) находятся из условия равенства
аппроксимантов на границах подобластей и выражаются через значения
аппроксимирующих функций в узлах на границах подобластей.
Число алгебраических уравнений равно числу значений
аппроксимирующих функций в узловых точках, поэтому получаемые
системы принципиально разрешимы по теореме Крамера.
Так, применительно к рассмотренной выше квантовой проволоке,
область (19) разбивается на равные прямоугольные подобласти вида

Gk  x, y  x  x , x
i i 1 , y  y j , y j 1  , (35)

где k вычисляется аналогично (23), при этом i  0, N x , j  0, N y , N x – число

подобластей вдоль оси абсцисс, N y – число подобластей вдоль оси ординат.

В каждой подобласти (35) задаются узлы вида xi,  , y j , k ,  


xi,   xi  hx , (36)

y j , k  y j  khy , (37)

где   0, nx , k  0, n y , hx   xi  xi 1  nx , hy  y j  y j 1  ny , i  0, N x ,

j  0, N y , N x , N y из (35), n x , n y – число узлов вдоль осей абсцисс и ординат

соответственно, определяемое видом приближённых решений (28), (29).


В граничных узлах (36), (37) налагается условие равенства
аппроксимирующих функций для внутренних подобластей (35), либо
равенства аппроксимирующей функции и граничных условий для граничной
подобласти, при этом граничной подобластью считается подобласть, хотя бы
одна из границ которой частично или полностью совпадает с границей
области (19), остальные подобласти называются внутренними. Аналогично
определяются граничные и внутренние узлы в подобласти (35).
Узлы (36), (37) используются для приближённого вычисления
интегралов (32) – (34) конечно-разностными схемами.
Метод конечных элементов сам по себе не предусматривает [71]
подбора размера подобластей и шага узлов для более точного вычисления
22
интегралов (32) – (34). На этом основании, а также по причине
чувствительности устойчивости алгоритмов приближённого решения
проблемы собственных значений к погрешностям входных данных, задача
наилучшего в смысле снижения погрешности аппроксимации отрезками ряда
(28), (29) разбиения области (19) на подобласти, а также наилучшего в
названном смысле задания узлов (36), (37) остаётся актуальной.
На рис. 3 показано поведение невязки (25) потенциала Хартри [69].

Рис. 3. Сходимость метода конечных элементов

Из рис. 3 видно, что в рамках метода конечных элементов удаётся


получить невязку потенциала (25) порядка 10 5 [70].
Вейвлет-подход в методе конечных элементов (МКЭ + вейвлет). В
рамках вейвлет-подхода [72] решение задачи (18), (17) ищется в виде

 n  x, y    p, k q, k x, y  ,


~
(38)
, k , q

 x, y    v, k q, k x, y  ,


~
(39)
, k , q

где индексы  , k определяют узлы (36), (37), а для функций базиса


выполняются равенства
23
0,k  x, y     x h     y g  k ,
~
~
1, k  x, y     x h     y g  k ,
 ~2 (40)
 , k  x, y     x h     y g  k ,
 ~3
 , k  x, y     x h     y g  k ,

 m

  x   2  w j  2 x  j ,
 j 1 m
 m
  y   2  w j  2 y  j ,
 j 1 m
 m
(41)
  x  

2  w~ j  2 x  j ,
j 1 m

 m

  y   2  w~ j  2 y  j ,
 j 1 m

m
где  w j  1, w~ j   1 j w j 1 , j  1 m, j .
j 1 m

Аппроксимации (38), (39) с учётом (40), (41) подставляются в систему


(18) по аналогии с методом Галёркина, после чего вычисляются матричные
элементы аналогичные (32) – (34) и задача (0,18), (17) сводится к полной
проблеме собственных значений и системе линейных алгебраических
уравнений.
На рис. 4 показано поведение невязки уровней энергии (27) в
зависимости от шага сетки с узлами вида (36), (37).
24

Рис. 4. Сходимость метода конечных элементов при вейвлет-подходе

Из рис. 4 видно, что при использовании вейвлет-разложения невязка


уровней энергии (27) составляет величины порядка 10 5  10 6 в
исследованиях [72].
Сравнительная характеристика численных методов. В табл. 1
сравниваются невязки потенциала Хартри (25), уровней энергии размерного
квантования (27), а также навязки электронной плотности вида

e xi , y j    e k  xi , y j    e k 1 xi , y j  (42)

где k – номер самосогласованной итерации. Прочерк в табл. 1 означает, что в


рамках работы поведение соответствующей невязки не исследовалось,
аббревиатура МСЭ соответствует методу спектральных элементов [73].

Таблица 1
Сравнение невязок
Численный   e E Источник
метод
МКЭ + вейвлет – – 10 6 [74]
МКЭ 10 6 – – [75]
МКЭ + вейвлет – – 10 10 [73]
МСЭ 10 10 – 10 14 [76]
25
МКР – 10 2 – [77]
МКР – – 10 5 [69]
МКР 10 10 10 2 – [60]
МКЭ 10 4 10 2 – [70]

Из табл. 1 видно, что наибольшего снижения невязок удаётся достичь


при помощи методов, построенных на основе метода Галёркина, – метода
конечных элементов и метода спектральных элементов. Из названных
методов большей точностью в терминах (25), (27), (42) и более быстрой
сходимостью обладают методы, в рамках которых удаётся наилучшим
образом приблизить интегралы вида (32) – (34).
В связи с ростом массовой доступности аппаратных средств для
параллельных вычислений повышается актуальность распараллеливаемых
численных схем [79, 80], при этом известно [81], что алгоритмы, обладающие
естественным параллелизмом на практике показывают большую
эффективность распараллеливания.
В настоящее время широкое распространение получили программные
комплексы, ориентированные как на решение отдельных задач
вычислительной математики, так и на решение совокупности задач по
моделированию объектов физики и химии. К таковым относятся пакеты
ARPACK [82], HI-SPEED (Highly specific but edgily effective data-processing)
software packets [83], CCP6 (Collaborative Computational Project on Molecular
Quantum Dynamics) [84, 85], SiLENSe [86, 87], SIESTA (Spanish Initiative for
Electronic Simulations with Thousands of Atoms) [88, 89] и др.
Несмотря на то, что стандартные библиотеки и комплексы программ
дают возможность решать с различной точностью подавляющее
большинство возникающих вычислительных задач и задач компьютерного
моделирования, их общим недостатком является то, что попытки учесть
конкретную аппаратную архитектуру, приводят к трудностям переносимости
программ [90 – 92], а стремление к платформонезависимости приводит к
26
снижению производительности в силу усложнения вычислительной среды,
например обработки байт-кода в JVM (Java Virtual Machine) [81, 92].
При реализации параллельных программ на практике
производительность существенно зависит от метода потоковой обработки
[92] и соответствия метода и алгоритма используемой аппаратной части [93,
94].
Таким образом, актуальной является задача математического
построения схем приближённого вычисления действительных функций
одной действительной переменной, их производных и определённых
интегралов, а также схем приближённого вычисления действительных
функций двух действительных переменных, частных производных и двойных
интегралов. Реализация на основе построенных схем компьютерных
программных комплексов позволит более точно вычислять населённость
подзон вида (15), а, следовательно, – более точно вычислять электронную
плотность (14) и правую часть уравнения Пуассона (13), что снизит влияние
погрешности вычисления элементов матрицы f на устойчивость вычисления
аппроксимации (29) потенциала Хартри. Аналогично более точное
вычисление на указанной основе элементов матриц A, C, f,
представляющих собой двойные интегралы вида (32) – (34), снизит влияние
соответствующих погрешностей на сходимость итерационных методов
приближённого решения полной проблемы собственных значений.
Конструируемые алгоритмы при этом должны по построению обладать
минимальной временной сложностью и естественным параллелизмом. Более
точно, формулируется следующая цель.
Целью диссертационной работы является разработка и исследование
варьируемых компьютерных кусочно-полиномиальных схем приближённого
вычисления с высокой точностью и малой временной сложностью
действительных функций одной и двух действительных переменных,
производных от них, а также определённых интегралов для моделирования
электрон-фононного рассеяния в нелегированной GaAs нанопроволоке.
27
Для достижения поставленной цели в диссертационном исследовании
поставлены следующие задачи:
1. Построить программно варьируемую кусочно-полиномиальную
схему вычисления действительных функций одной действительной
переменной на основе усредненной суммы интерполяционных полиномов
Ньютона для интерполирования вперёд и назад на каждом подынтервале. На
этой основе разработать видоизменения кусочно-полиномиальных схем
вычисления производных и определённых интегралов. Обосновать
сходимость и оценить скорость сходимости данного приближения функций и
определённых интегралов.
2. Разработать программно варьируемую кусочно-полиномиальную
схему аппроксимации действительных функций двух действительных
переменных на основе интерполяционного полинома Ньютона от двух
действительных переменных с варьируемыми степенью и числом
подобластей. На этой основе разработать методы аппроксимации частных
производных и приближения двойных интегралов по прямоугольной
области. Доказать сходимость и оценить скорость сходимости данных
приближений функций и двойных интегралов.
3. Оценить временную сложность предложенных варьируемых
кусочно-полиномиальных вычислительных алгоритмов на модели
неветвящихся параллельных программ.
4. На основе предложенных кусочно-полиномиальных схем
вычисления двойных интегралов, а также схем вычисления корней
полиномов при помощи сортировки выполнить моделирование электронного
транспорта в нелегированной GaAs нанопроволоке с учётом квантовых
эффектов высокого порядка. Уточнить известные численные значения
экстремумов скоростей электрон-фононного рассеяния и уточнить значения
уровней энергии размерного квантования GaAs нанопроволоки для
основного и первых двух возбуждённых состояний.
28
5. Создать программный комплекс для реализации предложенных
разновидностей кусочно-полиномиальных схем, обеспечивающий
минимизацию их временной сложности. На основе комплекса провести
численный эксперимент по приближению рассматриваемых функций,
производных и интегралов. На этой же основе разработать программный
комплекс по моделированию GaAs нанопроволок и сравнить полученные
результаты моделирования с результатами моделирования на базе других
вычислительных подходов.
Методы исследования включают интерполяционные методы
аппроксимации действительных функций одной и двух действительных
переменных, численные методы алгебры и математического анализа, методы
приближённого решения нелинейных систем дифференциальных уравнений
в частных производных, элементы теории сложности, методы
математического, численного и компьютерного моделирования объектов и
устройств наноэлектроники с двумерным квантованием, методы объектного
и многопоточного программирования.
Достоверность результатов диссертации следует из их корректного
математического обоснования, аналитических оценок скорости сходимости и
погрешности приближений, подтверждается результатами численного и
программного эксперимента, а также результатами компьютерного
моделирования.
Научная новизна результатов диссертационной работы заключается в
следующем:
1. Предложена модификация компьютерной варьируемой кусочно-
полиномиальной схемы вычисления действительных функций одной
действительной переменной, отличающаяся от аналогов построением на
основе усреднения полиномов Ньютона для интерполирования вперёд и
назад на каждом подынтервале, что позволяет существенно повысить
точность при минимизированной временной сложности вычисления. На этой
основе даны видоизменения кусочно-полиномиальных схем вычисления
29
производных и определённых интегралов от функций рассматриваемого
вида. Показана сходимость данных приближений функций и определённых
интегралов со скоростью геометрической прогрессии (С. 36 – 45, 46 – 52, 152
– 155).
2. Разработана компьютерная кусочно-полиномиальная схема
аппроксимации действительных функций двух действительных переменных,
отличающаяся от известных по построению на основе интерполяционного
полинома Ньютона от двух действительных переменных с программно
варьируемыми степенью и числом подобластей, что позволяет
минимизировать временную сложность для произвольно заданной в рамках
числового диапазона языка программирования границы погрешности
вычисления функции. На этой основе предложены компьютерные схемы
приближенного вычисления частных производных и двойных интегралов по
прямоугольной области. Показана сходимость данных приближений
функций и интегралов со скоростью произведения геометрических
прогрессий по каждой из двух переменных (С. 64 – 74, 77 – 80, 82 – 85, 177 –
181).
3. Показан параллелизм предложенных разновидностей кусочно-
полиномиальных алгоритмов вычисления функций двух действительных
переменных, частных производных и двойных интегралов, даны оценки
временной сложности на модели неветвящихся параллельных программ,
согласно которым динамический синтез данных алгоритмов можно
осуществить с логарифмической временной сложностью (С. 52 – 56, 85 – 88).
4. На основе предложенных компьютерных схем вычисления двойных
интегралов и нахождения корней полиномов при помощи сортировки
модернизирована математическая модель электронного транспорта в
уединённой нелегированной GaAs нанопроволоке с учётом квантовых
эффектов высокого порядка, что позволило уточнить значения пиков
скоростей электрон-фононного рассеяния, а также уровней энергии
30
размерного квантования GaAs нанопроволоки для основного и первых двух
возбуждённых состояний (С. 99 – 134).
5. Разработан программный комплекс для реализации предложенных
разновидностей кусочно-полиномиальных схем, обеспечивающий
минимизацию их временной сложности и границ погрешности. С помощью
данного комплекса выполнен численный эксперимент для широкого класса
функций одной и двух действительных переменных, включая тестовые
наборы, который подтвердил существенное повышение точности
предложенного метода по сравнению с известными аналогами. На данной
основе разработано расширение программного комплекса для
моделирования GaAs нанопроволок, с помощью которого проведены
программные и численные эксперименты, уточняющие численные
параметры математических моделей электрон-фононного рассеяния (С.
56 – 62, 88 – 96, 115 – 134).
Основные положения, выносимые на защиту:
1. Предложена модификация варьируемой компьютерной кусочно-
полиномиальной схемы вычисления действительных функций одной
действительной переменной на основе усреднения интерполяционных
полиномов Ньютона для интерполирования вперёд и назад на каждом
подынтервале, что позволяет на порядок снизить границы абсолютной
погрешности аппроксимации. На этой основе разработаны видоизменения
варьируемых кусочно-полиномиальных схем вычисления производных и
определённых интегралов. Даны оценки сходимости и скорости сходимости
предложенных схем.
2. Разработана программно варьируемая кусочно-полиномиальная
схема аппроксимации действительных функций двух действительных
переменных на основе интерполяционного полинома Ньютона от двух
действительных переменных с варьируемыми степенью и числом
подобластей, что позволяет минимизировать временную сложность для
произвольно заданной границы погрешности вычисления функции. На этой
31
основе построены методы аппроксимации частных производных и
приближения двойных интегралов по прямоугольной области. Доказана
сходимость процесса приближения функций и двойных интегралов
сконструированных схем со скоростью произведения геометрических
прогрессий по каждой переменной.
3. Даны оценки временной сложности предложенной модификации
кусочно-полиномиального метода на модели неветвящихся параллельных
программ, согласно которым динамическое построение базового алгоритма
кусочно-полиномиальной аппроксимации можно выполнить с
логарифмической временной сложностью.
4. Модернизация математической модели электронного транспорта в
уединённой нелегированной GaAs нанопроволоке с учётом квантовых
эффектов высокого порядка на основе предложенных кусочно-
полиномиальных методов вычисления двойных интегралов с применением
схем вычисления корней полиномов при помощи сортировки. В результате
получены уточнения известных значений пиков скоростей электрон-
фононного рассеяния, а также уточнения уровней энергии размерного
квантования GaAs нанопроволоки для основного и первых двух
возбуждённых состояний. Показано влияние аппроксимаций обменно-
корреляционного взаимодействия на соотношение вкладов механизмов
рассеяния.
5. Разработан программный комплекс для реализации предложенных
разновидностей кусочно-полиномиальных схем, обеспечивающий
минимизацию их временной сложности, а также существенное повышение
точности предложенных варьируемых кусочно-полиномиальных схем по
сравнению с известными методами. Построен программный комплекс по
моделированию GaAs нанопроволок, позволяющий рассчитать уточнённые
численные значения пиков скоростей электрон-фононного рассеяния, а также
уровней энергии размерного квантования GaAs нанопроволоки для
основного и первых двух возбуждённых состояний. Согласно численным и
32
программным экспериментам на основе данных комплексов точность
расчетов таких параметров математической модели диффузионного
электронного транспорта как скорость электрон-фононного рассеяния и
столкновительное уширение спектра более чем на порядок превышает
точность расчетов известными методами.
Практическая ценность диссертационного исследования заключается
в прикладном характере предложенных численных методов варьируемой
кусочно-полиномиальной аппроксимации действительных функций одной и
двух действительных переменных, соответствующих прямых и частных
производных, а также определённых и двойных интегралов, которые
используются в качестве численной и алгоритмической базы для
компьютерной реализации математического моделирования GaAs
нанопроволок прямоугольного поперечного сечения. Результаты
моделирования необходимы для конструирования полевых транзисторов с
высокой подвижностью электронов (HEMT – high electron mobility transistor)
на основе нанопроволок, уточнённого расчёта их электронной структуры,
электрон-фононного рассеяния и, в конечном счёте, для моделирования
высокоскоростных устройств наноэлектроники. В частности, повышение
точности моделирования критически важно при расчёте электронного
транспорта с учётом квантовых эффектов высокого порядка. Предложенные
варьируемые кусочно-полиномиальные методы доведены до практической
реализации в виде программного комплекса аппроксимации функций,
производных и интегралов, который минимизирует одновременно
временную сложность и абсолютную погрешность. На этой основе
разработан расширенный программный комплекс для компьютерного
моделирования электронной структуры и электрон-фононного рассеяния
нанопроволок и транзисторных структур, ориентированный на создание
высокоскоростных устройств наноэлектроники.
Внедрение и использование результатов работы. Полученные в
работе результаты использованы:
33
1. В НИИ механики и прикладной математики им. Воровича И.И. ЮФУ
приняты к использованию следующие материалы диссертации:
1.1. Представленные в гл. 1 модификации варьируемой кусочно-
полиномиальной схемы вычисления действительных функций одной
действительной переменной на основе усреднения полиномов Ньютона для
интерполирования вперёд и назад на каждом подынтервале, позволяющие
достигать высокой точности при минимизированной временной сложности
вычисления, а также видоизменения кусочно-полиномиальных схем
вычисления производных и определённых интегралов от функций
рассматриваемого вида (С. 36 – 45, 46 – 52, 152 – 155).
1.2. Представленная в гл. 2 кусочно-полиномиальная схема
аппроксимации действительных функций двух действительных переменных
на основе интерполяционного полинома Ньютона от двух действительных
переменных с программно варьируемыми степенью и числом подобластей,
позволяющая минимизировать временную сложность вычисления функции
для заданной границы погрешности, а также компьютерные схемы
приближенного вычисления частных производных и двойных интегралов (С.
64 – 74, 77 – 80, 82 – 85, 177 – 181).
1.3. Представленный в гл. 3 метод численного моделирования
электронного транспорта в уединённой нелегированной GaAs нанопроволоке
с учётом квантовых эффектов высокого порядка, позволяющий уточнить
значения пиков скоростей электрон-фононного рассеяния, а также уровней
энергии размерного квантования GaAs нанопроволоки для основного и
первых двух возбуждённых состояний (С. 99 – 134).
1.4. Разработанный в диссертации программный комплекс для
реализации предложенных разновидностей кусочно-полиномиальных схем,
обеспечивающий минимизацию их временной сложности и границ
погрешности, с помощью которого осуществляется численный эксперимент
для широкого класса функций одной и двух действительных переменных,
включая тестовые наборы, подтверждающий существенное повышение
точности предложенного метода по сравнению с известными аналогами, а
также разработанное расширение программного комплекса для
моделирования GaAs нанопроволок, с помощью которого проведены
34
программные и численные эксперименты, уточняющие численные
параметры математических моделей электрон-фононного рассеяния (С. 56 –
62, 88 – 96, 115 – 134). В частности, предложенные программные пакеты
используются для снижения границы абсолютной погрешности
приближённого решения самосогласованной системы уравнений Шрёдингера
и Пуассона при моделировании электронного транспорта.
2. В работе по выполнению государственного задания Министерства
образования и науки РФ ФГБОУ ВПО «ТГПИ имени А.П. Чехова» по
проекту № 7.1398.2011 «Распараллеливаемые компьютерные методы
вычисления функций, решения и анализа устойчивости дифференциальных
уравнений, цифровой обработки сигналов и распознавания изображений с
применением алгоритмов сортировки».
3. В учебном процессе кафедры информатики ФГБОУ ВПО «ТГПИ
имени А.П. Чехова» в курсах «Численные методы», «Программирование»,
«Методы численного анализа и вычислительной алгебры», «Математическое
моделирование» и «Компьютерное моделирование».
Апробация работы. Основные результаты работы были представлены
на:
– Пятьдесят второй научной студенческой конференции (Таганрог,
ТГПИ, 2009);
– III Всероссийской студенческой научно-технической конференции
«Прикладная информатика и математическое моделирование» (Москва,
МГУП, 2009);
– IV Всероссийской студенческой научно-технической конференции
«Прикладная информатика и математическое моделирование» (Москва,
МГУП, 2010);
– Пятьдесят третьей научной студенческой конференции (Таганрог,
ТГПИ, 2010);
– Всероссийской научно-технической конференции с международным
участием: «Компьютерные и информационные технологии в науке,
инженерии и управлении» «КомТех-2011» (Таганрог, ТТИ ЮФУ, 2011);
– XII Всероссийском Симпозиуме по прикладной и промышленной
математике (осенняя сессия) (Сочи-Адлер, 2011);
35
– VIII Международной научно-практической конференции «Aplikované
vědecké novinky - 2012» (Czech, Praha, 2012);
– VI Международной научно-технической конференции молодых
специалистов, аспирантов и студентов «Математическое и компьютерное
моделирование естественнонаучных и социальных проблем (МК-70-912)»
(Пенза, ПГУ, 2012);
– XIII Всероссийской (с международным участием) научно-
практической конференции студентов, аспирантов и молодых ученых
«Молодежь и наука ХХI века» (Красноярск, КГПУ им. В.П. Астафьева,
2012);
– XIII Всероссийском Симпозиуме по прикладной и промышленной
математике (летняя сессия) (Петрозаводск, 2012);
– XV Международной конференции «Опто-, наноэлектроника,
нанотхнологии и микросистемы» (Ульяновск, УлГУ, 2012);
– Международной молодежной конференции в рамках фестиваля науки
«Микроэлектронные информационно-управляющие системы и комплексы»
(Воронеж, ВИВТ, 2012);
– Международной молодежной научной школе в рамках фестиваля
науки «Летняя Суперкомпьютерная Академия» (Воронеж, ВИВТ, 2012);
– XIII Всероссийском Симпозиуме по прикладной и промышленной
математике (осенняя сессия) (Сочи-Вардане, 2012).
Публикации. По материалам работы опубликовано 20 печатных работ
общим объёмом более 25 печатных листов, из них 3 в журналах из перечня,
рекомендуемых ВАК РФ для опубликования результатов исследований
кандидатских диссертаций.
Структура и объём работы. Диссертационная работа состоит из
введения, трёх глав, заключения, списка литературы и приложений к трём
главам. Основное содержание изложено на 158 страницах, включая список
литературы из 139 наименований, приложение изложено на 67 страницах,
включает коды программ, реализующих исследуемые математические
модели и предложенные численные методы.
36

ГЛАВА 1. МОДИФИКАЦИЯ КОМПЬЮТЕРНОГО МЕТОДА


КУСОЧНО-ПОЛИНОМИАЛЬНОГО ВЫЧИСЛЕНИЯ ФУНКЦИЙ
ОДНОЙ ПЕРЕМЕННОЙ, ПРОИЗВОДНЫХ И ИНТЕГРАЛОВ

В данной главе описывается компьютерная схема кусочно-


полиномиальной аппроксимации действительных функций одной
действительной переменной на базе подхода, разработанного в [96, 100, 101].
Отличительной чертой представленной в главе схемы является
использование в качестве аппроксиманта полусуммы интерполяционных
полиномов. При этом, как и в [96], применяется интерполяционный полином
Ньютона, однако, в отличие от [96], используется не только полином для
интерполирования вперёд, но и полином Ньютона для интерполирования
назад, от которых берется среднее арифметическое значение на каждом
подынтервале [97, 98]. На основе такого простого приема достигается
существенное повышение точности компьютерной кусочно-полиномиальной
аппроксимации функции, производных и интегралов, причем, согласно
таблично-алгоритмической структуре, сохраняемой в предлагаемой
модификации исходного метода, повышение точности происходит без
увеличения временной сложности.
В рамках излагаемого подхода отрезок из области определения
исходной функции покрывается системой подынтервалов, на каждом из
которых строятся полиномы Ньютона для интерполяции вперёд и назад с
приведением к виду с числовыми коэффициентами. Такой вид полинома в
дальнейшем будет называться каноническим видом полинома.
Излагаемая схема традиционно учитывает ограничения памяти и
временной сложности для априори заданной границы погрешности
аппроксимации рассматриваемых функций, алгоритмически минимизируя
временную сложность за счет выбора минимальной степени полинома на
подынтервале.
37
По ходу изложения приводится доказательство сходимости и оценки
скорости сходимости представленного кусочно-полиномиального процесса,
заимствованное из [106], при этом учитывается предложенная модификация
исходного метода.
В главе приводятся оценки временной сложности максимально
параллельной формы основного алгоритма аппроксимации функций и
рассматриваемых величин.
Выполняется сравнение результатов численного эксперимента по
приближённому вычислению функций, производных и определённых
интегралов по описанным схемам с результатами, полученными при помощи
математических программных пакетов и схем на базе других
интерполяционных полиномов.
Материал главы является исходным для построения в последующих
разделах аппроксимации функций двух переменных, частных производных и
двойных интегралов. В свою очередь материал в целом предназначается для
моделирования процесса электрон-фононного рассеяния в нанопроволоках
(глава 3).
Всюду ниже временная сложность (иногда для краткости – время
выполнения) алгоритма оценивается числом последовательных шагов с
учётом вида операции на шаге в зависимости от числа процессоров на
модели неветвящихся параллельных программ [93, 95] и обозначается t R  ,
где R – число процессоров.
1.1. Модификация кусочно-полиномиальной схемы
аппроксимации функций одной переменной [96]. Ниже на основе [96]
излагается схема аппроксимации функции
y  f x  , (1.1)

где x  a, b  R , x, y  R 2 , a, b   . Описываемая непосредственно ниже


алгоритмическая основа будет, как отмечено выше, перенесена на случай
действительных функций двух действительных переменных.
38
В рамках излагаемого подхода [96 – 98] отрезок a, b  покрывается
системой равных непересекающихся подынтервалов вида
~
P 2
a, b   xi , xi 1   xP 1 , xP  , (1.2)
i 0

~
где P  2 k , k  0,1, 2, ... , x0  a , xP~  b .
Интерполирующие полиномы Ньютона строятся в узлах
расположенных в закрытых интервалах xi , xi1  . При последующем
вычислении аппроксимирующего полинома для однозначной адресации в
границах x i , xi 1 подынтервалов (1.2) по номеру i к массиву коэффициентов
аппроксимирующего полинома, все подынтервалы считаются открытыми
справа интервалами вида xi , xi 1  из (1.2).
Ниже вводятся ограничения числа подынтервлов и степени
интерполирующего полинома вида:
k  k0 , (1.3)
n  n0 , (1.4)
где n0  const – априори задаваемое значение верхней границы степени
приближающего полинома, k0  const – априори задаваемая верхняя граница
для k из (1.2).
В отличие от прототипа [96] на каждом подынтервале (1.2) с учётом
условий (1.3), (1.4) строится аппроксимирующий полином степени n вида

i  x   Pn i  x 
Pnfwd bkw
Pn i x   , (1.5)
2

i  x  , Pn i  x  – полином Ньютона для интерполирования вперёд и


где Pnfwd bkw

назад соответственно, i – номер подынтервала (1.2). Степень n полинома


(1.5) выбирается одинаковой для всех подынтервалов (1.2) и минимальной
при выполнении условия
f  x   Pn i  x    , (1.6)
39
где  – априори заданная граница погрешности аппроксимации функции
~
(1.1), i  0, P  1 – номер подынтервала (1.2).
Условие (1.6) проверяется на всех подынтервалах в точках, не
совпадающих с узлами интерполяции, и следующих с априори заданным
равномерным проверочным шагом, длина которого является параметром
алгоритма и выбирается заведомо меньшей шага интерполяции.
Для определения степени n полинома (1.5) и параметра k из (1.2)
(псевдокод на основе семантики C++) служит
Алгоритм 1.1.
/*
Псевдокод основан на синтаксисе С++

Величины, входящие в блок комментария


задаются как входные параметры подпрограммы функции,
реализующей приводимый непосредственно ниже алгоритм,
а именно задаются:

const int a = …; // Левая граница отрезка изменения аргумента


const int b = …; // Правая граница отрезка изменения аргумента
const int eps = …; // Граница абсолютной погрешности аппроксимации
const int Npt = …; // Число проверочных точек на подынтервале
const int k0 = …; // k0 из (1.3)
const int n0 = …; // n0 из (1.4)
*/
for (int k = 0; k <= k0; ++k) {
for (int n = 1; n <= n0; ++n) {
for (int kp = 0; kp < pow(2, k); ++kp) {// kp – номер подынтервала
long double hp = (b – a) / pow(2, k);
long double x0 = a + kp * hp;
/*
Построение аппроксимирующего полинома
*/
long double hx = hp/Npt; // hx – проверочный шаг
for (int i = 0; i < Npt; ++i)
if (abs(f(x0 + i * hx) – P(x0 + i * hx))) > eps) goto next;
if (kp == pow(2, k) - 1) goto final;
}
next:;
}
}
final:;

По алгоритму 1.1 вычисление коэффициентов полинома (1.5)


начинается с показателя степени n 1 при k  0 . Если достижение заданной
границы абсолютной погрешности  из (1.6) невозможно, значение n
40
увеличивается на 1; так продолжается, пока n не выйдет за допустимые
границы (1.4); при их нарушении снова делается переход к минимальному
значению n  1 , но уже при k  1, и т.д.
Аппроксимант (1.5) в виде полусуммы интерполирующих полиномов
Ньютона отличает излагаемую модификацию от прототипа [96], где
использовался только полином Ньютона для интерполяции вперёд. Благодаря
такому видоизменению удаётся снизить, как будет показано в дальнейшем,
накопление погрешности аппроксимации по сравнению с исходной схемой.
Полином (1.5) преобразуется по дистрибутивности с приведением
подобных к виду
n
Pn i  x    B f ij x j , (1.7)
j 0

где f – индекс, соответствующий аппроксимируемой функции, i – номер

подынтервала из (1.2), x  xi , xi 1 , i  0, P  1, n  const .


~

Если комбинация чисел n , k , при которых построенный полином (1.7)


удовлетворяет неравенству (1.6) на всех подынтервалах (1.2), найдена, то для
функции (1.1) и для каждого подынтервала (1.2) коэффициенты полинома
(1.7), всего 2k n  1 значений, могут быть записаны в память компьютера. В
дальнейшем, для вычисления значения функции (1.1) достаточно выполнить
дешифрацию номера подынтервала, –
x  a
i , (1.8)
 P 
h
с временной сложностью
t  O1 , (1.9)

где α  – целая часть числа α , а hP – длина подынтервала (1.2), hP  xi  xi 1 ,

i  0, P  1. Полученное значение i – индекс строки в двумерном массиве

коэффициентов B f ij ( j  0, n , i  0, P  1 ), в которой хранится выборка


41
значений B f ij для функции (1.1) (размерность соответствующая номеру

функции f не учитывается).
Так как коэффициенты полинома (1.7) сохранены в памяти
компьютера, то время его вычисления по схеме Горнера оценится из
выражения
t 1  n  t y  tc , n  const , (1.10)

где t y , t c – время бинарного умножения и сложения соответственно,

За счет уменьшения длины подынтервала степень n в (1.7) можно


~
сделать «сколь угодно» малой при соответственном возрастании P  2 k из
(1.2). Фраза «сколь угодно малой» понимается в том смысле, что степень
полинома – натуральное число – не превосходит некоторой априори
заданной константы и снижается с ростом числа подынтервалов
соответственно предустановленному значению  из (1.6) [96].
Выбранная по алгоритму 1.1 степень полинома (1.7) является
минимальной на 2 k подынтервалах, тем самым достигается минимизация
временной сложности вычисления функции для априори заданной границы
погрешности (1.6). С учётом сделанных оговорок на основе (1.10)
t 1  O1 .
В виде (1.7) аппроксимирующий полином ниже применяется для
численного дифференцирования и приближённого вычисления производных,
при этом производная от функции (1.1) аппроксимируется производной от
полинома, а первообразная от функции – первообразной от полинома.
Схема по построению инвариантна относительно номера i
подынтервала (1.2), числа P подынтервалов, а также относительно степени
полинома (1.5). Поэтому дальнейшие математические построения проводятся
~
для текущего номера подынтервала (1.2), i  0, P  1 , и для текущих значений
n, k .
Подынтервал (1.2) покрывается сеткой равноотстоящих узлов вида
42
xi,  xi  h , (1.11)

где   0, n , h – шаг интерполяции –


xi 1  xi
h . (1.12)
n
В узлах (1.11) строится полином Ньютона для интерполяции вперёд
[99]:
n  j y i ,0 j 1
Pnfwd
i x   f ( x i ,0 )    ( x  x i, ) , (1.13)
j 1 j !h j  0

где x  xi , xi 1  .
Аналогично на отрезке xi , xi 1  в узлах (1.11) строится полином
Ньютона для интерполяции назад [99]:
n j y i,n  j j 1
Pnbkw
i x   f ( x i,n )    ( x  x i,n m ) . (1.14)
j 1 j !h j m0

С целью дальнейших преобразований вычисляются конечные разности


первого порядка  yi,0  f ( xi,1)  f ( xi,0 ) и конечные разности k -го порядка

k yi ,0  k 1 y i ,1  k 1 yi ,0 , i  0, P  1 , после чего в обозначениях

 j y i ,0
bijfwd  , (1.15)
j!

j y i, n  j
bijbkw  , (1.16)
j!
полиномы (1.13), (1.14) примут вид соответственно
j 1
n bijfwd
Pnfwd
i x   f ( x i ,0 )    ( x  x i , ) , (1.17)
j 1 hj  0

j 1
n bijbkw
Pnbkw
i x   f ( x i,n )    ( x  x i,nm ) . (1.18)
j 1 hj m0

где x  xi , xi 1  .
В равенстве (1.17) вводится переменная
43
x  x i ,0
t , (1.19)
h
где h из (1.12), что влечёт
n j 1
Pnfwd
i t x   f ( x i ,0 )   bijfwd  (t  ) , (1.20)
j 1  0

где t  0, n.


Аналогично, введение переменной
x  x i, m
q , (1.21)
h
где h из (1.12), приводит полином (1.18) к виду
n j 1
Pnbkw
i qx   f ( x i,n )   bijbkw  ( q  m) , (1.22)
j 1 m0

где q   n, 0 .
С целью приведения полинома (1.5) к виду (1.7) используется
матричная схема вычисления коэффициентов полиномов по его корням [28]:
 
*
 d j, j   1 0  0 0 
   
 d j*,  j 1    z j  1  0 0 
 *   
d j
 0  z  0 0 ,
 j , j  2   

j  
(1.23)
    1       
 *   
 j ,1 
d  0 0   z j  1 
 d j, 0 *   0 0  0  z j  
    
 j   1 

j t  , Rn, j q  соответственно, z    –
где d j*,j – коэффициенты полиномов Rn,fwd bkw

j t  , Rn, j q  ,   0, j  1 , j  0, n ,
корни полиномов Rn,fwd bkw

j 1 j
Rnfwd
,j t    (t  )   dfwd t  , (1.24)
 0  0

j 1 j
Rnbkw
,j q    (q  m)   d mbkw q m . (1.25)
m0 m0
44
Детальное описание схемы (1.23) и её алгоритмическая реализация
приводятся в приложении 1.
С учётом равенств (1.24), (1.25) полиномы (1.20), (1.22) примут вид
соответственно
n j

i t  x   f ( x i , 0 )   bij
Pnfwd  dfwd t  ,
fwd
(1.26)
j 1  0

n j
Pnbkw
i qx   f ( x i,n )   bijbkw  d mbkw q m . (1.27)
j 1 m0

Раскрытие скобок и приведение подобных в полиномах (1.26), (1.27)


повлечёт равенства
n
i t  x  
Pnfwd  aijfwd t j , (1.28)
j 0

n
i q  x  
Pnbkw  aijbkw q j , (1.29)
j 0

где

, 0  f xi , 0 ,
 aifwd

 fwd n
 i, j
a   bi,fwd fwd
m d j,m , (1.30)
 m j
 j  1, n,

, 0  f xi , n ,
 aibkw

 bkw n
 ai , j   bi , m d j , m ,
bkw bkw
(1.31)
 m j
 j  1, n.

Перейдём в полиноме (1.29) к переменной t из (1.19), учитывая, что
t  q  n. (1.32)
Выразив q из (1.32) и подставив в (1.29), получим
n
Pnbkw
i t x    aijbkw t  n  j . (1.33)
j 0

Применение к скобкам t  n j в (1.33) бинома Ньютона влечёт:


45
n l n n
i t  x    ai , l   1 , l  1
  aibkw
l j l j l l j j
Pnbkw bkw
C lj nl  j t j  C jn t ,
l 0 j 0 j 0 l  j

откуда следует
n
i t  x  
Pnbkw  Aibkw j
,j t , (1.34)
j 0

где
n
, l  1
  aibkw
l j
Aibkw
,j C lj nl  j . (1.35)
l j

С учётом (1.30), (1.35) искомый аппроксимирующий полином (1.5) на


подынтервале xi , xi 1  из (1.2), i  0, P  1 , примет вид
n
Pn i t  x    Bi , j t j , (1.36)
j 0

где t из (1.19),

, j  ai , j
Aibkw fwd
Bi , j  . (1.37)
2
Как отмечалось выше, после того как коэффициенты (1.37) вычислены,
по алгоритму 1.1 проверяется условие (1.6), если полином (1.36)
удовлетворяет неравенству (1.6) во всех проверочных точках, то
построенный полином (1.36) с коэффициентами (1.37) принимается за
искомый полином вида (1.5).
Аппроксимирующий полином в виде (1.36) вычисляется по схеме
Горнера
   
Pn i (t )   Bi , n t  Bi ,n 1 t  Bi ,n  2  t  ...  Bi ,0 , (1.38)

где t из (1.19).
В силу построения на основе интерполяции алгоритм с применением
(1.36) – (1.38) применим для аппроксимации широкого класса функций, при
этом, как будет проиллюстрировано численным экспериментом, достигает
высокой точности аппроксимации с малой временной сложностью.
46
Представленный подход, помимо излагаемого в дальнейшем
назначения, целесообразен для создания библиотеки алгоритмов вычисления
часто используемых функций, что позволяет существенно снизить время
численных экспериментов при проведении компьютерного моделирования
[31, 102], а также повысить точность получаемых в результате физических
характеристик [105].
Как отмечалось, представленная схема инвариантна относительно вида
функции и интервала из области определения.
Тем не менее, в дальнейшем предполагается, что аппроксимируемая
функция непрерывна на отрезке a, b, способ применения изложенного
подхода в случае разрывных функций будет дан в приложении.
Помимо того, относительно размера отрезка a, b необходимы
следующие ограничения. Формально интерполяция возможна всюду в
области определения, однако, поскольку метод опирается на компьютерный
алгоритм, то его реализация ограничена форматом плавающей точки,
поэтому возникает задача избежать потери значащих цифр мантиссы чисел с
ростом их диапазона. Для этой цели в случае стандартных функций
используются формулы редукции аргумента к значению из основного
интервала. Такие формулы используются в библиотеках стандартных
подпрограмм [106], их вид представлен в [101, 107].
Замечание 1.1. Возможно построение схем, использующих другие
интерполяционные полиномы, например полиномы с центральными
разностями или отрезки ряда по ортогональным полиномам [97, 101]. Их
описание приводится в приложении к главе 1, результаты численного
эксперимента в сравнении с представленной выше схемой представлены
ниже.
Таким образом, изложена модификация аппроксимации на кусочно-
полиномиальной основе функций вида (1.1) с помощью полусуммы
интерполяционных полиномов Ньютона.
47
1.2. Равномерная сходимость кусочно-полиномиальной схемы
аппроксимации функций одной переменной [108]. Доказательство
равномерной сходимости кусочно-полиномиальной аппроксимации в
зависимости от числа подынтервалов (1.2) в сокращённом виде приводится
на основе [108].
Пусть зафиксирована степень аппроксимирующего полинома
n  const   , и пусть функция (1.1) непрерывна и непрерывно
дифференцируема n  1 раз на отрезке a, b из (1.2). Все рассматриваемые

производные на концах отрезка a, b предполагаются односторонними.


~
Рассмотрим нулевой шаг алгоритма 1.1, когда k  0, P  1,
x0 , x1   a, b , тогда с учётом сделанных предположений в обозначениях

, n 0  x   Pn 0  x  , погрешность интерполяции функции (1.1) полиномами


Pkfwd fwd

(1.17), (1.18) на подынтервалах из (1.2) будет иметь оценку вида [109]


max f n 1  x  n
xa , b 
f x   P0fwd
, n 0 x    x  x0 ,  (1.41)
n  1!  0

для полинома (1.17), и соответственно –


max f n 1  x  n
xa , b 
f  x   Pbkw
0 , n 0  x    x  x0 , n  m (1.42)
n  1! m 0

, n 0  x   Pn 0  x  , P0 , n 0  x   Pn 0  x  .
для полинома (1.18), где P0fwd fwd bkw bkw

Так как x  a, b , то x  x0,   x1  x0  b  a ,   0, n , и аналогично

x  x0, n  m  x1  x0  b  a , m  0, n , тогда справедливы соотношения


n
 x  x0,  b  a 
n 1
, (1.43)
 0

где   0, n ,
n
 x  x0,n m  b  a 
n 1
, (1.44)
 0

где m  0, n .
48
С учётом неравенств (1.43), (1.44) выражения (1.41), (1.42) примут вид
соответственно
max f n 1  x 
xa , b 
f  x   P0fwd
, n 0  x   b  a n 1 , (1.45)
n  1!
max f n 1  x 
xa , b 
f  x   Pbkw
0 , n 0  x   b  a n 1 . (1.46)
n  1!
Аппроксимирующий полином P0 , n 0  x  из (1.5) конструируется как

полусумма полиномов (1.17), (1.18), поэтому с учётом неравенства


треугольника, получим

f  x   P0 , n 0  x  
1
2
 f  x   Pnfwd
0  x   f  x   P k , n 0  x 
bkw
 (1.47)

С учётом неравенств (1.45), (1.46) оценка (1.47) примет вид


max f n 1  x 
xa , b 
f  x   P0 , n 0  x   b  a n 1 ,
n  1!
откуда получим

f  x   Pk , n 0  x   M n (1.48)

где

max f n 1  x 
xa , b 
Mn  b  a n 1 . (1.49)
n  1!
Величина M n является константой при фиксированных a , b , n .

Рассмотрим случай k  1 , P  2 , a, b  x0 , x1   x1 , x2  , тогда длина


~

подынтервалов (1.2) уменьшится в два раза по сравнению с предыдущим


шагом алгоритма 1.1, и на каждом подынтервале будут выполняться
равенства x1  x0  x2  x1  b  a  2 , которые в обозначениях (1.49) повлекут
из оценки (1.48) неравенство вида
M
f  x   P1,n i  x   n n1 , (1.50)
2
49
где i  0,1 – номер подынтервала (1.2), константа M n та же, что и в
неравенстве (1.49).
Правая часть (1.50) мажорирует абсолютную погрешность
аппроксимации функции (1.1) полиномами (1.5), уменьшаясь в 2 n 1 при
ограниченной степени аппроксимирующего полинома на каждом
последующем шаге процесса сужения подынтервалов (1.2) – с возрастанием
k на единицу.
Продолжая рассуждения по индукции, при P  2k ,

 
xi 1  xi  b  a  2 k , i  0,1, ..., 2k  1 , получим оценку

f x   Pk , n i x   , x  a, b ,
Mn
k n 1
(1.51)
2
Mn
где k   0,1, 2, ... – из (1.2). Из неравенства (1.61) следует lim  0,
k  2k n1
откуда окончательно получаем

Pk , n i  x  


 f  x  , x  a, b .
xa , b 

На основании представленных рассуждений формулируется


Теорема 1.1 [108]. Пусть для произвольного натурального n  n0 , где
n0 из (1.4), функция f x  из (1.1) непрерывна и непрерывно
дифференцируема n 1 раз на отрезке a, b , на концах которого
соответствующие производные понимаются как односторонние, тогда
последовательность полиномов Pk , n i  x  из (1.49) равномерно сходится на

a, b  при k   , где k  log 2 P~ , P~ – число подынтервалов из (1.2). Скорость


сходимости при этом оценивается из неравенства (1.51).
Теорема 1.1 утверждает, что последовательность полиномов (1.36) с
коэффициентами (1.37) равномерно сходится на отрезке a, b  со скоростью
геометрической прогрессии к функции (1.1), как и прототип (1.26), (1.28)
[106].
50
1.3. Применение кусочно-полиномиальной схемы для
аппроксимации производных и равномерная сходимость процесса
численного дифференцирования. Ниже излагается схема аппроксимации
производных от функции (1.1) [96] основанная на схеме аппроксимации
функций (1.36), (1.37).
Пусть полином (1.36) с коэффициентами (1.37) построен, тогда на i -м
подынтервале (1.2) выполняется приближённое равенство:
f x  Pn i t x . (1.52)

Предполагая существование производной  f  x x  ,


продифференцируем левую и правую часть выражения (1.52) по переменной
x , получим

 f x x   Pn i t x t t x  , (1.53)



откуда с учётом следующего из (1.19) равенства: t x  1 h , h из (1.12),
следует
n 1
Pn i t x x   1h  Bi, j 1t j . (1.54)
j 0

После дешифрации (1.8) номера i подынтервала (1.2) значение


полинома в правой части равенства (1.54) может быть вычислено по схеме
Горнера вида

Pni (t )  n Bn, i t  (n  1) Bn  1, i  t    2Bn  2, i  t  B1, i  .


1
(1.55)
h
В приложении к гл. 2 рассматриваются вопросы сходимости
последовательности полиномов (1.55) к производной (1.53).
1.4. Применение кусочно-полиномиальной схемы для
приближённого вычисления определённых интегралов и равномерная
сходимость приближения. Ниже на базе изложенной схемы аппроксимации
функций вида (1.1) полиномами (1.36) с коэффициентами (1.37) излагается
построение схемы приближённого вычисления определённых интегралов от
функции (1.1) [96, 101, 108].
51
Пусть по алгоритму 1.1 найдено значение степени n
аппроксимирующего полинома и параметра k из (1.2), при которых
вычислены коэффициенты (1.37). В таком случае выполняется соотношение
(1.52), проинтегрировав обе части которого по подынтервалу (1.2), получим
x i1 x i 1

 f x  dx   Pn i t x  dx , (1.56)
xi xi

где t  x  из (1.19).
В силу аддитивности интеграла по промежутку интегрирования
справедливо приближённое равенство
b P 1 xi 1

 f x  dx  
i 0
 Pn i t  x  dx , (1.57)
a xi

Перейдем в правой части (1.56) к интегрированию по переменной t из (1.19),


получим
xi n

 Pn i t x  dx  h  Pn i t  dt , (1.58)
x i 1 0

где h – шаг интерполяции из (1.12).


Подстановка полинома (1.36) в правую часть равенства (1.58) и
непосредственное вычисление интеграла повлечёт
xi
n

 Pn i t x  dx  h 
1 j 1
Bi , j n , (1.59)
x i 1 j 0 j  1

при этом аппроксимация первообразной функции (1.1) на i -м подынтервале


(1.2) имеет вид
n
Pn i t  x   h 
~ 1
Bi , j t j 1 , (1.60)
j 0 j  1

где t  x  из (1.19).
Полином в правой части может быть вычислен по схеме Горнера
  B B  B  B 
Pn i n    ...  i , n n  i , n 1  n  i , n  2  n    i ,0  n .
~
(1.61)
  n 1 n  n 1  1 
52
Приближённое равенство (1.60) с учётом соотношения (1.57)
запишется в виде
~
b P 1 n

 f xdx  h 
1 j 1
Bi , j n . (1.62)
a i 0 j 0 j  1

Схема (1.61), (1.62) помимо прочего ориентирована на приближение


интегралов от функций из библиотеки стандартных часто используемых
функций, например, при решении задач моделирования квантовых объектов
Bi , n Bi , n 1 Bi , n  2 B
[31, 102]. В таком случае коэффициенты , , , ... , i ,0
n 1 n n 1 1
помещаются в память компьютера с целью дальнейшего считывания при
необходимости, тогда временная сложность приближённого вычисления
интегралов примет вид
t 1  Pn  1t y  tc  .

Отметим, что схема (1.61), (1.62), (1.37) построена для наименьшей,


соответствующей выбранному по алгоритму 1.1 значению k из (1.2), степени
n аппроксимирующего полинома, при которой подынтегральная функция
аппроксимируется с априори заданной точностью. Такой степени полинома
на практике бывает достаточно, чтобы абсолютная погрешность
приближённого вычисления интеграла составляла величины порядка 10 20
[97, 98].
Схема (1.61), (1.62), (1.37) по построению обладает инвариантностью
относительно размера отрезка интегрирования, а также относительно вида
подынтегральной функции, в предположении её непрерывности и
ограниченности на отрезке a, b  .
Равномерную сходимость на отрезке a, b  последовательности
2 k 1 xi 1 b

  Pk , n i x dx к интегралу  f x dx при k   , k из (1.2), где


i 0 xi a

Pk , n i  x   Pn i  x  , устанавливает
53
Теорема 1.2. В условиях теоремы 1.1 каково бы ни было натуральное
2 k 1 xi 1
n  n0 , где n 0 из (1.4), последовательность   Pk , n i x dx равномерно
i 0 xi

b
сходится на отрезке a, b  из (1.2) к f  x dx при k   , где k  log 2 P , P –
~ ~

a

число подынтервалов из (1.2). Скорость сходимости имеет оценку


b 2 k 1xi 1

 f x dx    Pk ,n i x dx  n
k  n 1
, где n  b  a  M n , M n из (1.46).
a i 0 xi 2

Согласно теореме 1.2 последовательность полиномов в правой части


b
(1.62) равномерно сходится на отрезке a, b  к  f x dx в зависимости от
a

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


В [108] теорема 1.2 сформулирована и доказана для кусочно-
полиномиальной схемы на основе полинома (1.26), (1.28), при этом в [108]
получена оценка в виде
b 2 k 1xi 1

 f x dx  
i 0
 Pk ,n i x dx  1 ,
a xi

где  1  0 . Теорема 1.2 уточняет результат [108], позволяя оценить скорость


сходимости.
В приложении к главе 1 приводится доказательство теоремы 1.4 для
полиномов (1.36) с коэффициентами (1.37).
1.5. Временная сложность максимально параллельной формы
кусочно-полиномиальных схем [96]. Временная сложность максимально
параллельных модификаций изложенных кусочно-полиномиальных схем
оценивается в рамках модели неветвящихся параллельных программ без
учёта обмена данными [112], при этом полагается, что вычислительная
система работает как идеальный параллельный процессор [95]. Временная
сложность обозначается t R  , где R – число процессоров.
54
В основу излагаемых рассуждений положены результаты из [28, 96].
Представленные ниже оценки отличаются от оценок [96] в силу отличий
используемых аппроксимирующих полиномов и, как следствие, – различного
числа процессоров, необходимых для максимально параллельной реализации
алгоритмов.
Пусть по изложенному алгоритму 1.1 выбрана некоторая пара значений
степени n полинома (1.5) и k из (1.2) удовлетворяющих неравенствам (1.3),
(1.4) соответственно, тогда параллелизм изложенных схем будет обладать
следующими особенностями.
Полиномы (1.24), (1.25) не зависят от вида аппроксимируемой
функции, а только от степени n , поэтому для всех значений n ,
удовлетворяющих условию (1.3), коэффициенты d fwd , dmbkw полиномов
(1.24), (1.25) могут быть вычислены однократно по матричной схеме (1.23) в
максимально параллельной форме с временной сложностью [28]
3  1
t  n3  ~ log 22 n tc  O (log 22 n) ,
2  2
после чего d fwd , dmbkw помещаются в память компьютера и считаются
априори известными.
Дальнейшее преобразование полиномов (1.13), (1.14) к каноническому
виду (1.36) требует параллельного вычисления конечных разностей. С этой
целью используется выражение конечных разностей через значения функции,
так для конечных разностей полинома (1.13) выполняется [99]
j
 yi , 0    1 Ckj yi ,
j k
j k , (1.63)
k 0

для конечных разностей полинома (1.14) [109] –


j
 yi , n  j    1 Ckj yi , n  k ,
j k
(1.64)
k 0

где C kj – биномиальные коэффициенты –


55
j  j  1... j  k  1
C kj  . (1.65)
k!
Коэффициенты (1.65) могут быть однократно вычислены, занесены в
память компьютера с целью обращения при необходимости и далее
считаются априори известными. В таком случае одновременной
параллельное вычисление конечных разностей (1.64), (1.65) сводится к
умножению коэффициентов (1.65) на значения функции (1.1) в узлах
интерполяции с последующим сложением по схеме сдваивания с временной
сложностью [81]

t (2 j )  t y  log 2 j  tc , (1.66)

где j – порядок конечной разности,   – ближайшее сверху к  целое


число. По сравнению с [96] число процессоров в левой части оценки (1.66) в
рамках представленного подхода увеличилось в два раза, что обусловлено
необходимостью построения одновременной двух интерполяционных
полиномов, а не одного, как в [96]. Такое отличие является главным в
оценках временной сложности максимально параллельных алгоритмов.
Факториалы j! в (1.15), (1.16) могут быть присоединены к
биномиальным коэффициентам, тогда в памяти сохраняются значения
полученных дробей. Последующее умножение конечных разностей на
коэффициенты d fwd , dmbkw полиномов (1.24), (1.25) соответственно и
приведение подобных преобразует полиномы (1.13), (1.14) к каноническому
виду, при этом сложение коэффициентов при j -й степени по схеме

сдваивания имеет временную сложность log 2 j  tc . С учетом

предварительного умножения на коэффициенты с тем же количеством


процессоров время оценивается из (1.66). Максимум в правой части (1.66)
достигается при степени слагаемого полиномов (1.13), (1.14) j  n , число
процессоров складывается по арифметической прогрессии, поэтому для
одного подынтервала получим
56

t n (n  1)   t y  log 2 n  1 t c . (1.67)


~
При параллельном суммировании одновременно по P подынтервалам
~
число процессоров возрастает в P раз, тогда
~
 
t P (n 2  n)  t y  log 2 (n  1)  t c .

После того как параллельно построены полиномы (1.28), (1.29)


вычисляются коэффициенты (1.35). С этой целью для всех n,
удовлетворяющих условию (1.3), априори сохраняются в памяти компьютера
значения членов последовательности C j n  j ,   j, n , j  0, n , тогда

вычисление по схеме сдваивания всех n коэффициентов (1.46) произойдёт за


время (1.67). Вычисление коэффициентов (1.37) с временной сложностью
t n  t y  tc окончательно завершит параллельное преобразование

аппроксимирующего полинома (1.5) в канонический вид (1.36).


Сравнение приближённого и точного значения функции можно
~
выполнять также параллельно одновременно для всех P подынтервалов. При
этом необходимое число процессоров вырастет пропорционально степени
~
P 1
полинома, умноженной на число проверочных точек и на – сумму
2
арифметической прогрессии, по которой возрастает число подынтервалов.
Описанные действия сохранят максимальный параллелизм схемы
аппроксимации, при этом сохранится правая часть оценки (1.11).
Дальнейшая аппроксимация функции (1.1) сведётся к параллельному
вычислению значения полинома (1.36). С этой целью значения членов
последовательности t  ,   0, n , могут быть вычислены по схеме сдваивания
с временной сложностью

t nn  1 2   log 2 n  t y , (1.68)

при этом число процессоров считается аналогично (1.67). Последующее


умножение t  на соответствующий коэффициент и сложение по схеме
57
сдваивания с временной сложностью (1.67) даст на выходе приближённое
значение функции (1.1).
С учётом того, что производная функции (1.1) аппроксимируется
полиномом степени n  1, проводя рассуждения аналогичные (1.68) получим
оценку временной сложности вычисления t  ,   0, n  1, в виде

t nn  1 2   log 2 n  t y , –

а также оценку приближённого дифференцирования –

t n (n  1) / 2  t y  log 2 n  t c .

Так как числа n 0 , n1 , …, n n 1 можно сделать априори хранимыми в


памяти компьютера, то максимально параллельное вычисление правой части
(1.66) выполнится параллельно по всем подынтервалам с соответствующим
ростом числа процессоров –

  
t P n 2  n 2  t y  log 2 n  tc .

Правые части оценок временной сложности максимально


параллельных алгоритмов модифицированной схемы (1.36), (1.37) совпадают
с оценками схемы-прототипа (1.28), (1.30), отличаясь лишь числом
процессоров, что обусловлено необходимостью одновременного
преобразования полиномов (1.17), (1.18) к виду (1.28), (1.30), в то время как
схема-прототип строится на базе одного полинома (1.17).
1.6. Сравнение предложенных схем аппроксимации с известными.
Ниже изложенные схемы сравниваются с аналогичными схемами,
построенными на базе полиномов Ньютона (1.26) [96], полиномов Гаусса [97]
и на базе отрезков ряда по полиномам Чебышева [101], схемы также
сравниваются с пакетом компьютерной математики MathCad. Подробное
описание схем на основе полиномов Ньютона (1.26) с коэффициентами
(1.28), полиномов Гаусса, а также полиномов Чебышева приводится в
приложении к главе 1. Ниже проводится сравнение абсолютной погрешности
58
аппроксимации функций, их производных, и абсолютной погрешности
приближённого вычисления определённых интегралов.
Под абсолютной погрешностью аппроксимации функции понимается
 f  f x   Pn i x  , (1.69)

под абсолютной погрешностью аппроксимации производной –


 f   f x   Pni x  , (1.70)

под абсолютной погрешностью приближённого вычисления определённого


интеграла –
b 2 k 1 xi 1
I   f x dx  
i 0
 Pn i  x dx , (1.71)
a xi

где k из (1.2), значения (1.69), (1.70) вычисляются в проверочных точках


расположенных равномерно по всему отрезку a, b  из (1.2) с априори
заданным шагом.
Для отличия погрешностей относящихся к различным схемам
используется верхний индекс:  P  – для изложенных выше схем,  N  – для
схем на базе полиномов (1.26), (1.28), G  – для схем на базе полиномов
Гаусса, T  – для схем на базе отрезков ряда по полиномам Чебышева, M  –

для погрешности полученная при использовании пакета MathCad, так  f P  –

погрешность (1.69) схемы (1.36), (1.37),  fG  – погрешность (1.87) схемы на

основе полинома Гаусса и т.д.


Численный эксперимент проводился в среде Borland Delphi 7, для
чисел с плавающей точкой использовался тип extended с 18-19 значащими
цифрами, все эксперименты проводились для a, b  0,1 .
1
В табл. 1.1 представлены погрешности вида (1.86) функции y 
1  e2 x
при помощи различных аппроксимационных схем.
59
Таблица 1.1
1
Абсолютная погрешности аппроксимации функции y 
1  e2 x
 f P   f N   fG   fT   f M 
x Предложенный Полином Полином Полином
MathCad
метод Ньютона Гаусса Чебышёва
0.00E+0000 1.877E-20 0.000E+00 0.000E+00 5.164E-15 5.551E-17
1.00E-0001 2.710E-20 1.355E-19 4.307E-14 4.904E-15 5.551E-17
2.00E-0001 2.710E-20 4.662E-19 2.070E-14 1.520E-15 5.551E-17
3.00E-0001 2.710E-20 6.234E-19 1.939E-14 1.531E-15 2.775E-17
4.00E-0001 2.710E-20 1.084E-19 3.548E-14 5.015E-15 2.775E-17
5.00E-0001 5.421E-20 0.000E+00 0.000E+00 5.384E-15 5.551E-17
6.00E-0001 0.000E+00 6.098E-19 1.668E-13 4.853E-15 2.775E-17
7.00E-0001 1.084E-19 2.019E-19 4.186E-14 1.436E-15 2.775E-17
8.00E-0001 1.084E-19 2.710E-19 2.701E-14 1.387E-15 5.551E-17
9.00E-0001 0.000E+00 8.131E-20 3.806E-14 4.378E-15 5.551E-17

Из табл. 1.1 видно, что граница абсолютной погрешности


1
аппроксимации функции y  по предложенной схеме (1.36), (1.37) на
1  e2 x
1-2 десятичных порядка меньше, чем погрешность, полученная при
использовании схемы-прототипа (1.26), (1.28) из [96], на 6-7 порядков
меньше, чем погрешность схемы на основе полиномов Гаусса, на 5
десятичных порядков меньше, чем погрешность аппроксимации рядами по
полиномам Чебышева, а также на два порядка меньше, чем при
использовании пакета MathCad.
Замечание 1.2. Отметим, что в пакете MathCad под машинным нулём
понимается величина порядка 1016 , которая не снижается при помощи
программных настроек, поэтому фактической границей абсолютной
погрешности выполненных вычислений в MathCad является 1016 с
некоторым, возможно дробным, коэффициентом.
Представленные в табл. 1.1 результаты являются типичными для
широкого класса функций, более подробно численный эксперимент по
аппроксимации функций вида (1.1) по схемам (1.36), (1.37) и (1.26), (1.28)
представлен в приложении к главе 1.
60
В табл. 1.2 представлена погрешность (1.70) аппроксимации
производной функции y  x arctg  x  .

Таблица 1.2
Абсолютная погрешности аппроксимации производной функции y  x arctg  x 

 f P   f N   fG   fT   f M 
x Предложенный Полином Полином Полином
MathCad
метод Ньютона Гаусса Чебышёва
0.00E+0000 3.401E-17 1.920E-14 4.768E-07 9.536E-07 1.387E-15
1.00E-0001 7.616E-18 4.767E-16 6.544E-07 1.869E-07 7.494E-16
2.00E-0001 2.141E-18 1.186E-16 8.817E-08 5.290E-07 1.387E-15
3.00E-0001 8.131E-19 1.387E-17 8.829E-07 4.816E-07 1.110E-15
4.00E-0001 1.409E-18 2.840E-16 2.126E-07 1.417E-07 2.109E-15
5.00E-0001 7.464E-17 5.019E-15 3.051E-07 6.103E-07 1.443E-15
6.00E-0001 7.426E-18 1.037E-16 3.609E-07 1.031E-07 1.554E-15
7.00E-0001 4.119E-18 5.312E-18 4.295E-08 2.577E-07 6.217E-15
8.00E-0001 1.301E-18 5.963E-18 3.900E-07 2.127E-07 1.776E-15
9.00E-0001 1.398E-17 1.669E-17 8.733E-08 5.821E-08 2.153E-14

Из табл. 1.2 видно, что абсолютная погрешность численного


дифференцирования по модифицированной схеме (1.36), (1.37) на 2-3
десятичных порядка меньше, чем абсолютная погрешность прототипа [96],
на 10-11 порядков меньше, чем погрешность схемы на основе полиномов
Гаусса, на 9-11 порядков меньше, чем аналогичная погрешность
аппроксимации рядами по полиномам Чебышева, на 3-4 порядка меньше, чем
при использовании пакета MathCad.
Для полноты сравнения предложенный метод сопоставляется по
оценке погрешности со сплайн-интерполяцией функций:
Таблица 1.3
Сравнение погрешности предложенного метода и сплайн-аппроксимации
Предложенный
Класс функции Сплайн-интерполяция
метод
C 1 a, b 3 8h f ' 
C 2 a, b h n 1 n 1
f 1 32 h 2 f 2

2k
C 3 a, b 1 192 h 3 f 3

61
В табл. 1.3 приняты обозначения: C  a, b – класс непрерывных и  раз
непрерывно дифференцируемых функций, k, n – определяются по
алгоритму 1.1.
Таким образом, за счет переменного k предложенный метод достигает
в 2k раз меньшего значения абсолютной погрешности, чем сплайн-
интерполяция.
Схема (1.53), (1.37) ориентирована на создание программного
комплекса аппроксимирующего производные часто встречающихся функций,
например, при компьютерном моделировании объектов и устройств
наноэлектроники [82, 88, 102 – 105], при этом за счёт и математической
модификации позволяет существенно снизить границу абсолютной
погрешности аппроксимации и фактическую временную сложность
программ [31, 97, 102, 105].
В табл. 1.4 приводятся погрешности (1.71) приближённого вычисления
определённого интеграла по отрезку a, b  0,1 от различных функций, при

этом помимо описанных обозначений под  IS  понимается погрешность


приближённого вычисления интеграла по формуле Симпсона [99].

Таблица 1.4
Абсолютная погрешность приближённого вычисления определённых интегралов

Интегрируемая  IP   I N   IG   IT   IM   IS 


функция Предложенный Полином Полином Полином Формула
MathCad
метод Ньютона Гаусса Чебышёва Симпсона
1
y 2.710E-20 3.062E-18 3.631E-07 3.200Е-07 5.551E-17 1.738E-14
1  e2 x
y  sh  x  5.421E-20 5.421E-20 5.603E-07 9.157Е-07 3.330E-16 8.913E-14
x
y 5.421E-20 8.131E-20 2.589E-07 1.421Е-07 3.885E-16 2.557E-14
1 sin x 
y  x cos x  1.084E-19 5.421E-19 2.576E-07 8.609Е-07 1.665E-16 2.892E-15
1
y
 
3
0.000E+00 2.710E-19 3.850E-07 3.207Е-07 2.220E-16 2.892E-15
x2  x  1 2

y  x arctg  x  2.710E-20 2.710E-20 3.745E-07 3.062E-06 4.771E-16 4.323E-14


62
Из табл. 1.4 видно, что абсолютная погрешность приближённого
вычисления определённого интеграла по модифицированной схеме (1.36),
(1.37) на 1-2 десятичных порядка меньше, чем по исходной схеме (1.78),
(1.28) [96], на 12-13 порядков меньше чем по схемам на основе полиномов
Гаусса и Чебышева, на 3-4 порядка меньше, чем при использовании пакета
MathCad, на 4-6 порядков меньше, чем аналогичная погрешность, полученная
по формуле Симпсона.
Отметим, что в столбце табл. 1.4, представляющем абсолютную
погрешность  I N  приближения определённого интеграла по схеме-
прототипу [96] показаны наилучшие результаты для схемы из [96], которые
не всегда могут быть получены по стандартной подпрограмме.
Таким образом, численный эксперимент, проведённый для широкого
класса функций, показывает отличительное преимущество предложенной
модификации (1.36), (1.37) прототипа (1.26), (1.28) по сравнению с
известными при универсальности изложенных методов относительно вида
функции, области изменения аргумента с отмеченными выше оговорками, а
также при алгоритмической минимизации временной сложности и
естественном параллелизме.
Математической базой улучшений, показываемых модифицированной
схемой, является построение аппроксимирующего полинома в виде среднего
арифметического полиномов Ньютона для интерполяции вперёд и назад, что
позволяет равномерно распределить ошибку аппроксимации по
подынтервалу (1.2).
Следует отметить, что представленные схемы в отличие от
стандартных программных пакетов компьютерной математики могут быть
использованы в качестве программной основы приборов, основной задачей
которых является обработка входных данных с априори заданной точностью
при минимизации времени обработки. Схемы также обладают
инвариантностью относительно архитектуры вычислительной системы и
программного окружения.
63
1.7. Выводы
1. Предложена модификация компьютерной кусочно-полиномиальной
схемы вычисления действительных функций одной действительной
переменной, отличающаяся от аналогов способом построения на основе
усреднения интерполяционных полиномов Ньютона для интерполирования
вперёд и назад на каждом подынтервале, что позволяет на порядок снизить
границы абсолютной погрешности аппроксимации.
2. На основе модификации компьютерных кусочно-полиномиальных
схем предложены видоизменения кусочно-полиномиальных схем
вычисления производных и определённых интегралов от действительных
функций одной действительной переменной, которые позволяют
существенно уменьшить погрешность приближения по сравнению с
известными алгоритмами.
3. Разработан программный комплекс для реализации предложенных
разновидностей кусочно-полиномиальных схем, обеспечивающий
минимизацию их временной сложности, на его основе проведен численный
эксперимент и получены результаты, подтверждающие существенное
снижение абсолютной погрешности вычисления функций, производных, а
также определенных интегралов по сравнению с известными методами, в
числе которых сплайн-интерполяция и методы пакета MathCad.
4. Даны оценки временной сложности предложенной модификации
кусочно-полиномиального метода на модели неветвящихся параллельных
программ, согласно которым динамическое построение базового алгоритма
кусочно-полиномиальной аппроксимации можно выполнить с
логарифмической временной сложностью.
64

ГЛАВА 2. КОМПЬЮТЕРНЫЙ МЕТОД КУСОЧНО-


ПОЛИНОМИАЛЬНОГО ВЫЧИСЛЕНИЯ ФУНКЦИЙ ДВУХ
ПЕРЕМЕННЫХ, ЧАСТНЫХ ПРОИЗВОДНЫХ И ДВОЙНЫХ
ИНТЕГРАЛОВ

В данной главе излагается компьютерная схема кусочно-


полиномиальной аппроксимации действительных функций двух
действительных переменных на основе подхода, изложенного в предыдущей
главе для случая функций одной переменной. Прямоугольная область
изменения аргумента на плоскости OXY покрывается системой
непересекающихся прямоугольных подобластей, при этом каждая
подобласть своей диагональю дробится ещё на две треугольные подобласти.
В каждой из полученных треугольных подобластей строится
соответствующий интерполяционный полином Ньютона от двух
переменных, который приводится к виду полинома с числовыми
коэффициентами и после этого применяется для аппроксимации функции.
Число подобластей и степень аппроксимирующего полинома
варьируется по алгоритму, аналогичному алгоритму 1.1, который подбирает
наименьшую степень для данного числа подобластей и заданной границы 
абсолютной погрешности аппроксимации, при этом число подобластей
выбирается также минимальным. Минимизация числа подобластей и степени
влечёт минимизацию временной сложности аппроксимации.
Аппроксимант в виде полинома с постоянными числовыми
коэффициентами применяется для аппроксимации частных производных и
двойных интегралов по прямоугольной области, при этом частные
производные от функции аппроксимируются соответствующими частными
производными от полинома, а двойной интеграл от функции – двойным
интегралом от полинома.
65
Доказывается равномерная сходимость предложенных схем в
зависимости от числа подобластей в области изменения независимых
переменных.
Схемы обладают естественным параллелизмом, приводятся оценки
временной сложности максимально параллельных алгоритмов в рамках
модели параллельных неветвящихся программ без учёта обмена данными.
Приводятся результаты численного эксперимента по сравнению
абсолютной погрешности аппроксимации функций двух переменных,
частных производных, и приближённого вычисления двойных интегралов
при помощи описанной схемы и аналогичной схемы не предусматривающей
диагонального дробления подобласти.
Построенная схема используется ниже (глава 3) как вычислительная
база приближения коэффициентов в методе Галёркина при
самосогласованном расчёте электронной структуры GaAs нанопроволоки и
основанном на нём приближённом вычислении скоростей электрон-
фононного рассеяния.
2.1. Компьютерная кусочно-полиномиальная схема
аппроксимации функций двух переменных. Предлагаемый подход [111,
112] распространяет методологию из [96, 100, 101] на случай действительных
функций двух действительных переменных.
Пусть рассматривается функция
z  f  x, y  , (2.1)

где x, y   G  R 2 , x, y, z   R3 , в замкнутой прямоугольной области

G  x, y  x a, b, y c, d . (2.2)


Схемы, реализующие аналогичный подход в круге и кольцевом секторе
описаны в [113, 114].
Область (2.2) покрывается системой прямоугольных
непересекающихся подобластей, удовлетворяющих соотношению
66
Px Py 1
G  Gk~ , (2.3)
~
k 0

где Px  2k1 , Py  2k 2 , k1 , k2  0,1, 2, ...,

  
  x, y  x  xi , xi 1 , y  y j , y j 1  , i  0, Px  2, j  0, Py  2,

  
Gk~    x, y  x  xi , xi 1 , y  y j , y j 1  , i  Px  1, j  0, Py  2, (2.4)

  
  x, y  x  xi , xi 1 , y  y j , y j 1 , i  0, Px  2, j  Py  1.

Каждая подобласть Gk~ из (2.3), (2.4) дробится диагональю

hy hy
w x    x yi  xi 1 (2.5)
hx hx
на треугольные подобласти вида


  x, y  xi  x  xi 1 , y j  y  w x  ,

 i  0, Px  2, j  0, Py  2,
d

Gk~    x, y  xi  x  xi 1 , y j  y  w x  ,  i  Px  1, j  0, Py  2, (2.6)


  x, y  xi  x  xi 1 , y j  y  w x  ,  i  0, Px  2, j  Py  1,

 x, y  x  x  x
i i 1 , w x   y  y j 1 ,  i  0, Px  2, j  0, Py  2,

Gk~u   x, y  x  x  x
i i 1 , w x   y  y j 1 , i  Px  1, j  0, Py  2, (2.7)

 x, y  x  x  x
i i 1 , w x   y  y j 1 , i  0, Px  2, j  Py  1,

ba d c
где Px , Py , k1 , k 2 из (2.3), hx  , hy  – линейные размеры
Px Py

подобласти.
В подобластях Gk~d из (2.6), (2.7) строятся полиномы Ньютона для

интерполирования вперёд и вверх, в подобластях Gk~u – полиномы для

интерполирования назад и вниз. С использованием матричной схемы (1.23)


[28] и приведения подобных интерполирующие полиномы приводятся к виду
N N i
Pk~s, N  x, y     ak~s , i , j x i y j , (2.9)
i 0 j 0
67
~
где N – степень полинома, k  0, Px Py  1 – номер подобласти (2.6), (2.7), Px ,

Py из (2.3), s   d , u, d – индекс, соответствующий подобласти Gk~d , u –

индекс, соответствующий подобласти Gk~u .

Затем в каждой подобласти (2.6), (2.7) в проверочных точках, не


совпадающих с узлами интерполяции и следующих по направлению вдоль
координатных осей с постоянным априори заданным шагом, проверяется
условие вида

f x, y   Pk~s, i , j x, y    , (2.10)

где  – априори заданная граница абсолютной погрешности аппроксимации,


Pk~s, i , j  x, y  из (2.9).

Излагаемый подход по аналогии с работами [96, 100, 101] учитывает


ограничения числа подобластей вида
k1  K x ,
 (2.11)
k2  K y ,
а также ограничение степени N интерполирующего полинома
~
N N, (2.12)
~
где K x , K y , N задаются априори, k1 , k 2 из (2.3).

Для определения минимальных значений чисел k1 , k 2 , N служит


Алгоритм 2.1
/*
Величины, входящие в блок комментария
задаются как входные параметры подпрограммы функции,
реализующей приводимый непосредственно ниже алгоритм,
а именно задаются:

const int Kx = … // Кх из (2.11)


const int Ky = … // Кy из (2.11)
const int Nn = …
const long double X0 = … // Координаты вершин
const long double Xn = … // области
const long double Y0 = … // изменения
const long double Yn = … // аргумента

*/
for (int ky = 0; ky <= Ky; ky++) { // k2 из (2.6), (2.7)
long double hy = (Yn-Y0)/pow(2,ky);// размер подобласти вдоль оси OY
68
for (int kx = 0; kx <= Kx; kx++) { // k1 из (2.6), (2.7)
long double PxPy = (int)(pow(0,kx) * pow(0,ky));
long double hx = (Xn - X0) / pow(0,kx);
for (int N = 1; N <= Nn; N++) { // степень полинома
long double ya=Y0-hy;
for (int kpy=0; kpy < pow(0,ky); kpy++) {
ya += hy;
long double yb=ya+hy;
long double xa=X0-hx;
for (int kpx=0; kpx<pow(0,kx); kpx++) {
xa += hx;
int kk = (int)pow(0, kx) * kpy + kpx;
long double xb=xa+hx;
/*
Построение аппроксимирующего полинома
*/
for (int i = 0; i <= Npt; i++) {
long double xp = xa+i*h1x; // абсцисса проверочной точки в Gd
long double xxp = xb–i*h1x; // абсцисса проверочной точки в Gu
long double tp=(xp-xa)/hhx;
long double ttp=(xb-xxp)/hhx;
for (int j = 0; j <= Npt - i; j++) {
long double yp=ya+j*h1y; // ордината проверочной точки в Gd
long double yyp=yb–j*h1y; // ордината проверочной точки в Gu
long double up = (yp - ya) / hhy;
long double uup = (yb - yyp) / hhy;
long double p = a_u_r[kk][0][N];
for (int m = N - 1; m >= 0; m--) {
p *= up;
long double p_t = a_u_r[kk][N-m][m];
for (int k=N – m - 1; k >= 0; k--)
p_t = p_t * tp + a_u_r[kk][k][m];
p += p_t;
}
long double p_ = a_d_l[kk][0][N];
for (int m = N - 1; m >= 0; m--) {
p_ *= uup;
long double p_t_ = a_d_l[kk][N-m][m];
for (int k = N – m - 1; k >= 0; k--)
p_t_ = p_t_*ttp + a_d_l[kk][k][m];
p_ += p_t_;
}
if (abs(Fxy(xp,yp) - p) >= eps) goto next_iteration;
if (abs(Fxy(xxp,yyp) - p_) >= eps) goto next_iteration;
}
}
if (kk == PxPy - 1) goto final;
}
}
next_iteration:;
}
}
}
final:;

Алгоритм 2.1 имеет структурную схему, представленную на рис. 2.1.


69

k1  0, k 2  0, N  1

k2  k2  1
k1  K x , Нет
k2  K y
k1  k1  1
Да
N 1
Нет ~
NN

Да
N  N 1
Построение
полинома

Нет
f x, y   Px, y   

Да

Конец

Рис. 2.1. Структурная схема алгоритма кусочно-полиномиальной аппроксимации функций


двух переменных

По алгоритму 2 построение полинома (2.9) начинается с минимальных


значений k1  0 , k 2  0 , N  1 . Если при таких k1 , k 2 , N условие (2.10)
выполняется во всех проверочных точках, то полином (2.9) считается
построенным, в противном случае значение N увеличивается на единицу и
построение повторяется, и так до исчерпания пределов (2.12). При
~
достижении значения N из (2.12) и невыполнения хотя бы в одной из
проверочных точек неравенства (2.10) степень принимает минимальное
значение N  1 , и построение аппроксимирующего полинома повторяется
при увеличенном на единицу k1 . При достижении параметром k1 значения Kx

и невыполнении условия (2.10) хотя бы в одной проверочной точке,


70
построение выполняется для увеличенного на единицу k 2 и k1  0 , N  1 и
т.д.
Полученная по алгоритму 2.1 степень N полинома (2.9) является
минимальной соответствующей данному числу подобластей, при которой
выполняется условие (2.10), так достигается минимизация временной
сложности аппроксимации в том случае, когда аппроксимируемая функция
принадлежит библиотеке стандартных подпрограмм или достаточно часто
повторяющихся (например, при моделировании некоторого процесса)
функций. В этих случаях коэффициенты аппроксимирующего полинома
заносятся в память компьютера. Адресация к этим коэффициентам
выполняется путем дешифрации подобласти (2.6), (2.7) при помощи
соотношений
~
k  jPx  i,

 x  a  y  c
i    , j   ,
  x  h  y 
h (2.8)

 x, y   Gk~ , y  w x ,
d

 x, y   G~u , y  w x ,
 k

ba d c
где   – целая часть числа  , hx  , hy  , Px , Py те же, что и в
Px Py

(2.6).
~
Отметим, что во избежание неоднозначной дешифрации номера k в
граничных точках подобластей Gk~d из (2.6) и Gk~u из (2.7), общая часть границ

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


интерполирующий полином строится в замыкании соответствующей
подобласти.
После данной выборки коэффициентов из памяти аппроксимация
функции (2.1) с отмеченной оговоркой и при вычислении полинома с
использованием схемы Горнера будет иметь временную сложность
71

t 1 
N  1N  2  t  tc  , (2.13)
y
2
где t y , t c – время одного умножения и сложения соответственно.

Полином (2.9) с постоянными коэффициентами, имеет табличные


частные производные и применяется ниже для аппроксимации частных
производных функции (2.1), а также для приближённого вычисления
двойных интегралов от функции (2.1) по области (2.2).
Ниже приведение полиномов Ньютона от двух переменных к виду (2.9)
описывается с некоторыми деталями, используемыми в дальнейшем [111].
В предположении, что аппроксимируемая функция является
непрерывной по обеим переменным в области (2.2), в подобластях Gk~d , Gk~u

задаются соответствующие узлы интерполяции:


~
 
Gk~d  xi*, , y*j , m xi*,  xi  h, y*j , m  y j  mg,   0, N , m  0, N   ,  (2.14)
~

Gk~u  ~ y j 1, m  ~
xi 1,  , ~ xi 1,   xi 1  h, ~
y j 1, m  y j 1  mg,   0, N , m  0, N   , 
(2.15)
~
где h  hx N , g  hy N , i , j , k из (2.7), hx , hy из (2.6), (2.7).

Далее, строятся интерполяционные полиномы Ньютона вида:



m f x k y mk xi*, 0 , y*j , 0  mk
f xi , 0 , y j , 0      x  xq   y  yr 
N m k
Pk~d, N  x, y   (2.16)
m 1 k  0 k!h k m  k ! g m  k q 0 r 0

в узлах (2.14) для точек x, y   Gk~d ,

m f x k y mk ~
xi 1, 0 , ~y j 1, 0  mk
f xi 1, 0 , y j 1, 0     x  xq   y  yr (2.17)
N m k
Pk~d, N  x, y   
m 1 k  0 k!h k m  k ! g m  k q 0 r 0

в узлах (2.15) для точек  x, y   Gk~u .

Двойные конечные разности в полиноме (2.16) имеют вид


72
 1 0 f x , y   f x , y
*
i
*
j
*
i 1
*
j   f x , y ,
*
i
*
j
 xy
 0 1 f
 xy x , y   f x , y
*
i
*
j
*
i
*
j 1   f x , y ,
*
i
*
j
 m
f x , y    f x , y     , m  k  0,
(2.18)
m 1 m 1
 x k y m  k
* * * *
i j x k y m  k 1 i j 1 x k y m  k 1
f xi* , y *j
 m
 x k y m  k f x , y   
*
i
*
j
m 1
x k 1 y m  k
f x , y   
*
i 1
*
j
m 1
x k 1 y m  k
f x , y , m  k  0,
*
i
*
j

аналогично, конечные разности в полиноме (2.17) –


 1 0 f ~ y j   f ~
xi , ~ xi 1 , ~ y j   f ~ y j ,
xi , ~
 x y

 0 1 f ~ ~  ~ ~  ~ ~ 
 x y xi , y j  f xi , y j 1  f xi , y j ,
 m (2.19)
 x k y mk f xi , y j    x k y mk 1 f xi , y j 1    x k y mk 1 f xi , y j , m  k  0 ,
~ ~ m 1 ~ ~ m 1 ~ ~
 m
 x k y mk f ~ y j   mx k11 y mk f ~
xi , ~ y j   mx k11 y mk f ~
xi 1 , ~ y j , m  k  0 ,
xi , ~

где m  2, N , k  0, m , i  0, N  m , j  0, N  i . Так, согласно (2.19) конечные


разности второго и третьего порядка имеют вид
2x 2 y 0 f ~ y j   f ~
xi , ~ y j   2 f ~
xi  2 , ~ y j   f ~
xi 1 , ~ y j ,
xi , ~

2x1 y1 f ~ y j   f ~
xi , ~ y j 1   f ~
xi 1 , ~ y j   f ~
xi 1 , ~ y j 1   f ~
xi , ~ y j ,
xi , ~

2x 0 y 2 f ~ y j   f ~
xi , ~ y j  2   2 f ~
xi , ~ y j 1   f ~
xi , ~ y j ,
xi , ~

3x 3 y 0 f ~ y j   f ~
xi , ~ y j   3 f ~
xi  3 , ~ y j   3 f ~
xi  2 , ~ y j   f ~
xi 1 , ~ y j ,
xi , ~

3x 2 y1 f ~ y j   f ~
xi , ~ y j 1   2 f ~
xi  2 , ~ xi 1 , ~y j 1  
 f ~ xi , ~y j 1   f ~ y j   2 f ~
xi  2 , ~ y j   f ~
xi 1 , ~ y j ,
xi , ~
3 f ~
x1 y 2
x ,~ y   f ~
i j x ,~ y   f ~
i 1 j2 x ,~ y  i j2

 2 f ~ y j 1   2 f ~
xi 1 , ~ y j 1   f ~
xi , ~ xi 1 , ~y j   f ~ y j ,
xi , ~
3x 0 y 3 f ~ y j   f ~
xi , ~ y j  3   3 f ~
xi , ~ y j  2   3 f ~
xi , ~ y j 1   f ~
xi , ~ y j .
xi , ~

Приведённые непосредственно выше явные выражения конечных разностей


через значения функции совпадают с конечными разностями из [113].
В обозначениях

m f x k y m  k xi*, 0 , y *j , 0 
bmd ,k  , (2.20)
k!m  k !
73
где m f x k y m k xi , 0 , y j , 0  из (2.18), m  1, N , k  0, m , полином (2.16) запишется в

виде

    h g bmd , k mk
x  xq   y  yr  .
N m k
Pk~d, N t , u   f xi*, 0 , y*j , 0 k mk 
(2.21)
m 1 k  0 q 0 r 0

Введение в равенстве (2.17) обозначений


mx k y m  k f ~ y j 1, 0 
xi 1, 0 , ~
bmu ,k  , (2.22)
k!m  k !
повлечёт
bmu , k
t , u   f ~xi 1, 0 , ~y j 1, 0   
mk
x  xq   y  yr .
N m k
Pk~u, N  k mk 
(2.23)
m 1 k  0 h g q 0 r 0

В полиноме (2.21) производятся замены переменных


x  xi ,0
t , x, y   Gk~d , t  0, N , (2.24)
h
y  yi ,0
u , x, y   Gk~d , u  0, N  , (2.25)
g
которые приведут полином (2.20) к виду

 
N m k mk
Pk~d, N t , u   f xi*, 0 , y *j , 0    bmd , k  t  q   u  r  . (2.26)
m 1 k  0 q 0 r 0

Аналогично, замены
xi 1,0  x
t , x, y   Gk~u , t  0, N , (2.27)
h
yi 1,0  y
u ,  x, y   Gk~u , u  0, N  , (2.28)
g
преобразуют равенство (2.23) к виду

Pk~u, N t , u   f ~ y j 1, 0  
N m k mk
xi 1, 0 , ~   bmu , k  t  q   u  r  . (2.29)
m 1 k  0 q 0 r 0

Полиномы (2.26), (2.29) имеют схожий вид с точностью до значений


функции в начальных узлах интерполяции, а также индексов, указывающих
подобласть (2.6), (2.7). Формально полагая  
b0d,0  f xi*, 0 , y *j , 0 ,
74
b0u,0  f ~ y j 1, 0  ,
xi 1, 0 , ~ для краткости дальнейшего изложения введем

обозначение
N m k mk
Pk~s, N t , u     bms ,k  t  q  u  r  , (2.30)
m 0 k 0 q 0 r 0

где при подстановке индекса d вместо индекса s запись (2.30) будет


определять полином (2.26) в подобласти Gk~d из (2.6), аналогично при замене

s на u полином (2.30) станет полиномом (2.29) в подобласти Gk~u из (2.7).


Всюду ниже в данной статье такое соответствие индексов s , d , u
сохранится во всех записях.
k mk
По аналогии с (1.24), применяя к произведениям  t  q  ,  u  r 
q 0 r 0

схему (1.23), получим


k mk k mk
 t  q  u  r    d k , q t  dm  k ,r u r . q ~
(2.31)
q 0 r 0 q 0 r 0

Раскрывая скобки и приводя подобные в правой части (2.31), запишем


k mk k mk
 t  q  u  r     d m  k , r d k , qt qu r .
~
q 0 r 0 q 0 r 0

~
Последнее равенство в обозначениях Dm, k , q, r  d m  k , r dk , q примет вид
k mk k mk
 t  q  u  r     Dm, k , q, r t qu r ,
q 0 r 0 q 0 r 0

тогда для соотношения (2.30) справедливо


N m k mk
Pk~s, N t , u     bms , k   Dm,k ,q,rt qu r . (2.32)
m 0 k 0 q 0 r 0

Раскрытие скобок и приведение подобных при произведениях t q u r в


(2.32) повлечёт
N q
Pk~s, N t , u     ak~s ,q,r t q u r . (2.33)
q 0 r 0
75
ak~s , q , r  ak~d , q , r ,  x, y   Gk~d ,

ak~s , q , r  aku~ , q , r ,  x, y   Gk~u ,

 s N mr (2.34)
ak~ , q , r    bm, k Dm, k , q , r ,
s

 mr k q

q  1, N , r  0, N  q.
Аппроксимирующий полином (2.33) вычисляется по схеме Горнера:

 
Pk~s, N t , u   ... ak~s ,0, N u  ak~s ,1, N 1t  ak~s ,0, N 1 u   (2.35)
 
ak~s , 2, N  2t  ak~s ,1, N  2 t  ak~s , 0, N  2  u  ... u  ...  ak~s , 0,0

с временной сложностью (2.13). В (2.35) следует отличать квадратные скобки


от значка операции вычисления целой части числа.
Преобразования (2.20) – (2.33) интерполяционных полиномов (2.16),
~
(2.17) инвариантны относительно числа подобластей, степени N и номера k
подобласти (2.6), (2.7), кроме того шаги схемы вычисления коэффициентов
(2.35) инвариантны относительно вида аппроксимируемой функции и
размера области изменения аргументов.
2.2. Равномерная сходимость компьютерной кусочно-
полиномиальной аппроксимации функций двух переменных и
численный эксперимент по компьютерной аппроксимации функций.
Рассуждения, повторяющие методику доказательства равномерной
сходимости, предложенную в [108] для схемы (1.28), (1.30) в случае одной
действительной переменной, применимы и для схемы (2.33), (2.34).
Справедлива
Теорема 2.1 [114]. Пусть для произвольного натурального N  const
функция f  x, y  из (2.1) определена и непрерывна вместе со своими
частными производными до N  1 -го порядка, включительно, при этом
частные производные в граничных точках замкнутой области G из (2.2)
понимаются как пределы соответствующих частных производных при
стремлении точек изнутри к границе. Тогда последовательность полиномов
76
Pk~s, N t , u  из (2.33) равномерно сходится на G при k1   , k2   , где

k1  log 2 Px , k2  log 2 Py , Px , Py – число подобластей (2.4) вдоль оси абсцисс и

ординат соответственно. Скорость сходимости имеет оценку

t , u   k1 k 2 , где M Nmax  N  2M max b  a  d  c N 1


N 1
M Nmax
Rk~s , N при b  a  1 ,
2 2 N  1!

d  c 1, M Nmax 
N  2M max при b  a  1, d  c  1,
N  1!
 N 1 f x, y 
M max  max max .
i 0,1,..., N 1  G x i y N 1i

Доказательство теоремы 2.1 приводится в приложении к главе 2.


Замечание 2.1. В качестве математической основы излагаемого
подхода используются интерполирующие полиномы Ньютона, узлы
интерполяции которых расположены, в том числе, на границе подобласти
(2.6). Узлы на границе являются общими для полиномов, построенных на
соседних подобластях, этим обусловлена непрерывность аппроксиманта.
Ниже в табл. 2.1 приводится абсолютная погрешность

  f x, y   Pk~s, N t x, u y  аппроксимации функции z  sin x  y  по схеме

(2.33), (2.34).

Таблица 2.1
Абсолютная погрешность аппроксимации функции z  sin x  y 

y x Pk~s, N t x , u y  
0.0E+0000 0.0000E+0000 0.0000E+0000
2.0E-0001 1.9867E-0001 1.3553E-0020
0.0E+0000 4.0E-0001 3.8942E-0001 8.1315E-0020
6.0E-0001 5.6464E-0001 5.4210E-0020
8.0E-0001 7.1736E-0001 5.4210E-0020
0.0E+0000 1.9867E-0001 1.3553E-0020
2.0E-0001 3.8942E-0001 8.1315E-0020
2.0E-0001 4.0E-0001 5.6464E-0001 5.4210E-0020
6.0E-0001 7.1736E-0001 5.4210E-0020
8.0E-0001 8.4147E-0001 0.0000E+0000
0.0E+0000 3.8942E-0001 8.1315E-0020
2.0E-0001 5.6464E-0001 5.4210E-0020
4.0E-0001
4.0E-0001 7.1736E-0001 5.4210E-0020
6.0E-0001 8.4147E-0001 0.0000E+0000
77
8.0E-0001 9.3204E-0001 0.0000E+0000
0.0E+0000 5.6464E-0001 5.4210E-0020
2.0E-0001 7.1736E-0001 5.4210E-0020
6.0E-0001 4.0E-0001 8.4147E-0001 0.0000E+0000
6.0E-0001 9.3204E-0001 0.0000E+0000
8.0E-0001 9.8545E-0001 0.0000E+0000
0.0E+0000 7.1736E-0001 5.4210E-0020
2.0E-0001 8.4147E-0001 0.0000E+0000
8.0E-0001 4.0E-0001 9.3204E-0001 5.4210E-0020
6.0E-0001 9.8545E-0001 0.0000E+0000
8.0E-0001 9.9957E-0001 5.4210E-0020

Из табл. 2.1 видно, что абсолютная погрешность аппроксимации


функции z  sin x  y  не превосходит по порядку погрешности
представления данных в формате long double C++.
Представленное в табл. 2.1 поведение погрешности компьютерной
кусочно-полиномиальной аппроксимации является типичным. Более
подробно результаты численного эксперимента по сравнению предложенных
кусочно-полиномиальных методов аппроксимации с известными приводятся
в параграфе, посвящённом сравнительному анализу схем аппроксимации, а
также в приложении к главе 2.
В табл. 2.2 показано фактическое время аппроксимации функций при
помощи кусочно-полиномиальной схемы на персональном компьютере Intel
Core 2 Quad Q6600 8Gb RAM.

Таблица 2.2
Фактическое время кусочно-полиномиального вычисления функций
Функция Время аппроксимации

z  sin x  y  10 мс
z  cosx  y  12 мс
x y
ze 12 мс
z  x 2e x sin  5 y  125 мс

z  xy sh x 2  y 2  31 мс

z  xy x 2

1 y2 1  41 мс

Из табл. 2.2 видно, что время аппроксимации, увеличиваясь при


усложнении поведения функции, не превосходит 125 мс.
78
Замечание 2.2. В случае, когда функция принадлежит библиотеке
стандартных функций, или непосредственно часто используется в процессе
моделирования, коэффициенты (2.34) могут быть занесены в память
компьютера, тогда с использованием дешифрации вида (2.8) временная
сложность аппроксимации функции (2.1) будет оцениваться из соотношения
(2.13). Поскольку N  const , то в данном случае временная сложность имеет
порядок O1 .
2.3. Применение компьютерной кусочно-полиномиальной схемы
для аппроксимации частных производных. Полином (2.33) с постоянными
коэффициентами (2.34) и «табличными» частными производными
применяется ниже для аппроксимации частных производных от функции
(2.1). Ниже предполагается, что аппроксимируемые частные производные от
функции (2.1) произвольно фиксированного порядка, где порядок не
превышает степень аппроксимирующего полинома, существуют, также
предполагается, что коэффициенты (2.34) вычислены, и при помощи
дешифрации (2.8) определена подобласть (2.6), (2.7). В граничных точках
области G из (2.2) под частными производными понимаются пределы
соответствующих частных производных при стремлении точек к границе
изнутри области [115].
Из того что полином (2.33) построен, следует приближённое равенство
f x, y   Pk~s, N t , u  , (2.36)

где t , u определяются выражениями (2.24), (2.25) в подобласти (2.6), и


соотношениями (2.27), (2.28) – в подобласти (2.7).
Продифференцировав обе части соотношения (2.45), получим
k k
f  x, y    k Pk~s, N t , u  , (2.37)
x y
 k
x y
где , k – порядок дифференцирования по переменной x и y
соответственно,   k  N , при этом считается, что если   0 , то
79
дифференцирование по переменной x не производится, аналогично, в случае
k  0.
k
При вычислении частной производной P~s t , u  в соотношении
x y
 k k ,N

(2.36) полином Pk~s, N t , u  считается суперпозицией функций от переменных

x , y , поэтому выполняется
k
   k f  x, y   dt 

 du 
    
x  y k  dx   dy  (2.38)
N  k N i 
   ii  1...i    1 j  j  1... j  k  1 ak~s ,i, j t i  u j  k ,
i  j k

где производные dt dx , du dy вычисляются дифференцированием равенств


(2.24), (2.25) в подобласти (2.6) и дифференцированием равенств (2.27), (2.28)
в подобласти (2.7). Вводятся обозначения
dt
hs  , (2.39)
dx
du
gs  , (2.40)
dy
где

h, x, y   Gk~ ,


dt 
d


dx  h, x, y   G~u ,
 k

 g , x, y   Gk~ ,
du 
d


dy  g , x, y   G~u ,
 k

h , g – шаги интерполяции из (2.14), (2.15).


В обозначениях (2.39), (2.40) аппроксимация (2.38) примет вид
   k f  x, y 
 hs  g s k 
x y k

N  k N i 
(2.41)
   ii  1...i    1 j j  1... j  k  1 ak~s ,i, j t i  u j  k .
i  j k

Заметим, что справедливы равенства:


80

ii  1...i    1 
i!
, (2.42)
i   !

j  j  1... j  k  1 
j!
, (2.43)
 j  k !
тогда произведения ii  1...i    1 , j  j  1... j  k  1 в правой части (2.41)
i! j!
могут быть вычислены в силу (2.42), (2.43) как отношения , за
i   !  j  k !
время одного деления при априори известных членах последовательности
0!, 1!, ..., N !. Если памяти компьютера достаточно, чтобы при заданном N
хранить значения
i! j!
i , j ,, k  , (2.44)
i   !  j  k !
где i, j, k ,   0, N , то с целью сокращения времени вычислений правой части
(2.41) можно занести в память i , j ,,k для дальнейшего считывания при

необходимости.
С учётом обозначений (2.44) и выражений (2.42), (2.43) приближённое
равенство (2.41) примет вид
   k f  x, y  N  k N i 
 hs g s    i , j , , k ak~s , i , j t i  u j  k .
 k
(2.45)
x y k
i  j k

Правая часть (2.45) может быть вычислена по схеме Горнера:


   k f  x, y 
x y k
 
 hs  g s k ...   , N   ,  , k ak~s ,  , N   u    1, N   1,  , k ak~s ,  1, N   1t 

 
   , N   1,  , k ak~s ,  , N   1 u   2, N    2,  , k ak~s , 2, N    2t  (2.46)
  
 1, N    2,  , k ak~s ,1, N    2 t   0, N    2,  , k ak~s , 0, N    2 u  ... u  ...    , k ,  , k aku~ ,  k .

Схема (2.54), (2.55) с предварительной дешифрацией (2.8) позволяет


аппроксимировать частные производные   k -го порядка,   k  N , с
временной сложностью t 1  N  1  k N  2   2 t y  tc  в обозначениях

(2.13).
81
В граничных точках области (2.2) схема (2.45), (2.46) аппроксимирует
пределы соответствующих частных производных от функции (2.1) при
стремлении точек к границе области.
2.4. Численный эксперимент по аппроксимации частных
производных. Ниже в табл. 2.3 приводится абсолютная погрешность
 
 f x, y   Pk~s, N t x , u y  аппроксимации частной производной
y y


sin x  y  при помощи схемы (2.45), (2.46).
y

Таблица 2.3

Абсолютная погрешность аппроксимации частной производной sin x  y 
y
 s
y x P~ t x , u  y   f
y k , N
0.0E+0000 1.0000E+0000 1.4311E-0017
2.0E-0001 9.8007E-0001 7.2099E-0018
0.0E+0000 4.0E-0001 9.2106E-0001 2.2443E-0017
6.0E-0001 8.2534E-0001 2.5967E-0017
8.0E-0001 6.9671E-0001 3.2689E-0017
0.0E+0000 9.8007E-0001 2.7105E-0019
2.0E-0001 9.2106E-0001 6.7221E-0018
2.0E-0001 4.0E-0001 8.2534E-0001 7.1015E-0018
6.0E-0001 6.9671E-0001 2.3852E-0018
8.0E-0001 5.4030E-0001 5.0589E-0016
0.0E+0000 9.2106E-0001 6.1257E-0018
2.0E-0001 8.2534E-0001 5.5836E-0018
4.0E-0001 4.0E-0001 6.9671E-0001 1.7347E-0018
6.0E-0001 5.4030E-0001 5.0475E-0016
8.0E-0001 3.6236E-0001 4.8789E-0018
0.0E+0000 8.2534E-0001 1.0625E-0017
2.0E-0001 6.9671E-0001 5.8547E-0018
6.0E-0001 4.0E-0001 5.4030E-0001 5.0480E-0016
6.0E-0001 3.6236E-0001 4.8518E-0018
8.0E-0001 1.6997E-0001 1.6588E-0017
0.0E+0000 6.9671E-0001 1.5720E-0018
2.0E-0001 5.4030E-0001 5.0589E-0016
8.0E-0001 4.0E-0001 3.6236E-0001 4.8789E-0018
6.0E-0001 1.6997E-0001 1.6602E-0017
8.0E-0001 -2.9200E-0002 1.7327E-0017

Из табл. 2.3 видно, что абсолютная погрешность при однократном


приближённом дифференцировании функций вида (2.1) не превосходит 1016 .
82
В табл. 2.4 показана абсолютная погрешность аппроксимации частной
2
производной второго порядка cosx  y  .
x 2

Таблица 2.4
 2
Абсолютная погрешность аппроксимации частной производной cosx  y 
x 2
2 s
y x P~ t  x , u  y   f
x 2 k , N
0.0E+0000 0.0E+0000 -1.0000E-0000 -1.6054E-0014
2.0E-0001 -9.8007E-0001 -3.2775E-0016
4.0E-0001 -9.2106E-0001 3.4727E-0016
6.0E-0001 -8.2534E-0001 -1.9117E-0015
8.0E-0001 -6.9671E-0001 7.8583E-0016
2.0E-0001 0.0E+0000 -9.8007E-0001 -3.2775E-0016
2.0E-0001 -9.2106E-0001 3.4727E-0016
4.0E-0001 -8.2534E-0001 -1.9117E-0015