Sliph4m – программа для численного решения проблемы штурма–Лиувилля

Выделим основные свойства разработанного фреймворка:

• использует архитектуру MVC (как и приложения, написанные с его применением);

• является шаблоном для разработки архитектуры приложения;

• предоставляет простые средства для выполнения действий над объектами, отображаемыми в таблицы БД (с поддержкой связанных таблиц): поиск, просмотр, добавление, изменение, удаление, работа со списками, экспорт и импорт, изменение свойств и методов объектов;

• содержит встроенные средства кэширования, создания логов и обработки ошибок;

• содержит гибкую систему контроля доступа (ACL), механизм авторизации;

• поддерживает темы оформления;

• содержит средства для управления меню.

Авторами предусмотрена возможность подстройки процесса расчета без необходимости изменять накопленные данные о проектах или перепрограммировать систему. К таким методам относятся использование шкал, изменение используемой метрики, добавление подготовки данных (online), такой как нормализация или масштабирование. Шкалы, введенные в формулу (1) как группа наборов значений Wj, позволяют изменять степень влияния конкретных признаков в соответствии с их значимостью для проекта. Поскольку проект имеет модульную структуру, изменить метрику можно с помощью реализации дополнительного модуля, не изменяя всю систему. Предварительная обработка данных может происходить с помощью дополнительного обработчика

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

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

Литература

1. Сегаран Т. Программируем коллективный разум; [пер. с англ.]. СПб: Символ-Плюс, 2008. 368 с.

2. Чубукова И.А. Data Mining - Интернет-университет информационных технологий. ИНТУИТ.ру. М.: БИНОМ, 2008. 384 с.

3. Метод k-ближайших соседей - BaseGroup Labs. URL: http://www.basegroup.ru/glossary/definitions/nearest_neighbor/ (дата обращения: 02.06.2010).

УДК 517.9, 519.6, 681.3.06

- ПРОГРАММА

ДЛЯ ЧИСЛЕННОГО РЕШЕНИЯ ПРОБЛЕМЫ ШТУРМА-ЛИУВИЛЛЯ

Во Чонг Тхак; Т.П. Пузынина, д.ф.-м.н.

Представлена программа, написанная на языке системы компьютерной алгебры MAPLE и предназначенная для вычисления спектра собственных значений и соответствующих собственных функций разностной задачи Штурма-Лиувилля. В ней реализованы итерационные схемы на основе непрерывного аналога метода Ньютона точности порядка O(h4), где h - шаг разностной сетки.

Ключевые слова: собственное значение, собственная функция, задача Штурма-Лиувилля, непрерывный аналог метода Ньютона.

При изучении математических моделей колебательных процессов, устойчивости систем, а также в квантовой механике часто возникает задача Штурма-Лиувилля (Ш-Л) на конечном и на

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

некоторых предварительных расчетов. Для более точного использования этих числовых данных целесообразно применять дискретные аппроксимации исходных задач. Одной из таких аппроксимаций, для которой приближенная задача Ш-Л исследована полностью, является метод конечных разностей [1]. Включение пакета решения задачи Ш-Л в этой постановке в программную среду MAPLE позволяет, с одной стороны, восполнить его отсутствие в этой среде, а с другой - обогатить пользовательский интерфейс пакета современными средствами компьютерной аналитики и графики.

Представляемый пакет программ SLIPH4М для решения разностной задачи Ш-Л использует итерационные схемы на основе непрерывного аналога метода Ньютона (НАМН) [2], эффективность которого проверена при решении ряда математических моделей из различных разделов физики, в том числе спектральных задач. В программе реализованы модификации ньютоновских итерационных схем, позволяющие решать указанную задачу с использованием априорной численной и аналитической информации, а возможности графической визуализации промежуточных и окончательных результатов делают более оперативным их анализ. Кроме того, вычисление с помощью пакета SLIPH4М собственных значений дает возможность при обращении к процедуре dsolve в системе MAPLE получить собственные функции в аналитическом виде. Созданный пакет программ является продолжением и развитием комплексов программ SLIPM [3] и SLIPH4 [4].

Рассмотрим постановку задачи. Для использования НАМН проблема Ш-Л записывается в виде системы функциональных уравнений

9(z)=0, z=(A, y), ф={ф}, j=1, 2, 3, 4 (1) для линейного дифференциального оператора второго порядка:

ф

краевых условий общего вида:

ф

и условия нормировки:

b w

ф

a b

Здесь коэффициенты p(x), q(x), r(x) - заданные функции, обеспечивающие существование нетривиальных собственных решений y=yn(x) с указанными граничными условиями, которым соответствуют собственные значения параметра A=An. Функции dj, fj (j=1, 2) непрерывно дифференцируемы по А и d2 + fj2 > 0.

Граничные условия (3), (4) и условие нормировки (5) дают возможность учитывать асимпто-

тики собственных функций тех задач, которые рассматриваются на полубесконечном интервале [а, да). Здесь у(А, x) - асимптотическое выражение для искомой собственной функции у(х) при х^<»; c - константа сшивки решения в некоторой достаточно удаленной точке x=b, у(Ь)=су(А, Ь). Если задача рассматривается на конечном отрезке [а, Ь], следует принять c=0.

Пакет БЫРИ4М позволяет решать следующие задачи для разностной аппроксимации задачи Ш-Л на равномерной сетке узлов ш, отрезка а<х<Ь.

• Частичная задача, когда по заданному начальному приближению {А,0, у0(х)} вычисляется ближайшее к нему решение {А*, у*(х)} задачи (2)-(5).

• Вычисление спектра (или его части) разностной задачи, аппроксимирующего соответствующую часть спектра задачи (2)-(5).

Точность вычисления является величиной 0(И4) и совпадает с точностью используемой разностной аппроксимации задачи (2)-(5).

Методы решения задачи

Итерационные схемы на основе НАМН. Задача (2)-(5) является нелинейным функциональным уравнением (1). Согласно НАМН [2], задача (1) заменяется эволюционным уравнением по непрерывному параметру I (0<1<да) ф' (1) —ф^(1>) с начальным условием

2(0) = 2о ={ао,уо(х)} . Здесь ф' - производная Фреше ф, г'(1) = (ц(1),у(х,1)), ц(1) = А'(1), у(х,1) = у'(х,1). При достаточно общих предложениях на ф^) имеем Иш||г(1) - г"|| = 0, где г" = (А",у"(х)) - решение задачи (2)-(5), ближайшее к z0. Для приближенного решения задачи (6), (7) методом Эйлера введем дискретное множество узлов {^={1^=^+1-4}, к=0, 1, 2, ....

Один шаг с номером к итерационного процесса заключается в следующем:

1. Решить краевую задачу для функции ук

ф(1)(Ак,Ук) = 81к(х),

Ф(2)(Ак,ук) = 32, Ф(3)(Ак,ук) = b2

s2k

Ь2к =-[d2A Ук(Ь)+f2'A y(b)],

при вычисленных на предыдущем шаге (k-1) значениях Ак, yk(x).

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

1 ф/у^х - с2 ^^х^х

_а_Ъ_

ь «

2

.

3. Найти новые приближения и ук+ь к=0, 1, 2, Як+1 +ткцк,

Уk+l

где тk определяется специальными алгоритмами. Итерации прекращаются, если 5к<е,

где е>0 - заданное малое число, невязка 5k определяется соответствующей разностной аппроксимацией для одной из формул:

5k = тахтахФ^.УкЮ)!, ¿=1, 2, 3,

3x1 I

о

5к = /[ф(1)(Хк,ук(х))]2ах , хеш,,.

Модифицированный алгоритм. Эта процедура является обобщением метода обратных итераций с фиксированным сдвигом X . При довольно грубых приближениях к собственной функции она обеспечивает сходимость к решению (Х*,у*(х)}, где X* - ближайшее к X собственное значение.

" п

На каждом шаге (с номером к) итерационного процесса для нахождения решения (Х*,у*(х)} требуется выполнить следующее.

1. Решить две краевые задачи, отличающиеся правыми частями (1=1, 2), относительно функций

vk1)(x) и тк2)(х):

Ф(1)(Х,у<°) = Ох), Ф(2)(Х,ук!)) = а1к, Ф(3)(Х,у<!)) = Ъ1к;

^(х) = -ф(1)(Хк,ук), а1к = -ф(2) (Хк, ук (а)), Ъ1к = -ф(3)(Хк, ук(Ъ)), <2)(х) = г(х)Ук(х),

а2к =-[d1x (X )ук (а)+^ (Х)Ук(а)], Ъ2к =-[d2x (Х)ук(Ъ)+^ (Х)Ук(Ъ)]

при известных с предыдущего шага (с номером к-1) значениях Хк, ук(х).

2. Вычислить поправку цк к собственному значению по формуле цк=

1 - }ук(х) (1х - с2 |^2(Хк,х) (1х - 2} у к (х)ук1)(х) dx , а_ъ_а_

Ъ та

2

.

3. Найти следующие приближения Хк+1 и ук+1, к=0, 1, 2, ..., Хк+1 =хк +ТкКк ,

Ук+1

4. Для самосопряженного оператора в (2) для приближения ук+1(х) к собственной функции у„(х) выполнить ортогонализацию приближения по отношению ко всем найденным собственным функциям у*(х), т=0, 1, 2, ..., п—1, по формуле

п —1 Ь

"к+1

т=0 а

5. Нормировать приближенную собственную функцию

о

Ук+1(х) = к+1

Операции (20), (21) позволяют дополнительно подавлять вычислительные погрешности.

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

Для нахождения решения ^*,У*(х)} в качестве X следует задать соответствующую границу спектра задачи (2)-(5). Далее в качестве сдвига задавать величину

X = X^ + £, т=0, 1, 2, ...,

где X* - вычисленное собственное значение;

£>0 - параметр сдвига.

Дискретное представление. Решение краевых задач (9), (10) и (16), (17) осуществляется с помощью метода конечных разностей на равномерной сетке шь. Эта задача аппроксимируется с помощью разностных формул с точностью аппроксимации 0(И4). При выводе разностных формул используется прием повышения порядка точности аппроксимации на решении уравнений.

Это дало возможность построить трехточечные разностные формулы с точностью аппроксимации 0(И4) в узлах сетки с номерами i=3, ..., N-2.

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

Интегрирование в формулах (11), (15) и (18) выполняется с помощью квадратурной формулы Симпсона точности порядка 0(И4). Полученные дискретные краевые задачи решаются методом прогонки.

В случае р(х)=0 выведенная разностная схема совпадает со схемой Нумерова.

Алгоритм вычисления начальных приближений. Данный алгоритм основан на решении

а

а

двух встречных задач Коши. Для первой (х>а) ставятся начальные условия в точке х=а, где условие (3) дополняется условием на производную, если ^=0. Аналогичное условие для второй задачи (х<Ь) ставится в точке х=Ь. Тогда задача отыскания собственных значений сводится к отысканию корней функции Т(А)=

= уп (хш )1еП уп (хш — уп (хш )1ей уп (Хш)^^,, = 0, (23) появляющейся из условия равенства логарифмических производных для решений двух задач Коши в некоторой внутренней точке отрезка хте[а, Ь]:

Уп

Уп(хш)1е!1 У п (хш )right

Если задачи Коши решать приближенно с помощью трехточечной разностной схемы точности 0(И2), где И - шаг равномерной сетки ш, а функции ^(А), fj(А) - полиномы некоторой степени от = , что справедливо для широкого круга практических задач, то функция Т(^) является полиномом. Его корни находятся по методу Ньютона с исключением уже найденных корней (к -номер итерации):

т(0

__к+1 _ к

Л„ =П„ —-

Т'(лп)—ТЮ£-к—-

j=l Лк — ^

Итерационный процесс (25) прекращается при одновременном выполнении двух условий:

где еТ>0 - заданное малое число. При определении с заданной точностью одновременно получается и приближенное значение соответствующей сеточной собственной функции у„(х), хеш,

Алгоритмы вычисления итерационного параметра гк. Вычисление итерационного параметра тк связано с изменением невязки 8к в ходе итераций. Приведем алгоритмы выбора тк, в которых т0 - некоторое заданное значение 0<т0<1.

1) 1к=10.

Этот алгоритм при достаточно малом 10 обычно применяется при плохих начальных приближениях с целью проверить возможность сходимости от таких приближений. Сходимость при этом очень медленная. При тк=1 получается классическая схема Ньютона.

|шт(1,2тк_ 1), если 5к < 8к_1,

2) тк = \

[шах(1, тк_ 1 / 2), если 5к > 5к_ 1,

где 8к определяется по формуле (14). Этот алгоритм аналогичен широко распространенному способу выбора шага интегрирования в стандартных программах решения задачи Коши, вычисления интегралов.

Алгоритм рекомендуется применять при хороших начальных приближениях. Он обеспечива-

ет быструю сходимость, однако не всегда устойчив.

5„

3) 1к

шin(1,1к—1 ), если 5к < 8к—1,

к

5„

шах(1о> тк—1 ^X если 5к > 8к—1>

О,,

где 5к определяется по формуле (14). Этот алгоритм более устойчив и обеспечивает сходимость в достаточно широкой области начальных приближений, однако зависит от задания т0. 8к—1

4) тк =

Ок—1 +8к

где 5к определяется по формуле (15), 5к(1) - невязка на итерации с номером к для тк=1.

5) На равномерной сетке шт на отрезке [0, 1] с шагом Ат вычисляется такое значение тк, которому соответствует минимальная невязка. Этот алгоритм более общий, чем по формуле (30), хотя и требует большего объема вычислений. Недостатком алгоритмов, использующих формулы (27)-(29), является эмпирическое задание начального значения параметра 10.

Алгоритмы вычисления значения параметра 1 В программе реализованы два новых алгоритма для вычисления т0:

5„

251

то = 2

1—

51

5„

где невязка 5к определяется по формуле (14), 51(1) - невязка на первой итерации (к=1) для 1=1. Ограничение: 0,1<т0<1. Их применение позволяет сократить число итераций, что показано при решении ряда примеров, представленных в [3].

Численный пример

В качестве примера использования программы БЫРИ4М рассмотрим задачу о вычислении колебательных уровней энергии и волновых функций молекулы водорода [5].

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

1

Рассмотрим решение с помощью обсуждаемого численного метода и пакета SLIPH4М прямой спектральной задачи для молекулы водорода, то есть вычисление уровней энергии и волновых функций по приведенной в работе [5] таблице потенциальной кривой. Наличие большого количества расчетов и измерений уровней энергии Н2 делает этот пример особенно интересным для тестирования пакета, а результаты расчетов можно сравнить со спектроскопическими данными [5].

Уровни энергии Е и волновые функции у(х) молекулы водорода находятся как собственные значения и собственные решения радиального уравнения Шредингера:

d2y

—y + [2ME -

L

- V(x)]y = 0

dx x2

на полуоси 0<x<» с граничными условиями

y

где M - приведенная масса квантово-механичес-кой системы; L - орбитальный момент.

В работе [5] содержится таблица III, в которой приведены экспериментальные значения уровней энергии молекулы водорода при значениях 2M=1836,109, L=0. При этом потенциал уравнения (33) имеет вид:

V

где U(x) - потенциальная кривая, восстановленная по экспериментальному спектру и заданная в виде таблицы с неравномерным шагом на интервале 0,4<x<10 с 7 десятичными знаками после запятой. Для численного решения задачи (33)-(34) с помощью рассматриваемого в данной работе метода условия ограниченности (34) для волновой функции дискретного спектра аппроксимируются граничными условиями на отрезке 0<x<10:

y

(-d + V-2ME)y(x)|x_„, = 0.

Краевое условие (37) является приближением асимптотического поведения волновой функции

y

Рассматривается условие нормировки функции (5) при значениях a=0, b=10, c=0, 10

J y

0

Поскольку в таблице III работы [5] значения Ev колебательных уровней энергии H2 в единицах (eV) приведены с четырьмя десятичными знаками после запятой, которые будем считать точными при тестировании, авторами первоначально выбрана равномерная сетка узлов юь с шагом h=0,005 на отрезке 0<x<10. Для приближенного задания функции U(x) в узлах этой сетки на отрезке 0,4<x<10 использовались как квадратичная интерполяция, так и сплайн-аппроксимация второго порядка исходных табличных данных. Оба способа дали одинаковые результаты в пределах точно-

сти разностной аппроксимации. При х<0,4 функция и(х) экстраполировалась с помощью выражения

u(x) =1 + р,

x

соответствующего кулоновскому взаимодеиствию вблизи нуля. Константа р выбиралась из условия U(0,4)=u(0,4).

При использовании пакета SLIPH4M в задаче (2)-(4) выполнена замена X=E, p(x)=0, q(x)=-V(x), r(x)=-2M, a=0, b=10. Для перевода вычисленных значении Ev из единиц задачи (units of test (UT)) в электрон-вольты использовалась формула Ev(eV)=-Ev(UT)*27,2107.

Кроме того, проведен пересчет вычисленных значении Ev(eV) к началу отсчета E0(eV), поскольку это же начало принято для табличных значении работы [5]. Расчеты выполнены для двух значении приведенной массы 2M: из работы [5] и уточненной в соответствии с новыми данными.

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

Av (eV) = |ETable - (E„ - Ev)| < 6,7643 * E™'6 * 10"4,

где значения ETable считаются точными.

Разумеется, что на точность решения этои задачи оказывают влияние ошибки, связанные с ин-терполяциеи, а в еще большеи мере - с экстрапо-ляциеи табличнои функции U(x) с помощью формулы (40), поскольку ее точное асимптотическое поведение вблизи нуля неизвестно.

E™le(eV) SLIPH4M SLIPH4M

из рабо-

ты [5] Ev

0 0,0 4,477241 0,0 4,477244 0,0

1 0,5159 3,961056 0,516185 3,961065 0,516179

2 1,0025 3,474067 1,003174 3,474081 1,003163

3 1,4606 3,015652 1,461588 3,015671 1,461573

4 1,8906 2,585501 1,891739 2,585524 1,891720

5 2,2925 2,183467 2,293774 2,183492 2,293751

6 2,6662 1,809706 2,667535 1,809733 2,667510

7 3,0112 1,464706 3,012535 1,464735 3,012509

8 3,3266 1,149392 3,327849 1,149422 3,327822

9 3,6109 0,865141 3,612100 0,865171 3,612073

10 3,8622 0,613996 3,863244 0,614026 3,863218

11 4,0774 0,398809 4,078432 0,398835 4,078408

12 4,2530 0,223542 4,253699 0,223565 4,253679

13 4,3831 0,093728 4,383513 0,093744 4,383499

14 0,017056 4,460185 0,017064 4,460180

Помимо вычисленных значений Ет, соответствующих экспериментальным данным, в таблице приведено собственное значение Е14 задачи (33), (36), (37), вычисленное с помощью рассматриваемого алгоритма (волновая функция у14(х) и потенциал У(х) изображены на рисунке), для которого

нет соответствующего экспериментального уровня энергии. Следовательно, вычисленная часть спектра задачи (33), (36), (37) перекрывает экспериментальный спектр, то есть пакет БЫРИ4М может успешно применяться в задачах, аналогичных рассмотренной.

Для у=14 точность решения 0(ИР) (р=4) подтверждена вычислениями на последовательности трех сгущающихся сеток с шагами Ь=0,005 (N=2001), И/2, И/4 и получением значения отношения Рунге для zh=(Ah, уь): 2 — 2

ст = —--^ м 27,5 — 45,0,

гУг — ^ то есть порядок р=^2ст>4.

Расчеты выполнялись на PC (Intel(R) Pen-tium(R) Mprocessor 1.8GHz) в системе Maple версии 13. Переменное окружение Digits управляет числом цифр, которые Maple использует при вычислениях с числами с плавающей запятой. При Digits=10 алгоритм в пакете SLIPH4M по умолчанию не сходится, поэтому в пакете SLIPH4M Di-gits=20. Начальное приближение дает невязку по формуле (14) 8к«10+2-10-2. Итерации осуществлялись с выбором параметра тк согласно формуле (29) (т0=0,1), причем в процессе уточнения невязка достигала величины «10-8-10-11 в среднем за 11 итераций.

Авторы благодарят профессора И.В. Пузыни-на (ОИЯИ, г. Дубна) за постоянный интерес, помощь и поддержку.

Литература

1. Самарский А.А. Теория разностных схем. М.: Наука, 1983. С. 258-276.

2. Пузынин И.В. [и др.]. Обобщенный непрерывный аналог метода Ньютона для численного исследования некоторых квантово-полевых моделей; Физика элементарных частиц и атомного ядра (ЭЧАЯ). 1999. Т. 30. Вып. 1. С. 210-265.

3. Пузынин И.В., Пузынина Т.П., Во Чонг Тхак. SLIPM -программа на языке MAPLE для численного решения частичной проблемы Штурма-Лиувилля на основе непрерывного аналога метода Ньютона // Вестн. РУДН: сер. Математика. Информатика. Физика. 2010. № 2. Вып. 2. С. 90-98.

4. Пузынин И.В., Пузынина Т.П., Стриж Т.А. SLIPH4 -программа для численного решения задачи Штурма-Лиувилля // Сообщения ОИЯИ, P11-87-332, Дубна, 1987.

5. Sharp T.E. Potential-energy curves for molecular hydrogen and its ions // Atomic Data and Nuclear Data Tables, 1971. Vol. 2, pp. 119-169.

УДК 378.146:519.87

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

И.Н. Елисеев, к.т.н. (Южно-Российский государственный университет экономики и сервиса, г. Шахты,

егп@^ззи-ги)

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

Ключевые слова: модель дихотомической матрицы, тест, индикатор теста, латентный параметр, модель Раша.

При исследовании широкого круга проблем, связанных с моделированием и параметризацией диагностических тестов [1], необходимо иметь модель дихотомической матрицы результатов тестирования, используя которую, можно было бы оценить генеральные значения Pj и 01 латентных параметров однопараметрической дихотомической модели Раша [2, 3]. Элементы такой матрицы

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