Агеев М. И., Алик В. П., Марков Ю. И. Библиотека алгоритмов 516—1006. (Справочное пособие.) Вып. 2. М., «Сов. радио», 1976, 136 с. В книге приводятся описания алгоритмов по широкому кругу вопросов прикладной математики и программирования на алгоритмическом языке АЛГОЛ-60, публиковавшихся первоначально в журнале «Communications of the ACM» (США) под номерами 51—100, переведенных на русский язык, исправленных, улучшенных и отлаженных на ЭВМ авторами данного выпуска. Каждый алгоритм снабжен подтверждениями и свидетельствами, содержащими примеры применения, результаты отладки, критические оценки и сравнительные характеристики публикуемых алгоритмов.
В качестве приложений к выпуску приводится алгоритм «Как программировать игру в шахматы», а также замечания и подтверждения к ранее опубликованным алгоритмам, среди которых особое место занимает статья Р. Лондона «Доказательство алгоритмов — новый вид подтверждения».
Книга является настольной для специалистов различного уровня, связанных с работами на ЭВМ.
Рис. 7, табл. 32, библ. 77 назв.
Предисловие
Данный выпуск служит продолжением серии, .начатой выпуском «Библиотека алгоритмов 16—506» [38], и включает в себя алгоритмы, полученные в результате дальнейшего совершенствования алгоритмов выпуска «Алгоритмы (51—100)» [23]. Последний содержал алгоритмы 51а—ЮОа, являющиеся, в свою очередь, результатом переработки соответствующих алгоритмов журнала «Communications of the ACM» (САСМ) [17]. К 'каждому из алгоритмов данного выпуска прилагаются соответствующие «Подтверждения» и «Замечания» как из вышеуказанного журнала, так и советских пользователей алгоритмами, а также «Свидетельства», составленные авторами выпуска. Алгоритмы публикуются здесь на эталонном алгоритмическом языке АЛГОЛ-60 [21], описываемом во многих учебниках [13—16, 27, 28]. Там, где это возможно без заметного ухудшения алгоритмов, они предварительно переводились авторами выпуска на сокращенный АЛГОЛ-60 [12] с некоторыми его расширениями в сторону полного АЛГОЛа [допускались: 1) возведение целых чисел чв любую целую степень, 2) различение идентификаторов по всем содержащимся в них символам, 3) операция -г- и 4) условное именующее выражение]. В частности, все алгоритмы здесь записаны с использованием только строчных букв латинского алфавита *. Прописные буквы используются только в алгоритме 50CJ (см. приложение 1) для идентификаторов, являющихся русскими словами.
В свидетельствах к алгоритмам -указывается оригинал переработанного алгоритма, перечисляются виды работ, проведенных над алгоритмом, внесенные в него изменения и приводятся результаты контрольного решения по данному алгоритму. Работы, которые проводились над всеми алгоритмами, для краткости называются здесь «ординарной переработкой». К ней относится перевод на русский язык комментариев, подтверждений и замечаний, придание алгоритму наглядной, удобочитаемой формы путем применения однотипной ступенчатой записи по правилам, опубликованным в статье [22], и использования идентификаторов интернационального характера, а также перевод алгоритмов на сокращенный АЛГОЛ. Все другие модификации алгоритмов (например, внесение в них исправлений, сокращение их записи, оптимизация и т. д.), а также отличия используемых языковых средств от сокращенного АЛГОЛа [12] и те случаи, когда алгоритмы составлялись заново, оговариваются в свидетельствах особо.
Предыдущий выпуск сопровождался тематическим указателем алгоритмов, появившихся в советской и зарубежной печати к моменту составления выпуска. Алгоритмы в этом тематическом указателе труп-
СОДЕРЖАНИЕ
Предисловие..................г 3~
Алгоритм 516. Корректировка обратной матрицы после изменения одного элемента в прямой матрице [F1],............. &
Алгоритм 526. Генератор тест-матриц [F1J........... 7
Алгоритм 536. Извлечение корней п-н степени из комплексного числа [В4] . . 9
Свидетельство к алгоритму 546 [S14]............ 11
Алгоритм 556. Полный эллиптический интеграл первого рода [S21J .... 11
Алгоритм 566. Полный эллиптический интеграл второго рода [S21]..... 12"
Алгоритм 576. Функций Томсона ber и bei [S19],.......... 14
Алгоритм 586. Обращение матрицы методом Гаусса-Жордана [F1], .... 15
Свидетельство к алгоритму 596 [С2]............_ 17
Алгоритм 606. Вычисление интеграла по Ромбергу [D1]....... 17
Алгоритм 616. Процедуры интервальной арифметики [А1],....... 21
Алгоритм 626. Последовательность присоединенных функций Лежандра второго
рода IS 16]................. Г . 26-
Алгоритм 636. Разделение элементов массива [Ml]......... 29
Алгоритм 646. Быстрая сортировка (рекурсивная процедура) [Ml] .... 31 Алгоритм 656. Поиск элемента в сортируемом массиве (рекурсивная процедура) [Ml].................. 32'
Алгоритм 666. Обращение симметричной матрицы методом квадратных корней [F1] 33 Алгоритм 676. Умножение уплотненной симметричной матрицы на прямоугольную fFl].................... 36
Свидетельство к алгоритму 686 [А1]............. 37
Свидетельство к алгоритму 696 [Н],............. 38
Алгоритм 706. Интерполяция по Эйткену [Е1].......... 38
Свидетельство к алгоритму 716 [G6].............. 39
Алгоритм 726. Генератор композиций [А1]........... 39
Алгоритм 736. Неполные эллиптические интегралы [S21J....... 40
Алгоритм 746. Аппроксимация с помощью полиномиальной кривой данной степени, проходящей через данные точки (метод наименьших квадратов) [Е2] 44
Алгоритм 756. Разложение многочлена на множители [С2]....... 49
Свидетельство к алгоритму 766 [Ml]............. 51
Алгоритм 776. Интерполяция, дифференцирование и интегрирование функций
[Dl, D4, Е1].................. 52
Алгоритм 786. Корни полиномов с целыми коэффициентами, получаемые в форме простых дробей [C2J............... 56
Алгоритм 796. Коэффициенты полиномиальной аппроксимации производной любого порядка от табличной функции [D4].......... 58
Алгоритм 806. Вычисление обратной гамма-функции с точностью до 10 цифр[314] 61
Свидетельство к алгоритмам 816, 826, 836 [G7J.......... 62
Алгоритм 846. Вычисление интеграла по Симпсону от таблично заданной функции [D1]................... 63
Алгоритм 856. Вычисление собственных значений и собственных векторов симметричной матрицы методом Якоби [F2J.......... 64
Свидетельство к алгоритмам 866 и 876 [06].......... 71
Свидетельство к алгоритмам 886, 896 и 906 [S20]......... 72'
Свидетельство к алгоритму 916 [Е2]............. 72
Алгоритм 926. Решение системы линейных алгебраических уравнений и обращение матрицы [F4]................ 72
Свидетельство к алгоритму 936 (А1].............. 74
Алгоритм 946. Генератор сочетаний [G6]........... 75
Свидетельство к алгоритму 956 {A1J............. 76
Алгоритм 966. Матрица причинно-следственных отношений [Н]..... 76
Алгоритм 976. Кратчайший путь [Н],............. 77
Алгоритм 986. Комплексный криволинейный интеграл [D1]....... 79
Алгоритм 996. Вычисление символа Якоби [А1]........... 82
Свидетельство к алгоритму 1006 [02]............ 83
Приложение 1. Алгоритм 50 CJ. Как программировать игру в шахматы (ZJ . . 84 Приложение 2. Подтверждения и замечания к алгоритмам, опубликованным
в предыдущих выпусках............... 118
Список литературы, которой пользовались авторы выпуска...... 130
Список литературы, на которую ссылаются авторы исходных алгоритмов . . 131
133-


Hosted by uCoz