|
Символьный C++: Введение в компьютерную алгебру с использованием объектно-ориентированного программирования Учебное издание |
Тан К. Ш., Стиб В. -Х., Харди Й. |
год издания — 2001, кол-во страниц — 622, ISBN — 5-03-003355-6, 1-85233-260-3, тираж — 5000, язык — русский, тип обложки — мягк., масса книги — 800 гр., издательство — Мир |
|
|
Сохранность книги — хорошая
Kiat Shi Tan, Willi-Hans Steeb, Yorick Hardy Symbolic C++: An Introduction to Computer Algebra using Object-Oriented Programming
Springer-Verlag, 1998, 2000
Пер. со 2-го англ. изд. В. И. Ахмолина и С. В. Чудова
Формат 70x100 1/16. Бумага офсетная. Печать офсетная |
ключевые слова — алгебр, объектно-ориентированн, reduce, maple, axiom, mathematica, mupad, eiffel, smalltalk, лисп, оберон, symbolicc++, гёдел, пикара, фрактал, мандельброт |
В книге представлен подход к разработке новой системы компьютерной алгебры, основанной на объектно-ориентированном программировании. В первых вводных главах излагаются требования пользователя к таким системам, описан необходимый математический аппарат, лежащий в основе разработки системы, дан обзор наиболее популярных из существующих систем (REDUCE, MAPLE, AXIOM, MATHEMATICA, MuPAD). Далее обсуждаются основные понятия объектно-ориентированного программирования, языки Java, Eiffel, Smalltalk, Лисп и Оберон, излагаются средства языка C++, вводится новая система компьютерной алгебры SymbolicC++. Приводятся примеры применения системы к задачам математики и физики (нумерация Гёделя, аппроксимация Паде, техника рядов Ли, метод Пикара, фрактальное множество Мандельброта и др.). В книгу включены листинги всех компонентов системы, что позволяет пользователям развивать и наращивать систему в соответствии со своими потребностями.
Для студентов и аспирантов вузов в качестве учебного пособия, для специалистов по компьютерной алгебре как справочное пособие, а также для непрофессионалов, желающих расширить свои познания в возможностях вычислительной техники.
|
ОГЛАВЛЕНИЕОт редактора перевода | 5 | Предисловие | 7 | Глава 1. Введение | 11 | 1.1. Что такое компьютерная алгебра? | 11 | 1.2. Свойства, систем компьютерной алгебры | 11 | 1.3. Недостатки систем компьютерной алгебры | 12 | 1.4. Разработка системы компьютерной алгебры | 14 | Глава 2. Математические основы, компьютерной алгебры | 17 | 2.1. Кольца и поля | 17 | 2.2. Целые числа | 19 | 2.3. Рациональные числа | 25 | 2.4. Вещественные числа | 27 | 2.5. Комплексные числа | 30 | 2.6. Векторы и матрицы | 32 | 2.7. Кватернионы | 37 | 2.8. Многочлены | 38 | 2.9. Дифференцирование | 46 | 2.10. Интегрирование | 46 | 2.11. Коммутативность и некоммутативность | 51 | 2.12. Тензорное произведение и кронекерово произведение | 52 | 2.13. Внешнее произведение | 55 | Глава 3. Системы компьютерной алгебры | 59 | 3.1. Введение | 59 | 3.2. REDUCE | 60 | 3.3. MAPLE | 65 | 3.4. AXIOM | 67 | 3.5. MATHEMATICA | 70 | 3.6. MuPAD | 71 | Глава 4. Объектно-ориентированное программирование | 74 | 4.1. Объекты, классы и абстрактные типы данных | 74 | 4.2. Передача сообщений | 79 | 4.3. Наследование | 80 | 4.4. Полиморфизм | 82 | 4.5. Объектно-ориентированные языки | 85 | 4.6. Заключение | 117 | Глава 5. Основные средства языка C++ | 118 | 5.1. Указатели и ссылки | 119 | 5.2. Классы | 126 | 5.3. Конструкторы и деструктор | 130 | 5.4. Конструктор копирования и оператор присваивания | 131 | 5.5. Преобразования типа | 133 | 5.6. Перегрузка операторов | 139 | 5.7. Шаблоны классов | 148 | 5.8. Шаблоны функций | 152 | 5.9. Дружественность | 155 | 5.10. Наследование | 157 | 5.11. Виртуальные функции | 159 | 5.12. Обертывающий класс | 161 | 5.13. Библиотека стандартных шаблонов | 162 | 5.14. Рекурсия | 183 | 5.15. Заключение | 191 | Глава 6. Классы компьютерной алгебры | 193 | 6.1. Класс сверхдлинных целых | 193 | 6.2. Класс рациональных чисел | 202 | 6.3. Класс комплексных чисел | 207 | 6.4. Класс кватернионов | 211 | 6.5. Класс производных | 214 | 6.6. Класс векторов | 216 | 6.7. Класс матриц | 222 | 6.8. Классы массивов | 230 | 6.9. Класс строк | 236 | 6.10. Битовые наборы | 240 | 6.11. Класс связанных списков | 243 | 6.12. Класс многочленов | 251 | 6.13. Класс множеств | 255 | 6.14. Заключение | 257 | Глава 7. Символьный класс | 258 | 7.1. Объектно-ориентированное проектирование | 259 | 7.2. Поля данных и типы класса Symbol | 264 | 7.3. Конструкторы | 266 | 7.4. Операторы | 268 | 7.5. Функции | 282 | 7.6. Упрощение выражений | 283 | 7.7. Коммутативность | 286 | 7.8. Символьный и числовой интерфейсы | 288 | 7.9. Заключение | 290 | Глава 8. Приложения | 291 | 8.1. Класс BitVector | 292 | 8.2. Класс Verylong | 296 | 8.3. Классы Verylong и Rational | 309 | 8.4. Классы Verylong, Rational и Derive | 319 | 8.5. Классы Verylong, Rational и Complex | 321 | 8.6. Символьный класс | 323 | 8.7. Класс Symbolic и символьное дифференцирование | 341 | 8.8. Класс Matrix | 357 | 8.9. Классы Array и Symbolic | 363 | 8.10. Классы Polynomial и Symbolic | 366 | 8.11. Техника рядов Ли | 370 | 8.12. Спектры малых спиновых групп | 373 | 8.13. Нелинейные отображения и хаотичное поведение | 376 | 8.14. Численно-символьное приложение | 379 | 8.15. Заключение | 381 | Глава 9. Лисп и компьютерная алгебра | 382 | 9.1. Введение | 382 | 9.2. Базовые функции Лиспа | 383 | 9.3. Примеры символьных вычислений | 386 | 9.4. Система Лисп, основанная на C++ | 396 | Глава 10. Листинги программ | 409 | 10.1. Класс Verylong | 409 | 10.2. Класс Rational | 426 | 10.3. Класс Complex | 431 | 10.4. Класс Quaternion | 436 | 10.5. Класс Derive | 440 | 10.6. Класс Vector | 442 | 10.7. Класс Matrix | 452 | 10.8. Класс Array | 465 | 10.9. Класс String | 483 | 10.10. Класс BitVec | 487 | 10.11. Класс MList | 492 | 10.12. Класс Polynomial | 499 | 10.13. Класс Set | 523 | 10.14. Класс Symbolic | 529 | Глава 11. Параллельная виртуальная машина и абстрактные типы данных | 601 | Глава 12. Техника обработки ошибок | 606 | 12.1. Состояние ошибки | 607 | 12.2. Обработка исключительной ситуации | 607 | Глава 13. Программа Gnuplot и язык PostScript | 609 | Список литературы | 612 | Предметный указатель | 615 |
|
Книги на ту же тему- Объектно-ориентированное программирование в C++. — 4-е изд., Лафоре Р., 2003
- Стандарты программирования на C++: 101 правило и рекомендации, Саттер Г., Александреску А., 2015
- Современное проектирование на C++: Обобщённое программирование и прикладные шаблоны проектирования, Александреску А., 2015
- Справочник программиста по C/C++. — 2-е изд., Шилдт Г., 2001
- Моя первая программа на C/C++, Нейбауэр А. Р., 1995
- Основы программирования на языках C и C++, Ашарина И. В., 2002
- Начальный курс C и C++, Березин Б. И., Березин С. Б., 2001
- Язык программирования C. Лекции и упражнения. — 6-е изд., Прата С., 2015
- Курс уравнений математической физики с использованием пакета Mathematica. Теория и технология решения задач (без CD), Глушко В. П., Глушко А. В., 2010
|
|
|