Научная статья на тему 'Библиотека численных методов'

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

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

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

A library is constructed on principles of object-oriented programming. It is free from some problems of Borland Pascal 7.0 such as lack of dynamic arrays and functional ones.

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

A LIBRARY OF NUMERICAL METHODS

A library is constructed on principles of object-oriented programming. It is free from some problems of Borland Pascal 7.0 such as lack of dynamic arrays and functional ones.

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

УДК 512.8

БИБЛИОТЕКА ЧИСЛЕННЫХ МЕТОДОВ

© Д.В. Слетков

Sletkov D.V. A library of numerical methods. A library is constructed on principles of object-oriented programming. It is free from some problems of Borland Pascal 7.0 such as lack of dynamic arrays and functional ones.

Численные методы широко применяются во всех областях прикладной науки. Это обусловлено необходимостью получения ответа в виде числа или числовой последовательности. Данная библиотека представляет собой набор модулей, реализованных на Borland Pascal 7.0. В отличие от большинства математических пакетов в библиотеке выбор метода решения задачи определяется только пользователем. Библиотека построена на принципах объектно-ориентированного программирования. Она также свободна от некоторых проблем Borland Pascal 7.0 (отсутствие динамических массивов, функциональных массивов).

Библиотека включает в себя 12 модулей:

1. Модуль MathType [1]. Глобальные определения, основные константы, система и коды ошибок. Поддержка мыши. Библиотека содержиг систему обработки ошибок.

2. Модуль Math [ 1). Элементарные вычисления (факториал, гиперболические функции, тригонометрические функции и т. п.). Преобразование углов.

3. Модуль Matrix [2-9]. Операции с векторами (сумма, разность, произведение векторов; вычисление норм, моментов, статистических параметров вектора) и матрицами (сумма, разность, произведение матриц; вычисление норм, моментов, статистических параметров, определителя, следа матрицы; разложение Холец-кого). Решение систем линейных уравнений (методом Гаусса, методом квадратных корней для положительно определенной матрицы). В данной библиотеке используются динамические массивы (числовые и функциональные), это позволяет обобщап» задачи на случай различных размерностей и динамически распределять память. Максимальная размерность вектора 16384, матрицы 16384-16384. (Обычно размерность матрицы ограничена объемом свободной оперативной памяти.)

4. Модуль Difflnt [2, 10-12). Дифференцирование функции одной и многих переменных. Интегрирование функций с использованием квадратур Гаусса, Ньютона -Котекса, Маркова, Чебышева. Интегрирование функций с

весом Чебышева - Jlarrepa J f(x)e~x dx , Чебышева-

о

"2 +1 I----

Эрмита jf(x)e~x dx , Эр мша j f (х)у]\-х2 dx . В

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

5. Модуль Polynom [13]. Операции с многочленами (сложение, вычитание, умножение, деление, дифференцирование, интегрирование). Получение ортогональных многочленов: Лежандра, Даггера, Эрмита, Якоби, Чебышева 1-го рода, Чебышева 2-го рода.

6. Модуль Solve [4, 6, 8]. Решение системы нелинейных уравнений методом Ньютона - Рафсона. Регрессия по методу наименьших квадратов (полиномиальная или на произвольном функциональном базисе). Получение собственных значений матрицы (методом вращений Якоби и методом шггерполяции). Решение общей проблемы собственных значений методом интерполяции.

Модуль SpecialFunction [14, 15]. Вычисление специальных математических функций: Гамма-функция

r(z) = le~ltI~ldt = f (In /-1 y'dt = lim-----------—-.

о 0 »—z(z+1)-(z+m)

2 x _ -

Интеграл вероятности Erf (x) = —j= je ' dt. Дилога-

X

рифм Эйлера L(x)- jt~' ln(l +t)dt. Функции Бесселя

Л(г) = І

2 m+v

w=0

(-1Г0Т/2) т\Г(т + v + l)

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

Jv(2)cos(V7U)-J_v(z)

} v(z) = —----------------- --- для V =0 . Инте-

sin( VTC )

. , . Tarctg(t) ,

тральный арктангенс Ar(x) = \------------at. Относи-

о t

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

составляет КГ14. Время вычисления данных функций позволяет активно использовать их в расчетах рядов, построения графиков и т. п.

8. Модуль Complex [2]. Операции с комплексными числами (сложение, вычитание, умножение, деление, тригонометрические функции, гиперболические функции, логарифм, экспонента).

9. Модуль Numbers [2]. Поддержка произвольных систем счисления (арифметические операции, преобразование). Нахождение НОД, НОК. Разложение состав-

ного числа на простые числа. Нахождение делителей числа. Теоретико-числовые функции Эйлера.

10. Модуль Statistic [2, 16-17]. Статистические распределения (равномерное, Рэлея, экспоненциальное, нормальное, логарифмически нормальное, Парето, Коши) и их функции (плотность вероятности, интегральная вероятность, обратная вероятность, генерация случайного вектора распределения).

11. Модуль Geometry [2]. Геометрические объекты в 2-х мерном пространстве и их преобразования. Векторные операции. Построение геометрических объектов на плоскости.

12. Модуль MathGraph [2]. Математическая графика. Построение графика функции, 1рафика параметрической функции, зависимости двух массивов, гипо-строграммы, интегральной гипосгограммы, график векторного поля.

ЛИТЕРАТУРА

1. Фаронов В.В. Турбо Паскаль 7.0: Учеб. пос. М.: Нолпдж, 1997.432 с.

2. Бахвалов Н.С., Жидков Н.П., Кобельников ГМ. Численные методы. М.: Лаборатория Базовых Знаний, 2000. 624 с.

3. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М.: Наука, 1984.

4. Фадеев Д.К. Фадеева В.Н. Вычислительные методы линейной алгебры. М.: Физматгиз, 1963.

5. Ганпшахер Ф.Р. Теория матриц. М.: Наука, 1967

6. Уилкинсон ДжЛ'. Алгебраическая проблема собственных значении: Пер. с англ. М.: Наука, 1970.

7. Райс Дж.Р. Матричные вычисления и математическое обеспечение: Пер. с англ. М.: Мир, 1984.

8. ГолубДж.. ВанЛоун Ч. Матричные вычисления Пер. с англ. М.: Мир. 1999. 548 с.

9. Форсайт Дж.. Молер К Численное решение систем линейных алгебраических уравнении: Пер. с англ. М.: Мир, 1969.

10. Марчук Г.И. Методы вычислительной математики. М.: Наука, 1980. 536 с.

11. Крылов В.И. Приближенное вычисление интегралов М.: Наука, 1967.

12. Крылов В.И., Шульгина Л.Т. Справочная книга по численному интегрированию. М.: Наука, 1966.

13. Суашин П.К Классические ортогональные многочлены. М.: Наука, 1979.

14. Люк Ю.Л. Специальные математические функции и их аппроксимация: Пер. с англ. М.: Мир, 1980.

15. Справочник по специальным функциям с формулами, графиками и математическими таблицами: Пер. с англ. М.: Наука, 1979. 832 с.

16. Мэйндоналд Дж. Вычислительные алгоритмы в прикладной статистике: Пер. с англ. М.: Финансы и статистика, 1988

17. Ермаков СМ.. Михайлов Г.А. Курс статистического моделирования М.: Наука. 1976. 320 с.

Поступила в редакцию 26 ноября 2001 г.

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