Библиотека алгоритмов1б-50б-сборник Москва1975 В книге приводятся описания алгоритмов по самому широком] кругу вопросов прикладной математики и программирования на алг» ритмическом языке АЛГОЛ-60, публиковавшихся ранее, в журнал* «Communications ,of the ACM» (США) под номерами 1—50, переведении} на русский язык, исправленных, улучшенных и отлаженных на ЭВМ авторами данного выпуска. Книга является настольной для широкого круга специалистов, про* граммирующих для электронных вычислительных машин. Предисловие
Бурное развитие электреннэ-вычислительной техники в последние десятилетия поставило .перед математиками проблему обеспечения вычислительных .машин большими комплектами сложных, хорошо отработанных и проверенных алгоритмов, удобных для машинной реализации. Решение этой проблемы путем накопления библиотек стандартных программ в машинном коде или в автокоде становится все менее -и менее эффективным по следующим причинам.
1. По мере возрастания таких библиотек растет их привязанность к кодам (системам команд) конкретных машин, все более трудоемким -становится любой перевод библиотек на язык (код) других машин; это, IB свою очередь, приводит к возрастанию консервативности систем команд и самих машин, препятствует их совершенствованию.
2. Вновь появляющиеся стандартные программы приобретают все. более и более специальный характер; сужается круг лиц, использующих эти программы, а следовательно, уменьшается возможность надежной проверки, возрастает вероятность невыявденных ошибок. Алгоритмы становятся все менее оптимальными в отношении их длины, затрачиваемого машинного времени и достигаемой ими точности.
Использование универсальных алгоритмических языков, получивших в настоящее время широкое распространение, таких как АЛГОЛ-60 [7, 8, 14, 19, 20, 21, 22] и ФОРТРАН [65, 66, 67], для описания алгоритмов открыло возможность устранения вышеуказанных затруднений. Удобным органом международного обсуждения и совершенствования алгоритмов становится в настоящее время журнал «Communications of the ACM» [1], регулярно публикующий (начиная с 1960 г.) разнообразные алге-ритмы на алгоритмических языках, а также подтвержде-
3
Оглавление
Предисловие............ 3
Алгоритм 16. Одновременное интегрирование нескольких
таблично заданных функций [D 1] ..... 9
Свидетельство к алгоритму 26......... 11
Алгоритм 36. Нахождение комплексных корней полинома
методом Берстоу — Хичкока [[С 2]....... 11
Алгоритм 46. Нахождение корней непрерывной функции методом деления интервала пополам {С 5].....• 17
Алгоритм 56. Вычисление функции Бесселя первого рода разложением в ряд [S 18].......... 19
.Свидетельство к алгоритму 66 . '....... 20
Алгоритм 76. Алгоритм Евклида для нахождения общего
наибольшего делителя двух целых чисел [А 1] ... 20
Алгоритм 86. Суммирование рядов по Эйлеру [С 6] ... 21
Алгоритм 96. Интегрирование методом Рунге — Кутта (D 2] 23
Алгоритм 106. Значения полинома Чебышева Тп(х) [S 22] . 29
Алгоритм 116. Значения полинома Эрмита [S 15] ... 31
Алгоритм 126. Значения полинома Лагерра Ln(x) [S 22] . 32
Алгоритм 136. Значения полинома Лежандра i[S 16] ... 34 Алгоритм 146. Комплексная интегральная показательная
функция |S 13]............ 35
Свидетельство к алгоритму 156 ..... 38
Свидетельство к алгоритму 166 . . ..... 38
Алгоритм 176. Решение трехдиагоналыюй системы линейных алгебраических уравнений (с сохранением входных массивов) [F 4]............ 39.
Алгоритм 186. Рациональная интерполяция с помощью непрерывных дробей (Е 1].......... 40
Алгоритм 196. Число сочетаний (биномиальные коэффициенты) [S 03] ............. 43
Алгоритм 206.. Вещественная интегральная показательная
функция [S 13]............ 44
Свидетельство к алгоритму 216........ 45
Алгоритм 226. Функция Риккати — Бесселя первого и второго
рода JS 17]............. 46
Алгоритм 236. Математическая сортировка [Ml].. . . 51 _ Алгоритм 246. Решение трехдиагональной системы линейных
алгебраических уравнений (с экономией памяти) (F 4] . 5.4 Алгоритм 256. Нахождение вещественных корней произвольной функции методом Мюллера {С 5]..... 55
Алгоритм 266. Нахождение корня уравнения y=f(y) [С 5] 58
Алгоритм 276. Распределение -(Н]........ 63
Свидетельство к алгоритму 286......... 70
Алгоритм 296. Преобразование полинома при замене аргумента к на at+b [С 1]........... 70
Алгоритм 306. Нахождение комплексных корней полинома
с использованием формул Берстоу — Ньютона (С 2] . 72
Алгоритм 316. Гамма-функция (S 14]....... 78
Алгоритм 326. Вычисление кратных интегралов по Гауссу[D 1] 80
Алгоритм 336. Вычисление факториала [S 03] .... 88
Свидетельство к алгоритму 346........ 89
Алгоритм 356. Решето Эратосфена для нахождения простых
чисел [А 1].............9°
Алгоритм 366. Вычисление таблицы значений полинома Чебы-
шева {S 22].............92
Алгоритм 376. Понижение степени аппроксимирующего полинома на интервале [О, Л] [Е 2]........93
Алгоритм 386. Понижение степени аппроксимирующего поли-,
нома на интервале I—ft, ft] [Е 2] . •. . . • • "5 Алгоритм 396. Вычисление элементов нормированной корреляционной матрицы 1Q 2] . .........97
Алгоритм 406. Планирование критического пути (анализ сети
ПЕРТ) [Н].............100
Алгоритм 416. Вычисление определителя (F 3] . . . -._ 1UJ
Алгоритм 426. Обращение матрицы i[F 1]......" Т07
Алгоритм .436. Метод Краута для решения системы линейных алгебраических уравнений JF 4] . . ... . . Н.2
Свидетельство к алгоритму 446 .........117
Свидетельство к алгоритму 456........117
Алгоритм 466. Экспоненциальная функция комплексного аргумента [В 3] ............118
Алгоритм 476. Присоединенные функции Лежандра первого
рода для вещественных и мнимых аргументов IS 16} . 118 Алгоритм 486. Логарифм комплексного числа [В 3] . . 123 Алгоритм 496. Сферическая функция Неймана (функция
Стокса) {S 17J............ 125
Алгоритм 506. Обращение конечного сегмента матрицы
Гильберта (F 1] .....:.....127
Приложение 1. Подтверждения и замечания к алгоритмам,
опубликованным в предыдущей серии.....131
Приложение 2. Тематический указатель алгоритмов (1971 г.) 146 Список литературы, которой пользовались авторы выпуска . 171 Список литературы, на которую ссылаются авторы исходных
алгоритмов.............173


Hosted by uCoz