Числовой анализ - Numerical analysis

Вавилонская глиняная табличка YBC 7289 (ок. 1800–1600 гг. до н.э.) с аннотациями. Приближение квадратный корень из 2 четыре шестидесятеричный цифры, а это около шести десятичный цифры. 1 + 24/60 + 51/602 + 10/603 = 1.41421296...[1]

Числовой анализ это изучение алгоритмы которые используют числовые приближение (в отличие от символические манипуляции ) для проблем математический анализ (в отличие от дискретная математика ). Численный анализ, естественно, находит применение во всех областях инженерии и физических наук, но в 21 веке также науки о жизни, социальные науки, медицина, бизнес и даже искусство приняли элементы научных вычислений. Рост вычислительной мощности произвел революцию в использовании реалистичных математических моделей в науке и технике, и для реализации этих подробных моделей мира требуется тонкий численный анализ. Например, обыкновенные дифференциальные уравнения появляться в небесная механика (прогнозирование движения планет, звезд и галактик); числовая линейная алгебра важен для анализа данных;[2][3][4] стохастические дифференциальные уравнения и Цепи Маркова необходимы для моделирования живых клеток в медицине и биологии.

До появления современных компьютеров численные методы часто зависел от руки интерполяция формулы, применяемые к данным из больших печатных таблиц. С середины 20 века вместо этого компьютеры вычисляют требуемые функции, но многие из тех же формул, тем не менее, продолжают использоваться как часть программных алгоритмов.[5]

Числовая точка зрения восходит к самым ранним математическим сочинениям. Планшет от Йельский вавилонский сборник (YBC 7289 ) дает шестидесятеричный численное приближение квадратный корень из 2, длина диагональ в единичный квадрат.

Численный анализ продолжает эту давнюю традицию: вместо точных символьных ответов, которые могут быть применены к реальным измерениям только путем перевода в цифры, он дает приблизительные решения с заданными пределами погрешности.

Общее введение

Общей целью области численного анализа является разработка и анализ методов, позволяющих дать приблизительные, но точные решения сложных проблем, разнообразие которых определяется следующим:

  • Передовые численные методы необходимы для создания численный прогноз погоды достижимый.
  • Вычисление траектории космического корабля требует точного численного решения системы обыкновенных дифференциальных уравнений.
  • Автомобильные компании могут повысить безопасность своих автомобилей при столкновении с ними, используя компьютерное моделирование автомобильных аварий. Такое моделирование по существу состоит из решения уравнения в частных производных численно.
  • Хедж-фонды (частные инвестиционные фонды) используют инструменты из всех областей численного анализа, чтобы попытаться вычислить стоимость акции и производные точнее, чем у других участников рынка.
  • Авиакомпании используют сложные алгоритмы оптимизации для определения цен на билеты, назначения самолетов и экипажа, а также потребностей в топливе. Исторически такие алгоритмы разрабатывались в пересекающихся областях исследование операций.
  • Страховые компании используют числовые программы для актуарный анализ.

Остальная часть этого раздела описывает несколько важных тем численного анализа.

История

Численный анализ появился на много веков раньше, чем были изобретены современные компьютеры. Линейная интерполяция уже использовался более 2000 лет назад. Многие великие математики прошлого были заняты численным анализом,[5] как видно из названий таких важных алгоритмов, как Метод Ньютона, Полином интерполяции Лагранжа, Гауссово исключение, или же Метод Эйлера.

Чтобы облегчить вычисления вручную, были созданы большие книги с формулами и таблицами данных, таких как точки интерполяции и коэффициенты функций. Используя эти таблицы, часто рассчитываемые с точностью до 16 знаков после запятой или более для некоторых функций, можно найти значения, которые можно использовать в приведенных формулах, и получить очень хорошие численные оценки некоторых функций. Каноническая работа в этой области - это NIST издание под редакцией Абрамовиц и Стегун, книга объемом более 1000 страниц с очень большим количеством часто используемых формул и функций и их значений во многих точках. Значения функций больше не очень полезны, когда доступен компьютер, но большой список формул может быть очень удобен.

В механический калькулятор также был разработан как инструмент для ручных вычислений. Эти калькуляторы превратились в электронные компьютеры в 1940-х годах, и тогда было обнаружено, что эти компьютеры также были полезны для административных целей. Но изобретение компьютера также повлияло на численный анализ,[5] теперь можно было делать более длинные и сложные вычисления.

Прямые и итерационные методы

Рассмотрим проблему решения

3Икс3 + 4 = 28

для неизвестного количества Икс.

Прямой метод
3Икс3 + 4 = 28.
Вычтите 43Икс3 = 24.
Разделить на 3Икс3 =  8.
Возьмите кубические корниИкс =  2.

Для итеративного метода примените метод деления пополам к ж(Икс) = 3Икс3 - 24. Начальные значения: а = 0, б = 3, ж(а) = −24, ж(б) = 57.

Итерационный метод
абсерединаж(середина)
031.5−13.875
1.532.2510.17...
1.52.251.875−4.22...
1.8752.252.06252.32...

Из этой таблицы можно сделать вывод, что решение находится между 1,875 и 2,0625. Алгоритм может вернуть любое число в этом диапазоне с ошибкой менее 0,2.

Дискретность и численное интегрирование

Шумахер (Ferrari) на тренировке на USGP 2005.jpg

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

Время0:201:001:40
км / ч140150180

А дискретизация можно сказать, что скорость автомобиля была постоянной от 0:00 до 0:40, затем от 0:40 до 1:20 и, наконец, от 1:20 до 2:00. Например, общее расстояние, пройденное за первые 40 минут, составляет примерно (2/3 ч × 140 км / ч) = 93,3 км. Это позволило бы нам оценить общее пройденное расстояние как 93,3 км + 100 км + 146 км = 313,3 км, который является примером численное интегрирование (см. ниже) с помощью Сумма Римана, потому что смещение - это интеграл скорости.

Плохо обусловленная проблема: возьмите функцию ж(Икс) = 1/(Икс − 1). Обратите внимание, что ж(1.1) = 10 и ж(1.001) = 1000: изменение Икс менее 0,1 превращается в изменение ж(Икс) почти 1000. Оценка ж(Икс) возле Икс = 1 - плохо обусловленная задача.

Хорошо обусловленная проблема: напротив, оценка той же функции ж(Икс) = 1/(Икс − 1) возле Икс = 10 - это хорошо сформулированная задача. Например, ж(10) = 1/9 ≈ 0,111 и ж(11) = 0,1: небольшое изменение Икс приводит к скромному изменению ж(Икс).

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

В отличие от прямых методов, итерационные методы не ожидается, что они завершатся за конечное число шагов. Начиная с первоначального предположения, итерационные методы формируют последовательные приближения, которые сходиться к точному решению только в пределе. Проверка сходимости, часто включающая остаточный, указывается, чтобы решить, когда (надеюсь) было найдено достаточно точное решение. Даже при использовании арифметики с бесконечной точностью эти методы не дадут решения за конечное число шагов (как правило). Примеры включают метод Ньютона, метод метод деления пополам, и Итерация Якоби. В вычислительной матричной алгебре итерационные методы обычно необходимы для решения больших задач.[6][7][8][9]

Итерационные методы более распространены, чем прямые методы в численном анализе. Некоторые методы в принципе являются прямыми, но обычно используются так, как будто их нет, например GMRES и метод сопряженных градиентов. Для этих методов количество шагов, необходимых для получения точного решения, настолько велико, что приближение принимается таким же образом, как и для итерационного метода.

Дискретность

Более того, непрерывные задачи иногда необходимо заменять дискретной задачей, решение которой, как известно, приближается к решению непрерывной задачи; этот процесс называется 'дискретизация '. Например, решение дифференциальное уравнение это функция. Эта функция должна быть представлена ​​конечным количеством данных, например, ее значением в конечном числе точек в ее области определения, даже если эта область является континуум.

Генерация и распространение ошибок

Изучение ошибок составляет важную часть численного анализа. Есть несколько способов внесения ошибки в решение проблемы.

Округлять

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

Ошибка усечения и дискретизации

Ошибки усечения совершаются, когда итерационный метод завершается или математическая процедура приближается, и приближенное решение отличается от точного решения. Аналогичным образом дискретизация индуцирует ошибка дискретизации потому что решение дискретной задачи не совпадает с решением непрерывной задачи. Например, в итерации на боковой панели для вычисления решения , после 10 или около того итераций можно сделать вывод, что корень равен примерно 1,99 (например). Следовательно, возникает ошибка усечения 0,01.

Как только возникает ошибка, она обычно распространяется на все вычисления. Например, уже отмечалось, что операция + на калькуляторе (или компьютере) неточна. Отсюда следует, что расчет типа еще более неточен.

Ошибка усечения возникает при приближении математической процедуры. Для точного интегрирования функции требуется найти сумму бесконечных трапеций, но численно можно найти только сумму только конечных трапеций и, следовательно, приближение математической процедуры. Аналогично, чтобы дифференцировать функцию, дифференциальный элемент приближается к нулю, но численно можно выбрать только конечное значение дифференциального элемента.

Численная устойчивость и корректные задачи

Численная стабильность это понятие численного анализа. Алгоритм называется численно стабильным, если ошибка, независимо от ее причины, не становится намного больше во время расчета.[10] Это происходит, если проблема в 'хорошо кондиционированный ', что означает, что решение изменяется только на небольшую величину, если данные проблемы изменяются на небольшую величину.[10] Напротив, если проблема «плохо обусловлена», то любая маленькая ошибка в данных перерастет в большую ошибку.[10]

Как исходная проблема, так и алгоритм, использованный для ее решения, могут быть «хорошо обусловленными» или «плохо обусловленными», и возможна любая комбинация.

Таким образом, алгоритм, который решает хорошо обусловленную задачу, может быть численно стабильным или численно нестабильным. Искусство численного анализа состоит в том, чтобы найти устойчивый алгоритм решения корректной математической задачи. Например, вычисление квадратного корня из 2 (что составляет примерно 1,41421) - хорошо поставленная задача. Многие алгоритмы решают эту проблему, начиная с начального приближения. Икс0 к , например Икс0 = 1,4, а затем вычисление улучшенных предположений Икс1, Икс2и т. д. Одним из таких методов является знаменитый Вавилонский метод, который задается Иксk+1 = Иксk/2 + 1/Иксk. Другой метод, называемый «методом X», предоставляется Иксk+1 = (Иксk2 − 2)2 + Иксk.[примечание 1] Несколько итераций каждой схемы рассчитаны в виде таблицы ниже с исходными предположениями. Икс0 = 1,4 и Икс0 = 1.42.

ВавилонскийВавилонскийМетод XМетод X
Икс0 = 1.4Икс0 = 1.42Икс0 = 1.4Икс0 = 1.42
Икс1 = 1.4142857...Икс1 = 1.41422535...Икс1 = 1.4016Икс1 = 1.42026896
Икс2 = 1.414213564...Икс2 = 1.41421356242...Икс2 = 1.4028614...Икс2 = 1.42056...
......
Икс1000000 = 1.41421...Икс27 = 7280.2284...

Заметьте, что вавилонский метод сходится быстро независимо от первоначального предположения, тогда как метод X сходится чрезвычайно медленно с первоначальным предположением. Икс0 = 1,4 и расходится для первоначального предположения Икс0 = 1,42. Следовательно, вавилонский метод численно устойчив, а метод X численно нестабилен.

Численная стабильность зависит от количества значащих цифр, которые поддерживает машина, если используется машина, которая хранит только четыре старших десятичных цифры, хороший пример потери значимости может быть дан с помощью этих двух эквивалентных функций
Сравнение результатов
и
сравнивая два приведенных выше результата, становится ясно, что потеря значимости (вызванное здесь «катастрофической отменой») оказывает огромное влияние на результаты, хотя обе функции эквивалентны, как показано ниже.
Желаемое значение, вычисленное с использованием бесконечной точности, равно 11,174755 ...
  • Пример является модификацией примера, взятого у Мэтью; Численные методы с использованием Matlab, 3-е изд.

Направления обучения

Область численного анализа включает в себя множество дисциплин. Вот некоторые из основных:

Вычисление значений функций

Интерполяция: наблюдая, что температура изменяется от 20 градусов Цельсия в 1:00 до 14 градусов в 3:00, линейная интерполяция этих данных сделает вывод, что она была 17 градусов в 2:00 и 18,5 градусов в 13:30.

Экстраполяция: если валовой внутренний продукт страны растет в среднем на 5% в год и составлял 100 миллиардов в прошлом году, можно экстраполировать, что в этом году он составит 105 миллиардов.

Линия через 20 точек

Регрессия: в линейной регрессии, учитывая п точек, вычисляется линия, которая проходит как можно ближе к тем п точки.

Сколько стоит стакан лимонада?

Оптимизация: скажем, лимонад продается по подставка для лимонада, по цене 1 197 стаканов лимонада можно продавать в день, и что при каждом увеличении на 0,01 доллара в день будет продаваться на один стакан лимонада меньше. Если бы можно было взимать 1,485 долларов, прибыль была бы максимальной, но из-за ограничений, связанных с необходимостью взимать целую сумму в центах, взимание 1,48 или 1,49 доллара за стакан принесет максимальный доход в 220,52 доллара в день.

Направление ветра синим, истинная траектория - черным, метод Эйлера - красным.

Дифференциальное уравнение: если 100 вентиляторов настроены так, чтобы продувать воздух из одного конца комнаты в другой, а затем на ветер бросается перо, что произойдет? Перо будет следовать за воздушными потоками, что может быть очень сложным. Одним из приближений является измерение скорости, с которой воздух дует около пера каждую секунду, и продвижение имитируемого пера, как если бы оно двигалось по прямой с той же скоростью в течение одной секунды, прежде чем снова измерить скорость ветра. Это называется Метод Эйлера для решения обыкновенного дифференциального уравнения.

Одна из простейших задач - вычисление функции в заданной точке. Самый простой подход - просто подставить число в формулу - иногда не очень эффективен. Для полиномов лучше использовать Схема Хорнера, поскольку уменьшает необходимое количество умножений и сложений. Как правило, важно оценивать и контролировать ошибки округления возникшие в результате использования плавающая точка арифметика.

Интерполяция, экстраполяция и регрессия

Интерполяция решает следующую проблему: учитывая значение некоторой неизвестной функции в нескольких точках, какое значение эта функция имеет в какой-либо другой точке между заданными точками?

Экстраполяция очень похожа на интерполяцию, за исключением того, что теперь необходимо найти значение неизвестной функции в точке, которая находится за пределами данных точек.[11]

Регресс аналогично, но с учетом неточности данных. Учитывая некоторые точки и измерение значения некоторой функции в этих точках (с ошибкой), можно найти неизвестную функцию. В наименьших квадратов -method - один из способов добиться этого.

Решение уравнений и систем уравнений

Другой фундаментальной проблемой является вычисление решения некоторого заданного уравнения. Обычно различают два случая, в зависимости от того, является уравнение линейным или нет. Например, уравнение линейно, а не является.

Много усилий было вложено в разработку методов решения системы линейных уравнений. Стандартные прямые методы, т. Е. Методы, использующие некоторые матричное разложение находятся Гауссово исключение, LU разложение, Разложение Холецкого за симметричный (или же эрмитский ) и положительно определенная матрица, и QR-разложение для неквадратных матриц. Итерационные методы, такие как Метод Якоби, Метод Гаусса – Зейделя, последовательное чрезмерное расслабление и метод сопряженных градиентов[12] обычно предпочтительны для больших систем. Общие итерационные методы могут быть разработаны с использованием расщепление матрицы.

Алгоритмы поиска корней используются для решения нелинейных уравнений (они названы так, потому что корень функции является аргументом, для которого функция дает ноль). Если функция дифференцируемый и производная известна, тогда метод Ньютона является популярным выбором.[13][14] Линеаризация это еще один метод решения нелинейных уравнений.

Решение собственных или сингулярных задач

Несколько важных проблем можно сформулировать в терминах разложение на собственные значения или же сингулярные разложения. Например, спектральное сжатие изображения алгоритм[15] основан на разложении по сингулярным числам. Соответствующий инструмент в статистике называется Анализ главных компонентов.

Оптимизация

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

Область оптимизации далее разбивается на несколько подполей, в зависимости от формы целевая функция и ограничение. Например, линейное программирование имеет дело со случаем, когда и целевая функция, и ограничения линейны. Известный метод линейного программирования - симплекс-метод.

Методика Множители Лагранжа может использоваться для сведения проблем оптимизации с ограничениями к задачам неограниченной оптимизации.

Вычисление интегралов

Численное интегрирование, в некоторых случаях также известное как численное квадратура, запрашивает значение определенного интеграл.[16] Популярные методы используют один из Формулы Ньютона – Котеса (как правило средней точки или Правило Симпсона ) или же Квадратура Гаусса.[17] Эти методы основаны на стратегии «разделяй и властвуй», при которой интеграл относительно большого множества разбивается на интегралы меньшего множества. В более высоких измерениях, где эти методы становятся непомерно дорогими с точки зрения вычислительных затрат, можно использовать Монте-Карло или же квази-Монте-Карло методы (видеть Интеграция Монте-Карло[18]), или, в умеренно больших размерах, метод разреженные сетки.

Дифференциальные уравнения

Численный анализ также связан с вычислением (приближенным способом) решения дифференциальных уравнений, как обыкновенных дифференциальных уравнений, так и уравнений в частных производных.[19]

Уравнения с частными производными решаются путем сначала дискретизации уравнения, переводя его в конечномерное подпространство.[20] Это можно сделать с помощью метод конечных элементов,[21][22][23] а конечная разница метод[24] или (особенно в инженерии) метод конечных объемов.[25] Для теоретического обоснования этих методов часто используются теоремы из функциональный анализ. Это сводит проблему к решению алгебраического уравнения.

Программного обеспечения

С конца двадцатого века большинство алгоритмов реализовано на различных языках программирования. В Netlib репозиторий содержит различные наборы программных программ для численных задач, в основном в Фортран и C. Коммерческие продукты, реализующие множество различных числовых алгоритмов, включают IMSL и НАГ библиотеки; а бесплатно программное обеспечение альтернатива - это Научная библиотека GNU.

Спустя годы Королевское статистическое общество опубликовал многочисленные алгоритмы в своих Прикладная статистика (код для этих функций "AS": Вот ); ACM аналогично в своем Транзакции по математическому программному обеспечению (Код "TOMS" Вот ). Военно-морской центр надводной войны несколько раз публиковал свои Библиотека математических подпрограмм (код Вот ).

Существует несколько популярных приложений для численных вычислений, таких как MATLAB,[26][27][28] TK Solver, S-PLUS, и IDL[29] а также бесплатные альтернативы с открытым исходным кодом, такие как FreeMat, Scilab,[30][31] GNU Octave (аналогично Matlab) и IT ++ (библиотека C ++). Также существуют языки программирования, такие как р[32] (аналогично S-PLUS) и Python с такими библиотеками, как NumPy, SciPy[33][34][35] и SymPy. Производительность сильно различается: хотя векторные и матричные операции обычно бывают быстрыми, скалярные циклы могут отличаться по скорости более чем на порядок.[36][37]

Много системы компьютерной алгебры Такие как Mathematica также извлекайте выгоду из наличия арифметика произвольной точности что может обеспечить более точные результаты.[38][39][40][41]

Также любые электронная таблица программного обеспечения может использоваться для решения простых задач, относящихся к численному анализу. Excel, например, сотни доступные функции, в том числе для матриц, которые могут использоваться совместно с его встроенный "решатель".

Смотрите также

Примечания

  1. ^ Это итерация с фиксированной точкой для уравнения , решения которого включают . Итерации всегда перемещаются вправо, так как . Следовательно сходится и расходится.

Рекомендации

Цитаты

  1. ^ Фотография, иллюстрация и описание корень (2) табличка из вавилонской коллекции Йельского университета
  2. ^ Деммель, Дж. У. (1997). Прикладная числовая линейная алгебра. СИАМ.
  3. ^ Чиарлет П. Г., Миара Б. и Томас Дж. М. (1989). Введение в численную линейную алгебру и оптимизацию. Издательство Кембриджского университета.
  4. ^ Trefethen, Ллойд; Бау III, Дэвид (1997). Числовая линейная алгебра (1-е изд.). Филадельфия: СИАМ.
  5. ^ а б c Брезинский, К., и Вайтак, Л. (2012). Численный анализ: исторические события в 20 веке. Эльзевир.
  6. ^ Саад, Ю. (2003). Итерационные методы для разреженных линейных систем. СИАМ.
  7. ^ Хагеман, Л. А., и Янг, Д. М. (2012). Прикладные итерационные методы. Курьерская корпорация.
  8. ^ Трауб, Дж. Ф. (1982). Итерационные методы решения уравнений. Американское математическое общество.
  9. ^ Гринбаум, А. (1997). Итерационные методы решения линейных систем. СИАМ.
  10. ^ а б c Хайэм, Н. Дж. (2002). Точность и устойчивость численных алгоритмов (Том 80). СИАМ.
  11. ^ Брезинский, К., и Загля, М. Р. (2013). Методы экстраполяции: теория и практика. Эльзевир.
  12. ^ Hestenes, Magnus R .; Штифель, Эдуард (декабрь 1952 г.). «Методы сопряженных градиентов для решения линейных систем». Журнал исследований Национального бюро стандартов. 49 (6): 409.
  13. ^ Эскерро Фернандес, Х.А., и Эрнандес Верон, М.А. (2017). Метод Ньютона: обновленный подход теории Канторовича. Birkhäuser.
  14. ^ Питер Деуфлхард, Методы Ньютона для нелинейных задач. Аффинная инвариантность и адаптивные алгоритмы, второе печатное издание. Серия Computational Mathematics 35, Springer (2006)
  15. ^ Разложение по сингулярным значениям и его применение в сжатии изображений В архиве 4 октября 2006 г. Wayback Machine
  16. ^ Дэвис, П. Дж., И Рабиновиц, П. (2007). Методы численного интегрирования. Курьерская корпорация.
  17. ^ Вайсштейн, Эрик В. «Гауссова квадратура». Материал из MathWorld - веб-ресурса Wolfram. математический мир.wolfram.com/ GaussianQuadrature.html
  18. ^ Гевеке, Дж. (1995). Моделирование методом Монте-Карло и численное интегрирование. Федеральный резервный банк Миннеаполиса, Департамент исследований.
  19. ^ Изерлес, А. (2009). Первый курс численного анализа дифференциальных уравнений. Издательство Кембриджского университета.
  20. ^ Эймс, У. Ф. (2014). Численные методы для уравнений в частных производных. Академическая пресса.
  21. ^ Джонсон, К. (2012). Численное решение уравнений в частных производных методом конечных элементов. Курьерская корпорация.
  22. ^ Бреннер С. и Скотт Р. (2007). Математическая теория методов конечных элементов. Springer Science & Business Media.
  23. ^ Стрэнг, Г., & Фикс, Г. Дж. (1973). Анализ метода конечных элементов. Энглвуд Клиффс, Нью-Джерси: Прентис-холл.
  24. ^ Стрикверда, Дж. К. (2004). Конечно-разностные схемы и уравнения в частных производных. СИАМ.
  25. ^ Левек, Рэндалл (2002), Методы конечных объемов для гиперболических задач, Cambridge University Press.
  26. ^ Квартерони А., Салери Ф. и Жервазио П. (2006). Научные вычисления с MATLAB и Octave. Берлин: Springer.
  27. ^ Gander, W., & Hrebicek, J. (Eds.). (2011). Решение задач в научных вычислениях с использованием Maple и Matlab®. Springer Science & Business Media.
  28. ^ Барнс Б. и Фулфорд Г. Р. (2011). Математическое моделирование с тематическими исследованиями: подход дифференциальных уравнений с использованием Maple и MATLAB. Чепмен и Холл / CRC.
  29. ^ Гамли, Л. Э. (2001). Практическое программирование на IDL. Эльзевир.
  30. ^ Банкс, К., Чанселер, Дж. П., Делебек, Ф., Гурса, М., Никукха, Р., и Стир, С. (2012). Инженерные и научные вычисления с помощью Scilab. Springer Science & Business Media.
  31. ^ Танки, Р. М., и Котари, А. М. (2019). Цифровая обработка изображений с помощью SCILAB. Издательство Springer International.
  32. ^ Ихака Р. и Джентльмен Р. (1996). R: язык для анализа данных и графики. Журнал вычислительной и графической статистики, 5 (3), 299-314.
  33. ^ Джонс, Э., Олифант, Т., и Петерсон, П. (2001). SciPy: научные инструменты с открытым исходным кодом для Python.
  34. ^ Брессерт, Э. (2012). SciPy и NumPy: обзор для разработчиков. "O'Reilly Media, Inc.".
  35. ^ Бланко-Сильва, Ф. Дж. (2013). Изучение SciPy для численных и научных вычислений. Packt Publishing Ltd.
  36. ^ Сравнение скорости различных пакетов обработки чисел В архиве 5 октября 2006 г. Wayback Machine
  37. ^ Сравнение математических программ для анализа данных В архиве 18 мая 2016 г. в португальском веб-архиве Стефан Штайнхаус, ScientificWeb.com
  38. ^ Мэдер, Р. Э. (1991). Программирование в математике. Addison-Wesley Longman Publishing Co., Inc.
  39. ^ Стивен Вольфрам. (1999). Книга MATHEMATICA®, версия 4. Издательство Кембриджского университета.
  40. ^ Шоу В. Т. и Тигг Дж. (1993). Прикладная математика: начало работы, реализация. Эддисон-Уэсли Лонгман Паблишинг Ко., Инк.
  41. ^ Мараско, А., и Романо, А. (2001). Научные вычисления с помощью Mathematica: математические задачи для обыкновенных дифференциальных уравнений; с CD-ROM. Springer Science & Business Media.

Источники

  • Голуб, Джин Х.; Чарльз Ф. Ван Лоан (1986). Матричные вычисления (3-е изд.). Издательство Университета Джона Хопкинса. ISBN  0-8018-5413-X.
  • Хайэм, Николас Дж. (1996). Точность и стабильность численных алгоритмов.. Общество промышленной и прикладной математики. ISBN  0-89871-355-2.
  • Хильдебранд, Ф. (1974). Введение в численный анализ (2-е изд.). Макгроу-Хилл. ISBN  0-07-028761-9.
  • Лидер Джеффри Дж. (2004). Численный анализ и научные вычисления. Эддисон Уэсли. ISBN  0-201-73499-0.
  • Уилкинсон, Дж. (1965). Алгебраическая проблема собственных значений. Кларендон Пресс.
  • Кахан, В. (1972). Обзор анализа ошибок. Proc. Конгресс ИФИП 71 в Любляне. Информация. Обработка 71. т. 2. Амстердам: Издательство Северной Голландии. С. 1214–39. (примеры важности точной арифметики).
  • Trefethen, Ллойд Н. (2006). "Числовой анализ", 20 стр. В: Тимоти Гауэрс и Джун Барроу-Грин (редакторы), Принстонский компаньон математики, Princeton University Press.

внешняя ссылка

Журналы

Онлайн-тексты

Материалы онлайн-курса