Компьютерная алгебра (курс лекций)



Скачать 173.9 Kb.
Pdf просмотр
Дата11.04.2017
Размер173.9 Kb.
Просмотров129
Скачиваний0

Компьютерная алгебра
(курс лекций)
Игорь Алексеевич Малышев
Computer.Algebra@yandex.ru
(С) Кафедра «Компьютерные системы и программные технологии»,
Санкт-Петербургский государственный политехнический университет

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 2
Лекция 5
Системы компьютерной алгебры :
достижения и перспективы

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 3
Содержание лекции
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 4
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 5
Классификация СКА
Системы компьютерной математики:
табличные процессоры:
Microsoft Excel, GNU Calc и др.
системы для статистических расчётов:
SPSS, Statistica и др.
системы компьютерной алгебры
системы для моделирования, анализа и принятия решений (в том числе, интеллектуальные):
GPSS, AnyLogic и др. (DSS, NLP и другие AI-системы)
универсальные математические системы:
Matlab, MathCAD и др.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 6
Классификация
СКА
Классификационные признаки:
функциональное назначение тип архитектуры средства реализации области применения интегральные оценки качества

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 7
Классификация СКА
Классы СКА
по функциональному назначению
Специализированные
СКА
СКА
общего назначения
Решение задач для одного или нескольких смежных разделов символьной математики.
Примеры:
теория групп – GAP
тензорная алгебра – Cadabra
Решение задач для большинства основных разделов символьной математики.
Примеры:
Maxima, Axiom, Maple,
Mathematica, Sage, Yacas

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 8
Классификация СКА
Классы СКА
по типу архитектуры
Встраиваемое
расширение
(плагин) для
языка и / или
системы
программи-
рования
Open
Source,
GNU GPL,
мульти-
плат-
формные
СКА
СКА
классической
архитектуры:
системное
ядро +
прикладные
расширения
Программный
пакет для
расширения
базовой
прикладной
математической
системы
Примеры:
Axiom, Maple,
Mathematica
Пример:
Maple (ядро) для
Matlab и MathCAD
Примеры:
Maxima (Lisp),
PARI/GP (C)
Пример:
MathEclipse / Symja
– Java-библиотека

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 9
Классификация СКА
Классы СКА
по средствам реализации
аппаратно-программные программные
Язык АНАЛИТИК
Язык LISP
Язык C / C++
АНАЛИТИК-2010
REDUCE
MACSYMA
muMATH
ЭВМ серии «МИР»
MATHEMATICA
DERIVE
MAXIMA
MAPLE

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 10
Классификация СКА
Классы СКА
по областям применения
Микрокалькуляторы
Примеры:
Hewlett-Packard,
Texas Instruments,
Casio,
Citizen
Примеры:
iPhone и Windows эмуляторы научных калькуляторов HP
Мобильные устройства и
web-сервисы Интернет
Примеры:
БПФ- процессоры для систем
ЦОС
Спецпроцессоры
Образование
и научные
исследования
Примеры: пакеты СКА

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 11
Классификация СКА
Классы СКА
по интегральным оценкам качества
архитектурная расширяемость
контролируемая достоверность вычислений
унификация реализации,
информационная совместимость
производительность и масштабируемость

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 12
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 13
Типовая архитектура
Библиотеки
алгоритмов
Арифметика
(числа + полиномы)
Пользовательские
интерфейсы
ЯДРО
Абстрактная
алгебра
Линейная
алгебра
Аналитическая
геометрия
Текст
Математика
Графика
Справочная система
Пакеты
расширения

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 14
Типовая архитектура
Функциональное назначение блоков:
Ядро
содержит машинные коды реализаций операторов и встроенных функций СКА, обеспечивающих выполнение аналитических (символьных) преобразований математических выражений на основе системы определённых правил.
Библиотеки алгоритмов
содержат каталогизированные (по типам обрабатываемых абстрактных объектов – числа, функции, алгебры и т.п. и/или методам вычислений – аналитические, численные, смешанные) реализации алгоритмов решения типовых математических задач. Они функционально расширяют ядро СКА.
Пакеты расширения
обеспечивают различные формы адаптации СКА к классам математических задач, внешнему ПО (операционным системам, графическим пакетам и т.п.) и целям пользователей.
Пользовательские интерфейсы
обеспечивают поддержку всех функций, необходимых для информационных и управляющих взаимодействий между
СКА и пользователями (людьми, программами, аппаратными средствами).
Справочная система
содержит описание функциональных возможностей и примеров работы в СКА, информационные сообщения о текущем состоянии системы, а также сведения о математических основах алгоритмов СКА.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 15
Типовая архитектура
Требования к ядру СКА:
Целевой показатель – производительность.
Машинно-ориентированный язык реализации
(С, С++).
Оптимизация машинного кода (в том числе, с помощью частичной реализации функциональности СКА на языке ассемблера или аппаратно).
Целевой показатель – достоверность.
Функциональная полнота операторов описания и преобразования математических объектов.
Ограничение (в идеале – запрет) модификации ядра пользователями СКА.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 16
Типовая архитектура
Требования к библиотекам алгоритмов:
Целевой показатель – производительность.
Распределение состава поддерживаемых СКА алгоритмов символьной математики между ядром и библиотеками по принципу баланса производительности и функциональности.
Исключение из библиотек наименее эффективных (сложных) алгоритмов и алгоритмов решения уникальных
(специализированных) математических задач.
Целевой показатель – функциональность.
Поддержка в СКА средств модификации существующих и создания новых библиотек (в том числе, непривилегированными пользователями СКА).
Обеспечение возможности программирования алгоритмов не только на языке самой СКА, но и на языке реализации СКА.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 17
Типовая архитектура
Требования к пакетам расширения:
Целевой показатель – функциональность.
Наличие у СКА собственного языка программирования приложений, обеспечивающего одновременно средства абстракции данных для описания произвольных математических объектов и управляющие конструкции достаточные для описания произвольных алгоритмов.
Наличие в СКА средств динамической (в идеале – без рестарта
СКА) конфигурации состава и приоритетности выбора алгоритмов
(как из базовых библиотек, так и из пакетов расширения) решения
(математических и нематематических) задач любыми категориями пользователей СКА.
Целевой показатель – совместимость.
Унификация интерфейсов сопряжения пакетов расширения с СКА, а также (в случае необходимости) непосредственно между собой.
Открытость исходного кода реализации СКА для нейтрализации противоречивых ситуаций взаимодействия с пакетами расширения.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 18
Типовая архитектура
Требования к пользовательским интерфейсам:
Целевой показатель – функциональность.
Унификация элементов наблюдения и управления СКА в соответствии с принципами обслуживания типовых прикладных программ в среде операционной системы (перемещаемые и масштабируемые окна документов, диалоговые и информационные окна, кнопки управления, доступ к периферийным устройствам –
принтерам, сетевым адаптерам и т.п.).
Возможность настройки архитектуры пользовательского интерфейса в зависимости от квалификации пользователя
(начинающий, профессионал, разработчик СКА), специфики решаемых задач (обучение, расчёты, исследования, сопряжение с внешним ПО), вычислительных и графических мощностей инструментальных платформ (суперкомпьютеры, персональные компьютеры, многофункциональные мобильные устройства и т.п.).
Наличие встроенного языка программирования высокого (или сверхвысокого) уровня с расширяемой функциональностью.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 19
Типовая архитектура
Требования к справочной системе (1):
Целевой показатель – информативность.
Локализация всех справочных материалов:
Одноязычная (национальная), выбираемая пользователем при инсталляции
СКА.
Двуязычная:

по умолчанию – интернациональная (англоязычная);

альтернативная – национальная (по выбору пользователя).
Обеспечение системы получения справок с вложенными уровнями абстракции и/или конкретизации информации:
Краткая контекстная справка о функциональном назначении выбранного элемента СКА.
Справка о синтаксисе и семантике операторов и функций языка СКА (с поясняющими примерами).
Справка о схемах решения типовых задач компьютерной алгебры в среде
СКА.
Справка о математических основах алгоритмов компьютерной алгебры.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 20
Типовая архитектура
Требования к справочной системе (2):
Целевой показатель – информативность.
Обеспечение полноты справочной системы:
описание всех, без исключений, функций СКА
и эффективности поиска сведений об объекте СКА:
в основном справочнике – по имени, по тематическому разделу и по ключевым словам;
в кольцевом списке-журнале предыдущих запросов – последовательно и по тэгам.
Наличие обучающих материалов для различных категорий пользователей:
рекламные видеоматериалы для демонстрации основных потребительских характеристик СКА;
интерактивный учебный курс решения математических задач в среде СКА;
консультант-репетитор, выполняющий пошаговое решение примеров с поясняющими комментариями.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 21
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов
и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 22
Библиотеки алгоритмов и пакеты расширения : алгоритмы
Арифметика произвольной точности
Упрощение выражений различной сложности
Математический анализ
(вычисление пределов, производных, интегралов)
Поиск решений (корней) в математических структурах
(уравнения и неравенства; диофантовы и дифференциальные уравнения; рекуррентные отношения)
Линейная алгебра
(операции над матрицами)
Теория графов
Теория чисел
Булева алгебра
Тензорная алгебра

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 23
Библиотеки алгоритмов и пакеты расширения : сервисы
Редактор математических формул
Арифметика с плавающей точкой
2D- и 3D- графика
(статичная и анимационная)
Интерактивная справочная система
Динамическая оптимизация вычислений
(баланс интерпретации и компиляции)
Генерация кодов на языках программирования
Генерация документов для печатных изданий
Сопряжение с внешней средой
(периферийные устройства,
файловый ввод / вывод данных,
диспетчеризация виртуальной памяти,
прикладные программные оболочки)

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 24
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 25
Пользовательские интерфейсы
Текстовые:

Поле ввода символьных строк

Поле вывода символьных строк
Графические:

Ячейки ввода данных / вывода результатов

Окна отображения графиков
Командные:

Меню и кнопки управления СКА

Панели библиотек функций

Индикаторы состояний СКА

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 26
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 27
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 28
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 29
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 30
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 31
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 32
Пользовательские интерфейсы :
Maple 10

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 33
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 34
Многообразие реализаций :
программные СКА

Название
С какого года
Лицензия
Применение
1.
Axiom
1971 (2001)
BSD
Универсальная СКА
2.
Cadabra
2001
GPL
Тензорная алгебра, теория поля
3.
CoCoa
1987
GPL
Алгебра полиномов
4.
Fermat
1986
Shareware
Полиномы, матрицы
5.
GINV
2005
GPL
Базисы Грёбнера для систем уравнений
6.
Maple
1979
Коммерческая
Универсальная СКА
7.
Mathematica
1986
Коммерческая
Универсальная СКА
8.
Maxima
1967 (1982)
GPL
Универсальная СКА
9.
PARI / GP
1985
GPL
Теория чисел, точность вычислений
10.
Singular
1984
GPL
Полиномы, кольца, идеалы

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 35
Многообразие реализаций :
универсальные СКА
I поколение

REDUCE (LISP), Anthony C. Hearn

MACSYMA (LISP), Joel Moses, MTI
MAXIMA

SCRATCHPAD (LISP), Richard D. Jenks, IBM
AXIOM

SAC-1 (FORTRAN), George E. Collins
SACLIB

muMATH (LISP), David Stoutemyer
DERIVE
II поколение

MATHEMATICA (LISP), Stephen Wolfram, Wolfram Research

MAPLE (C/C++), Keith Qeddes и Gaston Gonnet, Waterloo University
III поколение

AXIOM (ALDOR, A#), Numeric Algorithm Group (NAG), Great Britain

MAGMA, University of Sydney, Australia

MuPAD (C/C++), University of Paderborn, Germany

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 36
Многообразие реализаций :
специализированные СКА
АНАЛИТИК (Институт кибернетики АН Украины) –
системы алгоритмических алгебр В.М. Глушкова
GAP (GAP group) –
теория групп, теория характеров, дискретная математика
CoCoA (The CoCoa Team) –
коммутативная алгебра
Macaulay2 (Daniel Grayson, Michael Stillman) –
алгебраическая геометрия, коммутативная алгебра
Cadabra (Kasper Peeters) –
тензорная алгебра
KANT / KASH (KANT Group) –
теория алгебраических чисел
TRIP (Jacques Laskar, Michael Gastineau) –
небесная механика
Symbolic C++ [C++]; Meditor [Java]; MathPiper [Java]; DoCon [Haskel] –
библиотеки аналитических вычислений для языков программирования

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 37
Многообразие реализаций :
канонические СКА
AXIOM – конструктор алгебраических объектов - 1
AXIOM
Tim Daly, 2001
FriCAS
Waldek Hebisch, 2007
OpenAXIOM
Gabriel Dos Reis, 2007
Строгая типизация всех объектов
Иерархия алгебраических структур: группы, кольца, поля, полиномы и т.п.
Математический язык (A# → Aldor → SPAD) и встроенный компилятор
Стиль грамотного (literate) программирования: программный код, псевдокод и программная документация (Дональд Кнут, 1981)
Доказательные вычисления

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 38
Многообразие реализаций :
канонические СКА
AXIOM
– конструктор алгебраических объектов - 2
Формат
HyperDoc:
список допустимых операций для определённого домена
(типа объекта)

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 39
Многообразие реализаций :
канонические СКА
AXIOM – конструктор алгебраических объектов - 3
Формат
Mozilla Firefox: стартовая страница справочной системы

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 40
Многообразие реализаций :
канонические СКА
AXIOM – конструктор алгебраических объектов - 4
Источники дополнительной информации:
Официальные сайты проектов:
AXIOM - http://axiom-developer.org/
FriCAS
- http://fricas.sourceforge.net/
OpenAXIOM - http://www.open-axiom.org/
Видео-навигатор по AXIOM-документации на YouTube:
http://www.youtube.com/watch?v=CV8y3UrpadY

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 41
Многообразие реализаций :
веб-сервисы
Аналитик-С – среда аналитических вычислений
Официальный сайт проекта:
http://www.sgau.ru/analitik_c/
Основные характеристики:
Язык реализации – PHP
Платформа реализации – сервер Apache
Открытый исходный код
Синтаксис и функциональность языка Аналитик:
Поддержка символов латиницы, кириллицы и греческих
Двуязычность ключевых слов: пусть (let), вычислить (calculate) и т.п.
Базовые функции (комбинаторика, полиномы, матрицы, дифференциалы- интегралы, тригонометрия, графика) + специальные расширения
(управление в технических системах)
Коллектив разработчиков: аспиранты и студенты СГТУ и СГАУ
Формы участия в проекте: производственная практика, ВКР

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 42
Многообразие реализаций :
веб-сервисы
Аналитик–С – среда аналитических вычислений

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 43
Многообразие реализаций :
Java-мидлеты
Jasymca (Java Symbolic Calculator)
Официальный сайт проекта:
http://webuser.hs-furtwangen.de/
dersch/jasymca2/indexEN.html

Основные характеристики:
Язык реализации – Java
Открытый исходный код
Maxima-подобные синтаксис (ASCII-режим) и функциональность
Минимальные требования к ресурсам (объём кода менее 200 Kb)
Аппаратные платформы: смартфоны, КПК, ПК
Программные платформы: Windows / Linux / MacOS; J2SE / J2ME

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 44
Многообразие реализаций :
Java-мидлеты
Jasymca (Java Symbolic Calculator)

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 45
Многообразие реализаций : микрокалькуляторы
Научные микрокалькуляторы HP-15C (HP-48S, HP-95)
http://www.shopping.hp.com/product/calculator/Scientific/1/storefronts/NW250AA%2523ABA
Функциональные возможности:
Сложные интегралы и производные функций
Матрицы с действительными и комплексными аргументами
Системы линейных и нелинейных уравнений
Численные методы

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 46
Многообразие реализаций : микрокалькуляторы
Графические микрокалькуляторы TI-89, TI-92 (TI-92 Plus)
http://www.exponenta.ru/soft/others/ti/ti.asp
Функциональные возможности: система компьютерной алгебры DERIVE

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 47
Многообразие реализаций : микрокалькуляторы
Графический микрокалькулятор HP-50G
(семейство микрокалькуляторов - HP-49G)
http://ru.wikipedia.org/wiki/HP_50g
Функциональные возможности:
Язык программирования RPL (Reverse Polish Lisp):
LISP-совместимый язык для создания СКА-ориентированных приложений
Язык программирования HP BASIC:
для создания приложений структурного программирования
Огромная библиотека встроенных функций (> 2300) для решения уравнений, выполнения алгебраических и численных вычислений

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 48
Многообразие реализаций : обзорные материалы
Сравнительный анализ различных СКА:
Сводный перечень СКА (Википедия):
http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems
Обзорные статьи:
Я. ван Хюльзен, Ж. Калме. Системы компьютерной алгебры // В кн.:
Компьютерная алгебра: Символьные и алгебраические вычисления. – М.: Мир,
1986.
Мысовских В.И. Системы компьютерной алгебры и символьные вычисления //
Записки научных семинаров ПОМИ РАН, 2001, том 281.
Кулябов Д.С., Кокотчикова М.Г. Аналитический обзор систем символьных вычислений // Вестник РУДН, серия «Математика. Информатика. Физика», 2007,
№ 1-2.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 49
План лекции: тема подраздела
Классификация СКА
Типовая архитектура
Библиотеки алгоритмов и пакеты расширения
Пользовательские интерфейсы
Многообразие реализаций
Перспективные направления развития

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 50
Перспективные направления развития
(1)
Расширение состава встроенных и программируемых типов математических объектов;
(2)
Интеграция СКА
с другими компьютерными системами;
(3)
Унификация и объектная ориентация интерфейса пользователя;
(4)
Программирование символьных вычислений произвольной сложности;
(5)
Ускорение работы СКА.

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 51
Перспективные направления развития
Направление (1) :

Принадлежность математического объекта СКА к встроенным должна определяться не случайной практической необходимостью (СКА ранних поколений), а ролью в иерархической системе математических абстракций (СКА Axiom).

Способность к созданию расширений (объектных, структурных, функциональных и т.п.) СКА должна поддерживаться интерфейсом (желательно с помощью объектно- ориентированного, специализированного языка программирования) (СКА Maple, СКА Mathematica).

Интеграция ядра и расширений СКА должна быть прозрачной для любого пользователя СКА (цель пользователя – решение прикладной задачи, а не организация взаимодействия вычислительных модулей).

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 52
Перспективные направления развития
Направление (2) :

Связь с программами числовой обработки
Связь типа «СКА(СВМ)» или типа СВМ(СКА): вставка «машинных» кодов программ на процедурных языках в тело программ аналитических вычислений или наоборот
(язык С и СКА Mathematica).
Связь типа «СКА+СВМ»: обмен результатами вычислений с помощью файлов.
Связь нецелесообразна: разработка специализированной системы смешанных
(численно-аналитических) вычислений.

Генерация текста программ вычислений
Поддержка не одного (СКА Reduce – язык Fortran), а нескольких (СКА Maple, СКА
Mathematica – языки Fortran и C) целевых языков программирования.
Сложно-структурированные математические выражения наглядно создаются в
СКА, а затем без ошибок (!) транслируются в строковую форму операторов присваивания.

Связь с текстовыми процессорами
Поддержка в СКА общепринятых форматов нетекстовых объектов – формул, графиков, рисунков – обеспечивает либо полную, либо частичную вёрстку научных документов (TEX-формат).

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 53
Перспективные направления развития
Направление (3) :

Для унификации пользовательский интерфейс СКА должен иметь те же функциональные возможности, что и интерфейсы других сред программирования и проектирования
(настройка параметров, редактирование объектов, отладка проектов и т.п.).

Для объектной ориентации необходима реализация специальных классов объектов, представляющих алгебраические и другие абстрактные математические категории
(тождества, многообразия, исчисления и т.п.).

Для образовательных и рекламных целей требуется наличие инструментальных средств создания интерактивных документов
(анимационная графика, панели управления и т.п.).

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 54
Перспективные направления развития
Направление (4) :

Увеличение количества встроенных в СКА библиотек шаблонов пользовательских приложений для различных предметных областей (СКА Maple).

Использование в качестве языка реализации СКА - функционально расширяемого языка программирования
(LISP), обеспечивающее не только неограниченный рост сложности вновь создаваемых приложений, но и совершенствование базовых объектов и алгоритмов аналитических вычислений (СКА Mathematica).

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 55
Перспективные направления развития
Направление (5) :

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

Применение технологии JIT-компиляции машинных кодов для реализации наиболее трудоёмких операций компьютерной алгебры
(решение дифференциальных уравнений, статистическое моделирование и т.п.).

Курс КОМПЬЮТЕРНАЯ АЛГЕБРА -
Лекция 5 56
Спасибо за внимание !
Вопросы ?

Document Outline

  • Компьютерная алгебра(курс лекций)
  • Лекция 5
  • Содержание лекции
  • План лекции: тема подраздела
  • Классификация СКА
  • Классификация СКА
  • Классификация СКА
  • Классификация СКА
  • Классификация СКА
  • Классификация СКА
  • Классификация СКА
  • План лекции: тема подраздела
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • Типовая архитектура
  • План лекции: тема подраздела
  • Библиотеки алгоритмов и пакеты расширения : алгоритмы
  • Библиотеки алгоритмов и пакеты расширения : сервисы
  • План лекции: тема подраздела
  • Пользовательские интерфейсы
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • Пользовательские интерфейсы : Maple 10
  • План лекции: тема подраздела
  • Многообразие реализаций : программные СКА
  • Многообразие реализаций : универсальные СКА
  • Многообразие реализаций : специализированные СКА
  • Многообразие реализаций : канонические СКА
  • Многообразие реализаций : канонические СКАAXIOM – конструктор алгебраических объектов - 2
  • Многообразие реализаций : канонические СКАAXIOM – конструктор алгебраических объектов - 3
  • Многообразие реализаций : канонические СКА
  • Многообразие реализаций : веб-сервисы
  • Многообразие реализаций : веб-сервисы Аналитик–С – среда аналитических вычислений
  • Многообразие реализаций : Java-мидлеты
  • Многообразие реализаций : Java-мидлеты Jasymca (Java Symbolic Calculator)
  • Многообразие реализаций : микрокалькуляторы
  • Многообразие реализаций : микрокалькуляторы
  • Многообразие реализаций : микрокалькуляторы
  • Многообразие реализаций : обзорные материалы
  • План лекции: тема подраздела
  • Перспективные направления развития
  • Перспективные направления развития
  • Перспективные направления развития
  • Перспективные направления развития
  • Перспективные направления развития
  • Перспективные направления развития
  • Спасибо за внимание !

Каталог: media -> files -> 2012 -> course -> comp-algebra
files -> Оборудование по программе «Доступная среда»: в целях реализации программы «Доступная среда»
files -> Технические данные cx8090
files -> Конкурсной комиссии ОАО
files -> Новые возможности и повышение эффективности работы в офисе
files -> Значительные преимущества для производственного сканирования небольших объемов
files -> Руководство по активации подписки msdn
comp-algebra -> Лекция 1 (вводная) 2 Эпиграф курса «Цель вычислений в проникновении в суть, а не в числах»


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал