Кратко
- FORMAC представлял формулы как структуры, над которыми можно выполнять формальное дифференцирование, подстановку, раскрытие и упрощение, а затем выдавать форму для FORTRAN.
- Полученное выражение подтверждало применение правил к определённому представлению; оно не доказывало эквивалентность во всех областях, численную устойчивость, безошибочность программы или научный вывод.
- Jean E. Sammet инициировала и возглавила проект, но вклад E. R. Bond, Robert G. Tobey, Stephen N. Zilles, других специалистов IBM и сообщества символьных вычислений остаётся самостоятельным.
В одном из задокументированных процессов формула сначала существовала как модель, затем как результат преобразований FORMAC, потом как текст подпрограммы FORTRAN IV и, наконец, как выполняемый численный расчёт. Эти состояния были связаны, но ни одно не означало автоматически, что следующее уже подтверждено.
Computer History Museum сообщает, что Jean E. Sammet пришла в IBM в 1961 году и руководила созданием FORMAC, получившего широкое применение в символьной математике. В устной истории Sammet объясняла исходную идею: добавить символьные возможности к существующему численному языку. FORTRAN был практичной основой, но одновременно задавал ограничения для нового представления.
Вычислять не только значение, но и форму
В статье Sammet и E. R. Bond 1964 года Introduction to FORMAC формулы можно именовать и преобразовывать программно. Формальное дифференцирование, замена переменных, снятие скобок, раскрытие, упрощение и последующая численная оценка становятся операциями над структурой.
Численный FORTRAN обычно начинает работу после присвоения переменным значений. FORMAC мог сначала изменить устройство выражения. Тем самым сама формула стала исполняемым рабочим материалом.
В обзоре 1966 года Sammet рассматривает более широкую область: интегрирование, упрощение, отображение и редактирование, арифметику повышенной точности, пакетные и интерактивные системы, прикладные программы. FORMAC был важным достижением внутри сообщества, а не единственным источником символьных вычислений.
Работа IBM тоже имела коллективный характер. Ретроспектива относит первые концепции к июлю 1962 года, когда Sammet работала при содействии Robert G. Tobey. В августе появилась внутренняя записка, в декабре — спецификация, в апреле 1964 года — полная система, а в ноябре — выпуск. Библиографическая запись экспериментального компилятора 1964 года называет Elaine R. Bond, Marc A. Auslander, S. Grisoff, Robert Kenney, Mat Myszewski, Sammet, Tobey и Stephen N. Zilles.
Граница FORTRAN была частью инженерной архитектуры
Техническая записка NASA 1968 года показывает реальное применение. Линейную модель блок-схемы задавали символически. FORMAC исключал переменные, решал уравнения, подставлял системные отношения и при наличии памяти раскрывал сложные рациональные выражения.
Затем уравнения пробивались на картах в форме, пригодной для вставки в подпрограмму FORTRAN IV. Завершающие символы FORMAC и некоторые неподдерживаемые способы записи степеней удалялись. FORTRAN компилировал подпрограмму и по численным входам вычислял действительную и мнимую части, модуль и фазу.
Разделение было намеренным: повторные численные вычисления в символьной среде шли медленно и требовали много памяти для выражений. FORMAC сокращал алгебру, FORTRAN выполнял серии численных расчётов. Удобный переход не отменял различие их результатов.
Документ фиксирует пределы: только линейные системы, без коэффициентов, меняющихся во времени; произвольная функция требует пользовательской функции FORTRAN; расширение может остановиться из-за памяти. Геофизическая работа того же периода также описывает FORMAC как символьный препроцессор, а не окончательную инстанцию истинности.
Формальное преобразование имеет область действия
Сокращение множителя может скрыть точку, где исходный знаменатель равен нулю. Корни, логарифмы и нецелые степени имеют области определения и ветви. Точное алгебраическое преобразование иногда ухудшает поведение с плавающей точкой. Компилируемый код может содержать ошибочную модель, неверную пользовательскую функцию или плохое масштабирование. Устойчивое число может точно вычислять непригодную научную гипотезу.
Поэтому необходимо хранить отдельно исходную формулу и предпосылки; версию движка и правила; преобразованное выражение; сгенерированный текст FORTRAN; компилятор, параметры и двоичный файл; входы, точность и выход; итоговую предметную оценку. Каждый этап добавляет доказательство, но не уполномочен сертифицировать следующий.
Границы вклада не менее важны
В ретроспективе 1993 года The Beginning and Development of FORMAC Sammet отдельно рассматривает концепцию, дальнейшую разработку, родственные системы, управление программным обеспечением в IBM и влияние. Такая структура не позволяет растворить команду в биографии лидера.
Sammet определила и возглавила языковой проект. Bond стала соавтором введения и подготовила раннее руководство, на которое ссылалась NASA. Tobey помогал с исходными концепциями и алгоритмами. Zilles и остальные зафиксированные авторы участвовали в экспериментальном компиляторе. Параллельные проекты расширяли возможности и критерии сравнения.
Наследие FORMAC — не машина, которая объявляла математику доказанной. Это рабочая связь между символьной алгеброй и обычной программой. Точность требует, чтобы при каждом переходе менялось и явное описание силы доказательства.
Источники
- Computer History Museum: Jean E. Sammet
- Sammet и E. R. Bond, Introduction to FORMAC
- Jean E. Sammet, Survey of Formula Manipulation
- Jean E. Sammet, The Beginning and Development of FORMAC
- Запись ACM о коллективной статье 1964 года
- Устная история Jean E. Sammet
- Ретроспектива IBM Journal о FORMAC
- NASA, Use of FORMAC in a Program for Block Diagram Reductions
- Применение FORMAC в геофизике
- IEEE Computer Society: Jean E. Sammet
- Heng Lu, Running-Code Primacy
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
