Главная » Просмотр файлов » Говорухин В., Цибулин Б. Компьютер в математическом исследовании

Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 45

Файл №1185927 Говорухин В., Цибулин Б. Компьютер в математическом исследовании (Говорухин В., Цибулин Б. Компьютер в математическом исследовании.djvu) 45 страницаГоворухин В., Цибулин Б. Компьютер в математическом исследовании (1185927) страница 452020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

Для подробной информации об этом пакете не обойтись без справки Мар(е, а мы ограничимся небольшим примером. Подключим пакет б)сса(д, определим алгебраическое кольцо и преобразуем в )ег- представление уравнение Кортевега-де Фриза: > и1СП(б)(га1д): > Н :- б(Г(егепсса) гспд(гапхспд-(и), бег!гаг)опа-(х,г), пега(1оп-б1(С); И:и РОВ Ппл > р:-бепоСе(ед, "Зе(".

я): Р:=и +и и — и (1 > хик Теперь выведем присутствующие в уравнении производные в порядке их возрас- тания: > бег)уамуеа(р.а. '1псгеаюпд1у'); с а а а' о(х, с), — и(х, с), — «(х, с), —, и(х, с) ас ' а» ' 'ах' Еще один алгебраический пакет Осе а(деЬса является коллекцией команд, реализующих операции алгебры линейных полиномиальных, дифференциальных и разностных операторов.

Команды пакета можно условно разделить на три группы: С) команды создания алгебр; с) команды для вычисления в созданных алгебрах; о команды преобразования выражений. При создании алгебр указываются объекты и их свойства. Проиллюстрируем ряд команд пакета примерами. Подключим пакет и создадим полиномйальную алгебру, наложив одно условие на объекты, а затем вычислим скалярное произведение двух выражений; > и)СП(дге а1деога): > В.-ро1у а1деьга(а.ь.х.у,а1д ге)ас1опа-(а+ь+Ц ): В:= Оге а)леЬга > 5)сои ргослссг(х+Ь.у+а,в): ах+ху+Ьу-1 238 Глава В. Матеиатические библиотеки Мар1е Теперь определим алгебру дифференциальных операторов, зададим выражение и преобразуем его к стандартному для Мар]е виду: > 4:-61(т а)деога([Ох,х],[ОУ,У]): А:= Оге о!леага > Р: Ох"2 -Оу 2-х у: Оге то 61тт(Р,(,4); Р:= Рх + Ру — х у ху((х У)+ Г(х У) + >йх*у) ~ Ох> ! ~ ду~ Пакет 6Е предназначен для определения конечного поля Галуа и операций над его константами и функциями, Пакет не требует дополнительного подключения.

Приведем пример определения поля (команда 6Е) и нескольких операций: > 61:- 6Е(2,3.а)роа"3-а)роа+1): > а :- 6ИСопчегт1п](а)рпа): аз>а > с:-61Г'""](а,5): с:= 1 + а + а > 61["+"](а.с): 1+ а' Для работы с алгебраическими кривыми предназначен пакет а[депп(ев, В состав пакета входят команды позволяющие преобразовывать алгебраические кривые, вводить на них параметризацию, вычислять монодромию и многое другое, Приведем простой пример. Подключим пакет, определим алгебраическую кривую, затем введем на ней параметризацию и вычислим монодромию: > >1СП(а)рсигчеа): > т; х 2+у 2-1; > ра галет г( тат!оп( т.х.

у Л); [| — '„' ',] > попа]гаау(т,х,у); [-1.8000000000, [-1.4966629547! 1, 1.49666295471!], [[-1., [[1,2]]), [1., [[1, 2П])] Пакет Ооп)а)па (старое название — банка) является инструментальным средством для реализации сложных алгоритмор. Разработчики Мар)е считают, что заложенные в атом пакете возможности по конструированию чобласти вычислений» позволяют писать лучшие коды. Вслед за фирмой Магог]оо Мар]е ]по.

мы полагаем, что заинтригованный читатель посмотрит файл справки с соответствующим примером по команде? Оааа1 па. ехаар] е. Мар1е и другие программы В этой главе рассматривается взаимодействие Мар!е с языками программирования, текстовыми редакторами, программами среды М(сгозой О(Все и пакетом численного анализа МАТ1.АВ. Это необходимо для анализа результатов аналитических выкладок Мар1е при помощи других программ и их использования при подготовке текстовых материалов (статей, книг, %%Ж-страниц и др.). Одним из вариантов использования аналитических результатов в численном анализе является их преобразование в коды языков С или Фортран с последующим программированием на них.

Другой путь состоит в применении высокоэффективных алгоритмов пакета МАТ1.АВ, описанию возможностей которого посвящена вторая часть этой книги. Мар)е поддерживает перевод рабочих документов в наиболее распространенные форматы для публикаций, такие как КТг, 1лТеХ и НТМ(.. Генерация кодов Мар1е, С и Фортран Пакет сос(еяеп предназначен для оптимизации текстов программ на языке Мар1е и перевода Мар!е-выражений в конструкции языков программирования. В этом разделе мы остановимся на некоторых командах работы с Мар!е-выражениями и перевода их на традиционные языки программирования — С и Фортран. Перед обращением к пакету его нужно подключить командой н) сЬ(са1ереп).

Сначала перечислим некоторые команды из пакета содейеп, предназначенные для модернизации текстов Мар1е-процедур и выражений: О ва1ергос(а, х) — переводит выражение а (или переменную типа1)зс, состоящую из выражений) в процедуру с параметром х (или набором параметров); О паМерагав(х, г) — преобразует переменную х, входящую в Мар!е-процедуру т, во входной параметр; О ва1ед1оЬа1(х, Г) — преобразует переменную х, входящую в Мар!е-процедуру т, в глобальную переменную; О оес1 а ге(х:: с, г) — описывает переменную х, входящую в мар1е-процедуру т, как переменную типа с; 240 Глава р. Иар(е и другие программы о яаГечо(»1(т) — преобразует Мар1е-процедуру с именем Г в процедуру без возврашаемого значения; (З ор11 ппге(ехрг) — оптимизирует Мар!е-выражение ехрг.

В качестве ехрг может выступать алгебраическое выражение, массив, набор уравнений или процедура; о ргер21гапз(Π— преобразует процедуру т к виду, удобному для перевода на алгоритмические языки. В частности, кусочно-непрерывныая функция (р1 есеы! зе) представляется как условный оператор, а сумма (5и»в) — как цикл; (З соа1(ехрг) — оценивает число злементарных операций, необходимых для выполнения выражения ехрг. Проиллюстрируем действие перечисленных команд на примере. Подключим пакет сос(е9еп: > и»1П(сссереп): Переменной Г присвоим выражение, зависящее от х и 1: > С (х-1) сц у:= (х — с)' Теперь преобразуем алгебраическое выражение Г в процедуру ГГ с одним входным параметром х неопределенного типа: > сс:-»сахергос(с,х); ,(Г:= рок(х) (х — с)"4 епа рпк Оценим число операций, необходимых для выполнения процедуры ГГ; > 1051(СС): 3 ти(дрдеапспс + а»С»С(с»апс Создадим новую процедуру ГГ1, которая является оптимизированным вариантом процедуры ГГ: > С(1:-ср1»п»гас(СГ); с)7 и рпк(х) 1оса1 »2; »2»т (х — с)"2; »2"2 епа рсос Оценим число операций, необходимых для выполнения процедуры 111: > 1051(С(1); стгаае + асссаптепгс + 2 тип(р((еадапс + а»С»С»с»апс Опишем тип входного х параметра как Г) оа1: >»Сес)аге(х»:т)са1,С(1): рсос(к;диас) 1сса1 с2; »2:= (х — с) 2; »2"2 еп») рпк Преобразуем процедуру ГГ1 в процедуру рр1 без возвращаемого значения: > рр1:-пв(»ечс1а(С(1): ХХС:= рсос(х:2)аас) 1сса1 с2; с2:= (х — с)"2; КЕ)Т)КХ( ) еп») рсос Преобразуем переменную 1, входящую в тело процедуры, во входной параметр типа Г)оа1; > Вр1:тса)»ерагзв(1::с)са1.чр1); ХХС >т рпк(х4Ьш, ау(аас) 1сса) с2; »2 га (х — с)"2; КЕПЗКК( ) спор»ос Генерация кодов Мар(еГС н Фар)ран к а1 Опишем локальную переменную Г2 из тела процедуры как глобальную: > 001:-свге01оаа! (12.001): ее1;= рпк(х::доас, 02)оас) е)оЬа1 г2; с2:= (х — с) "2; КЕТ()КЩ ) епс) рпк Для иллюстрации работы команды ргер2ггапз определим функцию Г, которая вычисляет интеграл функции з! п(ах) на интервале от 0 до и по формуле Симпсона.

Для этого воспользуемся командой з! ярзоп пакета атц г(епг и командой яакергос: >Г: еааергос(х(спеет(х!архон)(х!п(а*х),х-О..Р(,10), а::с)оаг); /:= рпк(а:р)оас) 1/30хпх(х(п(ахп) + 4хБппс(яп( !с!Охах(2х! — 1)хп), с =! .. 5) +2хвппс(яп(115хах!хп), с'= 1 .. 4)) епс( ргое Теперь обратимся к команде ргер2Ггапз: > ргер2(гапх(Г); ргое(а:2)оас) !оеа1 сс, !2, хс, х2, сс, с2; хс:= 0; Еог с! го 5 с)о хс:= хс+ яп(1!!Охах(2хс! — 1)хп) епс( с)о; х2 к0; Гог 12 со 4 с)о х2:= х2+ яп(1)5хахс2хп) епс) с)о; ! )30хпх( х! и( ахп) + 4хх) + 2хх2) епс) рпк Обратим внимание на то, что все суммы в результате действия команды ргер2гге па были преобразованы в операторы циклов. Описанные процедуры часто используются для приведения Мар!е-выражений к виду, удобному для преобразования в программы на языках программирования.

Перейдем теперь непосредственно к командам перевода Мар1е-выражений на алгоритмические языки. Вывод выражения в виде Фортран-операторов осуществляется по команде Согггап(ехрг.орг!опх) Здесь в качестве ехрг Могут выступать выражение, массив выражений, процедура или список уравнений. Параметры орг! Опз могут принимать следующие значения: Г!)епапе=" папе, ех(" (результат выводится в файл), орс ! в! 2еО (Фортран-выражения оптимизируются, вводятся вспомогательные переменные), 0101 Ыз и яссе (задание точности вычислений).

Чтобы записать выражение на языке С, необходимо пользоваться командой С(ехрг.оргсопх) Параметры этой команды аналогич(1ы параметрам, описанным для команды гогггап. 242 Глава д, Нар(е и другие програииы Приведем примеры использования этих двух команд. Сначала определим выражение й а затем переведем его на С и Фортран: > Г; а+Ь 5>а(п(Ь 3); гх>а+Ь а)п(Ь~) > С((): гд - а+Ь>Ь>Ь>Ь>Ь*ип(Ь>Ь>Ы: > гогггап(;).

10 - а+Ь>'5"а1п(Ь '3) Теперь обратимся к команде С с параметром оптимизации текста выражения: > с(г.орг(а(гео); 11 ь>ь: 12 11>11: 15 Мп(11*Ыд г7 а+12>Ь>г5; Для оптимизации выражения введены дополнительные переменные, которые необходимо описывать вручную в программе на С. Это не так сложно в случае небольших формул, но может стать очень трудоемким для громоздких выражений. Для избежания ручного труда преобразуем выражение в процедуру с двумя параметрами и снова обратимся к команде С: 3;а ргос(ау)оаг, Ьу)оа() а + Ь"5хйп(Ь"3) епа ргос > С(д.орма1гее): ()1пс)осе аа(П.П> доиЫе д(а, Ы ОооЫе а: оонЫе Ь: ( ОооЫе 11: ОооЫе 12: ОооЫе 15; ( 11 Ь"Ь: 12- 11*ы: 15 а(п(11*Ы: гегогп(а+12'Ь*г5): ) ) В результате получился текст процедуры на языке С, не требующий никакой дополнительной работы.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6489
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее