Просмотр содержимого документа
«Перспективы развития систем компьютерной математики»
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Физико-математический факультет
Кафедра информатики и вычислительной техники
РЕФЕРАТ
Перспективы развития систем компьютерной математики
Автор работы
студентка 5 курса группы МДИ-117 ________________________ В. В. Осипов
Направление подготовки 44.03.05 Педагогическое образование.
Профиль Информатика. Математика
Руководитель работы
канд. физ.-мат. наук, доцент__________________________ Т. В. Кормилицына
Оценка ____________________
Саранск 2021
Введение
Появление компьютеров изменило все сферы современной науки и общественной, и даже личной, жизни. Появилась возможность проводить сложнейшие вычислительные эксперименты, что экономит не только деньги, но и время. Последнее обстоятельство особенно важно для научных работников, педагогов и студентов. Однако в нашей стране именно в области образования применение современных компьютерных методов и систем оставляет желать лучшего. Частично это связано с объективными причинами (дороговизна оборудования, программных продуктов и т. д.), однако очень часто и с субъективными — нежеланием что-либо менять, поскольку наше образование и так «самое лучшее в мире».[1]
Между тем появление современных систем компьютерной математики позволяет, не отказываясь от принципов фундаментальности классического образования, качественно изменить подходы и методы изложения материала, сделать его более наглядным и доступным, а следовательно, более интересным и привлекательным для основной массы обучающихся.
Системы компьютерной математики (СКА) творят чудеса. Развитие математических пакетов достигло того уровня, когда невольно закрадывается мысль — а зачем нам теперь нужны классические методики преподавания математики (или физики, или механики) в школе или вузе, если большую часть «грязной» работы по преобразованию выражений можно переложить на плечи машины. А если нельзя, или трудно получить аналитическое решение задачи, то почему бы не «прощелкать» её численно в одном из популярных пакетов.
Научное программное обеспечение и математические пакеты играют важную роль в современном естествознании и технике. Такие пакеты как Axiom, Derive, Maсsyma, Maple, MatLab, MathCAD, Mathematica широко распространились в университетах, исследовательских центрах и компаниях развитых стран. Владение одним или несколькими математическими пакетами и регулярное использование их в работе будь то исследовательская или преподавательская задача быстро становится нормой для специалиста. Об этом можно судить по росту числа журнальных и книжных публикаций, освещающих применения данных пакетов для решения разнообразных проблем.
Очень скоро начали доминировать приложения к задачам управления. Однако научные приложения остаются наиболее важными, особенно если взглянуть на требуемую производительность компьютера: наиболее мощные компьютеры обычно предназначаются для научных исследований.
Перспективы развития систем компьютерной математики
В последнее время бурное развитие получило новое, актуальное научное направление – компьютерная математика. Ее можно определить как совокупность теоретических, алгоритмических, аппаратных и программных средств, предназначенных для эффективного решения на компьютерной технике всех видов математических задач, включая символьные преобразования и вычисления с высокой степенью визуализации всех видов вычислений. Применение компьютерной математики существенно расширяет возможности автоматизации всех этапов математического моделирования.
Возможны два подхода к компьютерной реализации моделей и решению задач компьютерными методами.
Первый подход. Для проведения вычислений пользователь должен освоить азы алгоритмизации, изучить один или несколько языков программирования, таких, как Бейсик, Паскаль, Фортран, СИ, а также численные методы расчётов.
Второй подход заключается в использовании готовых программ и сводится к созданию блочной компьютерной модели. Для облегчения расчетов были созданы специализированные программные комплексы для автоматизации математических и инженерно-технических расчётов: Mathcad, MatLab, Mathematica, Maple, MuPAD, Derive и другие.
Системы компьютерной математики (СКМ) позволяют провести исследование проблемы, анализ данных, моделирование, тестирование, проверку существования решения, оптимизацию, документирование и оформление результатов, они позволяют сосредоточить основное внимание на существе проблемы, оставляя в стороне технику классической математики, детали вычислительных методов и алгоритмических процедур, нюансы языков программирования и команд операционной системы.
Средства компьютерной математики интенсивно внедряются в аппаратные средства современной вычислительной техники. Пожалуй, ярче всего это проявляется в развитии программируемых микрокалькуляторов. Даже калькуляторы начала 80-х годов удивляли знающих пользователей своими математическими способностями. Например, помещаемые в нагрудном кармане рубашки научные калькуляторы НР-15С запросто вычисляли сложные интегралы и производные функций, оперировали матрицами с действительными и комплексными элементами, решали системы линейных и нелинейных уравнений и позволяли довольно просто реализовать практически любые численные методы вычислений.
Новые поколения микрокалькуляторов освоили символьные вычисления и графику умеренного разрешения. Так, микрокалькуляторы HP-48Sи НР-95 способны выполнять множество аналитических операций, есть даже микрокалькуляторы TI-89 иTI-92 с встроенной системой символьной математики класса Derive. Эти и многие другие калькуляторы заметно продвинулись в части визуализации вычислений как при вводе данных, так и выводе их результатов. Экраны их дисплеев уже отображают таблицы, математические формулы и графики.
Современные микропроцессоры, математические сопроцессоры и графические процессоры видеоплат используют средства компьютерной математики, связанные с обработкой массивов информации, интерполяцией и аппроксимацией функций, дискретным преобразованием Фурье и т.д. К сожалению, доступ пользователей к аппаратным средствам компьютерной математики практически закрыт. В тоже время с позиций математики в этих средствах нет ничего нового, что не было бы "прозрачно" реализовано в современных программных средствах ЭВМ – в системах компьютерной математики. И вообще надо сказать, что программные средства математики развиваются намного быстрее аппаратных.
В настоящее время компьютерные математические системы можно (достаточно условно) подразделить на 7 основных классов:
Системы для численных расчетов.
Табличные процессоры.
Матричные системы.
Системы для статистических расчетов.
Системы для специальных расчетов.
Системы для аналитических расчетов (компьютерной алгебры).
Универсальные системы.
Обзор систем компьютерной математики
До сих пор научные и инженерные расчеты остаются одной из важнейших, хотя, пожалуй, и не самой бросающейся в глаза сфер приложения компьютеров. За многие годы накоплены обширные библиотеки научных подпрограмм, в первую очередь, на языке FORTRAN, предназначенных для решения типовых задач (задачи линейной алгебры, интегрирование, решение дифференциальных уравнений и т. д.).
В настоящее время появились хорошо работающие системы такие как Maple, Mathematica, Mathcad, Matlab, Derive и некоторые другие. Все упомянутые выше системы, так же как и большинство неупомянутых, являются весьма дружественными по отношению к пользователю. Конечно же и синтаксис языка пользователя у них различный, и библиотеки доступных функций могут меняться от нескольких сотен до тысяч, и внутренние структуры и даже используемые алгоритмы значительно отличаются друг от друга, но все они обладают общими свойствами. Таких принципиальных общих свойств значительно больше, чем различий и, таким образом, после освоения одной из систем компьютерной алгебры переход к другой системе не является сложной проблемой.
Разработка, развитие и даже использование этих систем постепенно выделились в автономную научную дисциплину, относящуюся, очевидно, к информатике. Ее цели лежат в области искусственного интеллекта, несмотря на то, что методы все более и более удаляются от нее. Кроме того, используемые алгоритмы вводят в действие все более менее элементарные математические средства. Таким образом, эта дисциплина лежит на стыке нескольких областей, что одновременно обогащает ее и делает более трудной в исследовательском плане.[2]
Для новичка языки систем компьютерной алгебры – одни из наиболее простых для использования. Действительно, сначала ему требуется знать лишь несколько функций, которые позволят ему переписать рассматриваемую проблему в виде, очень похожем на ее математическую формулировку. Даже если переписывание выполняется неуклюже или некорректно, интерактивный режим позволяет после нескольких шагов наощупь быстро получить результаты, которые нельзя получить с помощью карандаша и бумаги. А для очень многих приложений этого достаточно.
Пакет Mathematica, по-видимому, является сегодня наиболее популярным в научных кругах, особенно среди теоретиков. Пакет предоставляет широкие возможности в проведении символических (аналитических) преобразований, однако требует значительных ресурсов компьютера. Система команд пакета во многом напоминает какой-то язык программирования.
Пакет Maple также весьма популярен в научных кругах. Пользователи характеризуют Maple как очень надежный и устойчиво работающий Пакет. Кроме аналитических преобразований пакет в состоянии решать задачи численно. Характерной особенностью пакета является то, что ряд других программных продуктов используют интегрированный символический процессор Maple.
Подобно упомянутым выше пакетам, пакет Matlab фактически представляет собой своеобразный язык программирования высокого уровня, ориентированный на решение научных задач. Характерной особенностью пакета является то, что он позволяет сохранять документы в формате языка программирования С.
Пакет Mathcad популярен, пожалуй, более в инженерной, чем в научной среде. Характерной особенностью пакета является использование привычных стандартных математических обозначений, то есть документ на экране выглядит точно так же обычный математический расчет. Для использования пакета не требуется изучать какую-либо систему команд, как, например, в случае пакетов Mathematica или Maple. Пакет ориентирован в первую очередь на проведение численных расчетов, но имеет встроенный символический процессор Maple, что позволяет выполнять аналитические преобразования. В последних версиях предусмотрена возможность создавать связки документов Mathcad с документами Matlab. В отличие от упомянутых выше пакетов, Mathcad является средой визуального программирования, то есть не требует знания специфического набора команд. Простота освоения пакета, дружественный интерфейс, относительная непритязательность к возможностям компьютера явились главными причинами того, что именно этот пакет был выбран для обучения студентов численным методам.
Однако, в отличии от языка программирования типа FORTRAN, в котором синтаксические тонкости требуют тщательного изучения, в то время как принципы работы компилятора можно полностью игнорировать, здесь пользователь должен очень быстро разобраться, "как это работает", в частности, как представляются и обрабатываются данные.
В действительности, хотя обычно трудно предсказать время вычисления и размер результатов, знание принципов работы может дать представление о порядке их величины и при необходимости оптимизировать их. Эти оценки существенны: для большинства алгебраических вычислений результаты получаются почти моментально, и все идет отлично. Но если это не так, то требуемое время и память возрастают обычно экспоненциально. Таким образом, выполнимость данных вычислений не всегда очевидна, и глупо жертвовать значительными ресурсами, когда неудачу можно предсказать заранее.
Поэтому владение эффективным стилем программирования и способность предвидеть размер вычислений являются здесь значительно более весомыми, чем в численных расчетах, где возрастание обычно бывает линейным. К сожалению, это в значительной степени приобретается с опытом и трудно передается с помощью учебника.
В последнее время разработчики математических пакетов стремятся предложить продукт общего назначения. Для этого системы аналитических вычислений оснащаются развитыми средствами визуализации и насыщаются эффективными процедурами численного решения, а вычислительные пакеты дооборудуются компонентами компьютерной алгебры. В результате MatLab (фирма MathWorks Inc.) и MathCAD (фирма MathSoft Inc). получили ядро для выполнения аналитических вычислений, разработанное фирмой Maple Software Inc для пакета Maple.
Много внимания уделяется начинке пакетов. Помимо математического ядра с основными командами в Maple более тридцати библиотек для решения разнообразных задач теории чисел, графов, статистики, комбинаторики и многого другого. С пакетом MatLab поставляются приложения, ориентированные на решение классов задач, MathCAD известен своими электронными книгами справочного характера. Кроме того, много полезных команд, библиотек и приложений, разработанных пользователями этих пакетов, может быть найдено в Internet или в книгах, сопровождаемых дополнительными дискетами и даже компакт-дисками. Среди лидеров по числу изданных книг находятся пакет MatLab и система Maple. Однако на русском языке пока имеется мало литературы.
В последнее время просматривается тенденция к сближению и интеграции различных пакетов. Например, последние выпуски пакетов Mathematica и Maple имеют хорошие возможности для визуального программирования; в Matlab включена библиотека аналитических преобразований Maple; Mathcad позволяет работать совместно с Matlab.
Задачи компьютерной математики
Каждая из математических систем имеет определенные специфические для нее свойства, которые необходимо учитывать при решении конкретных математических задач.
Компьютерные математические системы как класс специализированных программных средств, рассчитанных на индивидуальную работу, возникли лишь в начале 80-х годов XXвека. Этому способствовало зарождение в это же время индустрии персональных компьютеров (ПК), что открыло дорогу таким системам к массовому пользователю. Отдельные системы (например,MATLAB) были известны задолго этого, но они были реализованы лишь на больших ЭВМ и были доступными ограниченному кругу лиц. Эти системы представляли средства коллективного пользования, применение которых даже для решения простых задач требовало участия многих специалистов.
Сейчас такие системы благодаря их установке на ПК доступны педагогам и ученым, студентам и школьникам не только в коллективном, но и в индивидуальном порядке. Они используются в университетах и вузах, школах и колледжах (особенно с математическим уклоном). Велика роль таких систем и в автоматизации научно-технических расчетов и в математическом моделировании природных явлений и технических систем и устройств.
В настоящее время применяется множество математических программ – от простых калькуляторов, встроенных в операционные системы типа Windows, до универсальных систем, при полной инсталляции занимающих многие сотни Мбайт памяти на жестком диске (MATLAB5.2.1 и 5.3), и программных комплексов, интегрирующих ряд таких программ. Здесь особо надо отметить системы класса Mathcad, новые версии которых содержат системный интегратор MathConnex, обеспечивающий прямую интеграцию Mathcadс почти полутора десятками программ разного класса.
Интересно и еще одно направление интеграции – объединение возможностей текстовых редакторов (прежде всего в форматах WordиLaTEX) с математическими системами. К таким разработкам относятся Scientific NoteBook, MathOffice, Scientific Workplace и др. Подобные программные комплексы позволяют готовить электронные документы и книги высочайшего качества с "живыми" примерами математических расчетов.
Помимо указанного деления на классы, правомерно деление компьютерных математических систем и по сложности решаемых ими задач. Так, можно выделить системы начального уровня (например, Derive и MuPAD), ориентированные на решение задач школьного образования и применение их студентами младших курсов вузов. К системам среднего класса можно отнести новую систему MuPAD и ставшую весьма популярной систему Mathcad. Высший класс представлен системами компьютерной алгебры Mathematica2/3 иMapleVR3/R4/R5.
А такого "монстра" среди систем компьютерной математики, как матричную систему MATLAB5.0/5.3.1 с ее многочисленными пакетами расширения и трудно укладываемой в нашем сознании стоимостью, можно отнести к особо элитным и потому дорогим системам для избранных и весьма придирчивых пользователей.
К сожалению, на нашем и мировом рынках массовые системы компьютерной математики представлены только зарубежными программами. Однако благодаря известным достоинствам операционных систем класса Windows нет никаких принципиальных ограничений на применение зарубежных программ компьютерной математики русскоязычными пользователями, хотя определенные неудобства (например, англоязычные справочные системы) всё же присутствуют.
Системы компьютерной математики для численных расчетов
Задачи, решаемые системами для численных расчетов.
К наиболее распространенным средствам, предоставляемым системами для численных расчетов, относятся:
арифметические и алгебраические операторы и функции;
функции для работы с комплексными числами;
тригонометрические и гиперболические функции;
обратные тригонометрические и гиперболические функции;
логические операторы и функции;
векторные и матричные операторы и функции;
средства для решения систем линейных алгебраических уравнений;
специальные математические функции;
средства арифметики степенных многочленов (полиномов);
функции для нахождения комплексных корней многочленов;
функции для решения систем нелинейных алгебраических уравнений;
средства для решения систем дифференциальных уравнений;
средства оптимизации функций и линейного программирования;
средства одномерной и многомерной интерполяции;
средства создания двухмерных и трехмерных графиков;
типовые средства программирования.
Системами для численных расчетов являются:
Встроенные калькуляторы Windows.
Табличные процессоры.
Математические системы EurekaиMercury.
Во всем мире созданы десятки СКМ, но широкую известность получило лишь несколько систем
MuPAD – СКМ начального уровня. Они ориентированы на школьное и высшее образование по специальностям, не требующим расширенной математической подготовки. Обладают недостаточно развитыми, хотя и постоянно улучшающимися возможностями графической визуализации результатов вычислений. Система Derive.
Mathcad – система, ориентированная на высшее образование, выполнение умеренно сложных численных и аналитических расчетов с максимальным использованием естественного математического языка представления вычислений. Имеет прекрасный интерфейс и обширные возможности графической визуализации вычислений. Является самой массовой СКМ.
Maple, Mathematica – универсальные системы, ориентированные на выполнение аналитических вычислений на любом уровне, вплоть до профессионального. Широко применяются в системе высшего образования и в практике выполнения научных расчетов.
MATLAB+Simulink – мощные и большие (занимают до 1-1,5 Гбайт на жестком диске) системы, ориентированные на матричные и численные методы вычислений, реализацию численных расчетов повышенной сложности, математическое моделирование систем и устройств. Имеют десятки пакетов расширения по различным областям математики и многим (в том числе новейшим) сферам ее применения.
Можно выделить следующие общие направления развития современных СКМ:
превращение СКМ в интеллектуальные системы представления знаний и их экспертной оценки;
интеграция систем друг с другом и с рядом других офисных и графических программ;
расширенные возможности вычислений, охватывающие все практически важные и фундаментальные области математики;
расширенная степень визуализации вычислений;
превращение СКМ в универсальные системы;
внедрение новых функций, например для вейвлет-преобразований, обработки сигналов, реализации нечеткой логики, нейронных сетей и др.;
внедрение в СКМ средств, позволяющих на их основе готовить полноценные электронные учебники в различных форматах;
возможность создания документов с текстами, формульными выражениями, рисунками и графиками высочайшего полиграфического качества.
Указанные в этих направлениях достоинства СКМ делают их в одинаковой мере привлекательными для научных работников и инженеров, преподавателей и студентов образовательных учреждений и даже для лиц, просто увлекающихся математическими расчетами.
Достоинства СКМ MathCad как справочного инструмента и мощного редактора математических текстов не вызывают сомнений, также бесспорны его возможности в качестве совершенного калькулятора для научных расчетов.
Трудно переоценить значение СКМ в сфере образования. В 70-х годах прошлого века курсовые работы по математике выполнялись на механических вычислительных машинах (арифмометрах) "Феликс" и требовали многих дней кропотливой работы, которая выполняется в СКМ за доли секунды. Появилась возможность, образно говоря, "пощупать математику руками".
Более того, СКМ MathCad в полном смысле является высокоинтеллектуальной базой знаний. Наличие интеллекта СКМ в принципиальном толковании – вопрос очень тонкий. Действительно ли он есть? Или все это только искусное применение очень мощного инструмента и умение творчески истолковать нетривиальный результат? Оставим это философам. Но если определить интеллект программного продукта как способность решать сложные математические задачи, не только в случаях, когда технический ход решения не контролируется пользователем (а, может быть, просто неизвестен ему), но и в ситуации, когда общий алгоритм и выбор способа решения остаются за пределами его внимания, когда важна лишь твердая уверенность в принципиальном существовании такого решения, надежность самой СКМ и возможность оперативной и корректной проверки результата, например, обратным преобразованием, то все это в современных СКМ есть, или почти есть. Типичный примеры упомянутых задач – поиск первообразной или решение ЛОДУ. СКМ развиваются – было показано, что задачи, которые приводились как пример ограниченности творческих возможностей СКМ MathCad прежних версий, успешно решаются в новых. По-видимому, скоро подобных примеров вообще не останется.
Были продемонстрированы достоинства символьных методов расчета и большие возможности современных СКМ по их реализации.
Сравнительная оценка различных СКМ показывает, что для целей изучения математики и решения прикладных задач общего характера более всего подходит СКМ MathCad, а для узкоспециальных высокопрофессиональных задач предпочтительней СКМ Мathematica.
Кратко перечислим перспективы совершенствования СКМ:
совершенствование серверных интернет-услуг СКМ;
совершенствование алгоритмов символьных вычислений, лозунг "Даешь любую задачу – и ЕГЭ, и конкурсную!";
дальнейшее развитие методов графической визуализации, интеллектуальное совершенствование интерфейса пользователя;
развитие программных средств СКМ MathCad;
поддержка современных аппаратных решений, многоядерных процессоров и новых технологий распараллеливания вычислений, нейронных архитектур;
расширение возможностей и скорости логического анализа, особенно при одновременной обработке многих тысяч переменных, интеграция с ГИС;
совершенствование алгоритмов решения дифференциальных уравнений;
новые алгоритмы вычисления корней особых уравнений с большим числом (несколько тысяч) неизвестных;
интеграция алгоритмов биоинформатики и генной инженерии, разработка других перспективных пакетов расширений.
Заключение
В настоящее время научное программирование претерпевает серьезную трансформацию: развиваются интегрированные среды, основанные на алгоритмических языках, и растет применение универсальных математических систем (Maple, Mathematica, MATLAB, MatCad и др.). Эти системы имеют дружественный интерфейс, реализуют множество стандартных и специальных математических операций, снабжены мощными графическими средствами и обладают собственными языками программирования.[6] Все это предоставляет широкие возможности для эффективной работы специалистов разных профилей, о чем говорит активное применение математических пакетов в научных исследованиях и в преподавании. С помощью этих пакетов проще готовить и выполнять задания, устраивать демонстрации и гораздо быстрее решать исследовательские и инженерные задачи.
Конечным продуктом исследования выступают публикации, подготовка, распространение и использование которых в настоящее время требует квалифицированного применения компьютера. Это касается редактирования текста, изготовления графических материалов, ведения библиографии, размещения электронных версий в Интернет, поиска статей и их просмотра. Кроме того, необходимы минимальные знания о стандартных форматах файлов, конверторах, программах и утилитах, используемых при подготовке публикаций.
Математические пакеты Maple и MATLAB — интеллектуальные лидеры в своих классах и образцы, определяющие развитие компьютерной математики. Компьютерная алгебра Maple вошла составной частью в ряд современных пакетов, численный анализ от MATLAB и наборы инструментов (Toolboxes) уникальны. Сами пакеты постоянно совершенствуются, развивая аппарат и пополняя ресурсы. Пакет Maple и вычислительная среда MATLAB — мощные и хорошо организованные системы, надежные и простые в работе. Освоение даже части их возможностей даст несомненный эффект, а по мере накопления опыта придет настоящая эффективность от взаимодействия с ними.
В заключение, отметим, что пользователь пакетов компьютерной математики должен иметь представление об основных численных методах. Вообще говоря, появление современных вычислительных систем значительно облегчает доступ к компьютеру непрофессионалам в области программирования, и поддерживает постоянное стремление к их усовершенствованию и освоению новых компьютерных технологий.
Список использованных источников:
Грузина, Э. Э. Компьютерные науки : учебное пособие / Э. Э. Грузина, М. Р. Корчуганова ; Кемеровский государственный университет. – Кемерово : Кемеровский государственный университет, 2009. – Ч. I. – 130 с. : табл., схем. – Режим доступа: по подписке. – URL: http://biblioclub.ru/index.php?page=book&id=232495. – ISBN 978-5-8353-0934-4. – Текст : электронный.
Далингер, В. А. Информатика и математика. Решение уравнений и оптимизация в Mathcad и Maple : учебник и практикум для вузов / В. А. Далингер, С. Д. Симонженков. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2021. — 155 с. — URL: https://urait.ru/bcode/470841 — ISBN 978-5-534-11235-1. — Текст : электронный.
Прохорова, О. В. Информатика : учебник / О. В. Прохорова ; Самарский государственный архитектурно-строительный университет, Кафедра прикладной математики и вычислительной техники. – Самара : Самарский государственный архитектурно-строительный университет, 2013. – 106 с. : ил. – Режим доступа : по подписке. – URL : http://biblioclub.ru/index.php?page=book&id=256147. – Библиогр. в кн. – ISBN 978-5-9585-0539-5. – Текст : электронный.
Царев, А. В. Элементы абстрактной и компьютерной алгебры: учебное пособие / А. В. Царев, Г. В. Шеина ; учред. Московский педагогический государственный университет. – Москва : Московский педагогический государственный университет (МПГУ), 2016. – 116 с. : ил. – Режим доступа : по подписке. – URL : http://biblioclub.ru/index.php?page=book&id=471787. – Библиогр. в кн. – ISBN 978-5-4263-0393-5. – Текст : электронный.