Численный анализ

Из Википедии, бесплатной энциклопедии

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

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

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

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

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

Приложения [ править ]

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

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

История [ править ]

Область численного анализа возникла на много столетий раньше изобретения современных компьютеров. Линейная интерполяция использовалась уже более 2000 лет назад. Многие великие математики прошлого были озабочены численным анализом. [5] как это очевидно из названий важных алгоритмов, таких как метод Ньютона , интерполяционный полином Лагранжа , метод исключения Гаусса или метод Эйлера . Истоки современного численного анализа часто связывают со статьей Джона фон Неймана и Германа Голдстайна 1947 года . [7] [8] но другие считают, что современный численный анализ восходит к работам Э. Т. Уиттакера в 1912 году. [7]

Публикация НИСТ

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

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

Премия Лесли Фокса в области численного анализа была учреждена в 1985 году Институтом математики и ее приложений .

Ключевые понятия [ править ]

Прямые и итерационные методы [ править ]

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

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

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

В качестве примера рассмотрим задачу решения

33x 3 + 4 = 28

для неизвестной величины x .

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

Для итерационного метода примените метод деления пополам к f ( x ) = 3 x 3 − 24. Начальные значения: a = 0, b = 3, f ( a ) = −24, f ( b ) = 57.

Итерационный метод
а б середина е (средний)
0 3 1.5 −13.875
1.5 3 2.25 10.17...
1.5 2.25 1.875 −4.22...
1.875 2.25 2.0625 2.32...

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

Кондиционирование [ править ]

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

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

Дискретизация [ править ]

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

Генерация и распространение ошибок [ править ]

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

Округление [ править ]

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

Ошибка усечения и дискретизации [ править ]

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

Как только ошибка генерируется, она распространяется на все вычисления. Например, операция + на компьютере является неточной. Расчет типа еще более неточно.

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

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

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

Области обучения [ править ]

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

Вычисление значений функций [ править ]

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

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

Линия через 20 точек
A line through 20 points

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

Сколько стоит стакан лимонада?
How much for a glass of lemonade?

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

Направление ветра показано синим цветом, истинная траектория - черным, метод Эйлера - красным.
Wind direction in blue, true trajectory in black, Euler method in red

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

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

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

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

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

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

Решение уравнений и систем уравнений [ править ]

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

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

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

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

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

Оптимизация [ править ]

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

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

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

Вычисление интегралов [ править ]

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

Дифференциальные уравнения [ править ]

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

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

Программное обеспечение [ править ]

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

На протяжении многих лет Королевское статистическое общество опубликовало множество алгоритмов в своей книге «Прикладная статистика» (код этих функций «AS» находится здесь ); ACM Аналогично в своих «Транзакциях по математическому программному обеспечению » (код «TOMS» находится здесь ). Центр надводных боевых действий ВМФ несколько раз публиковал свою Библиотеку математических подпрограмм (код здесь ).

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

Многие системы компьютерной алгебры, такие как Mathematica, также выигрывают от наличия арифметики произвольной точности, которая может обеспечить более точные результаты. [42] [43] [44] [45]

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

См. также [ править ]

Примечания [ править ]

Ссылки [ править ]

Цитаты [ править ]

  1. ^ «Фотография, иллюстрация и описание таблички root (2) из ​​Йельской вавилонской коллекции» . Архивировано из оригинала 13 августа 2012 года . Проверено 2 октября 2006 г.
  2. ^ Деммель, JW (1997). Прикладная численная линейная алгебра . СИАМ дои : 10.1137/1.9781611971446 . ISBN  978-1-61197-144-6 .
  3. ^ Сиарлет, PG; Миара, Б.; Томас, Дж. М. (1989). Введение в численную линейную алгебру и оптимизацию . Издательство Кембриджского университета. ISBN  9780521327886 . OCLC   877155729 .
  4. ^ Трефетен, Ллойд; Бау III, Дэвид (1997). Численная линейная алгебра . СИАМ. ISBN  978-0-89871-361-9 .
  5. ^ Перейти обратно: а б с Брезински, К.; Вуйтак, Л. (2012). Численный анализ: исторические события в 20 веке . Эльзевир. ISBN  978-0-444-59858-5 .
  6. ^ Стивен Блит. «Введение в количественные финансы» . 2013. страница VII.
  7. ^ Перейти обратно: а б Уотсон, Джорджия (2010). «История и развитие численного анализа в Шотландии: личный взгляд» (PDF) . Рождение численного анализа . Всемирная научная. стр. 161–177. ISBN  9789814469456 .
  8. ^ Бултил, Адемар ; Кулс, Рональд, ред. (2010). Рождение численного анализа . Том. 10. Мировая научная. ISBN  978-981-283-625-0 .
  9. ^ Саад, Ю. (2003). Итерационные методы для разреженных линейных систем . СИАМ. ISBN  978-0-89871-534-7 .
  10. ^ Хагеман, Луизиана; Янг, DM (2012). Прикладные итерационные методы (2-е изд.). Курьерская корпорация. ISBN  978-0-8284-0312-2 .
  11. ^ Трауб, Дж. Ф. (1982). Итерационные методы решения уравнений (2-е изд.). Американское математическое общество. ISBN  978-0-8284-0312-2 .
  12. ^ Гринбаум, А. (1997). Итерационные методы решения линейных систем . СИАМ. ISBN  978-0-89871-396-1 .
  13. ^ Перейти обратно: а б с Хайэм 2002 г.
  14. ^ Брезински, К.; Залья, MR (2013). Методы экстраполяции: теория и практика . Эльзевир. ISBN  978-0-08-050622-7 .
  15. ^ Хестенес, Магнус Р.; Штифель, Эдуард (декабрь 1952 г.). «Методы сопряженных градиентов для решения линейных систем» (PDF) . Журнал исследований Национального бюро стандартов . 49 (6): 409–. дои : 10.6028/jres.049.044 .
  16. ^ Эскерро Фернандес, JA; Эрнандес Верон, магистр искусств (2017). Метод Ньютона: обновленный подход к теории Канторовича . Березовые домики. ISBN  978-3-319-55976-6 .
  17. ^ Дефлхард, Питер (2006). Методы Ньютона для нелинейных задач. Аффинная инвариантность и адаптивные алгоритмы . Вычислительная математика. Том. 35 (2-е изд.). Спрингер. ISBN  978-3-540-21099-3 .
  18. ^ Огден, CJ; Хафф, Т. (1997). «Разложение по сингулярным значениям и его применение при сжатии изображений» (PDF) . Математика 45 . Колледж Редвудс. Архивировано из оригинала (PDF) 25 сентября 2006 года.
  19. ^ Дэвис, Пи Джей; Рабиновиц, П. (2007). Методы численного интегрирования . Курьерская корпорация. ISBN  978-0-486-45339-2 .
  20. ^ Вайсштейн, Эрик В. «Гауссова квадратура» . Математический мир .
  21. ^ Гевеке, Джон (1996). «15. Моделирование Монте-Карло и численное интегрирование» . Справочник по вычислительной экономике . Том. 1. Эльзевир. стр. 731–800. дои : 10.1016/S1574-0021(96)01017-9 . ISBN  9780444898579 .
  22. ^ Изерлес, А. (2009). Первый курс численного анализа дифференциальных уравнений (2-е изд.). Издательство Кембриджского университета. ISBN  978-0-521-73490-5 .
  23. ^ Эймс, ВФ (2014). Численные методы для уравнений в частных производных (3-е изд.). Академическая пресса. ISBN  978-0-08-057130-0 .
  24. ^ Джонсон, К. (2012). Численное решение уравнений в частных производных методом конечных элементов . Курьерская корпорация. ISBN  978-0-486-46900-3 .
  25. ^ Бреннер, С.; Скотт, Р. (2013). Математическая теория методов конечных элементов (2-е изд.). Спрингер. ISBN  978-1-4757-3658-8 .
  26. ^ Стрэнг, Г.; Фикс, Дж.Дж. (2018) [1973]. Анализ метода конечных элементов (2-е изд.). Уэлсли-Кембридж Пресс. ISBN  9780980232783 . OCLC   1145780513 .
  27. ^ Страйкерда, JC (2004). Конечно-разностные схемы и уравнения в частных производных (2-е изд.). СИАМ. ISBN  978-0-89871-793-8 .
  28. ^ Левек, Рэндалл (2002). Методы конечных объемов для решения гиперболических задач . Издательство Кембриджского университета. ISBN  978-1-139-43418-8 .
  29. ^ Квартерони, А.; Салери, Ф.; Джервасио, П. (2014). Научные вычисления с MATLAB и Octave (4-е изд.). Спрингер. ISBN  978-3-642-45367-0 .
  30. ^ Гандер, В.; Гребичек Дж., ред. (2011). Решение задач научных вычислений с использованием Maple и Matlab® . Спрингер. ISBN  978-3-642-18873-2 .
  31. ^ Барнс, Б.; Фулфорд, Греция (2011). Математическое моделирование с использованием тематических исследований: подход дифференциальных уравнений с использованием Maple и MATLAB (2-е изд.). ЦРК Пресс. ISBN  978-1-4200-8350-7 . OCLC   1058138488 .
  32. ^ Гамли, Ле (2001). Практическое IDL-программирование . Эльзевир. ISBN  978-0-08-051444-4 .
  33. ^ Банкс, К.; Канселье, JP; Делебек, Ф.; Гурса, М.; Никуха, Р.; Стир, С. (2012). Инженерные и научные вычисления с помощью Scilab . Спрингер. ISBN  978-1-4612-7204-5 .
  34. ^ Спасибо, РМ; Котари, AM (2019). Цифровая обработка изображений с помощью SCILAB . Спрингер. ISBN  978-3-319-89533-8 .
  35. ^ Ихака, Р.; Джентльмен, Р. (1996). «R: язык анализа данных и графики» (PDF) . Журнал вычислительной и графической статистики . 5 (3): 299–314. дои : 10.1080/10618600.1996.10474713 . S2CID   60206680 .
  36. ^ Безансон, Джефф; Эдельман, Алан; Карпински, Стефан; Шах, Вирал Б. (1 января 2017 г.). «Джулия: Свежий подход к численным вычислениям» . Обзор СИАМ . 59 (1): 65–98. дои : 10.1137/141000671 . hdl : 1721.1/110125 . ISSN   0036-1445 . S2CID   13026838 .
  37. ^ Джонс Э., Олифант Т. и Петерсон П. (2001). SciPy: научные инструменты с открытым исходным кодом для Python.
  38. ^ Брессерт, Э. (2012). SciPy и NumPy: обзор для разработчиков . О'Рейли. ISBN  9781306810395 .
  39. ^ Бланко-Сильва, Ф.Дж. (2013). Изучение SciPy для численных и научных вычислений . Пакет. ISBN  9781782161639 .
  40. Сравнение скорости различных пакетов обработки чисел. Архивировано 5 октября 2006 г. на Wayback Machine.
  41. ^ Сравнение математических программ для анализа данных. Архивировано 18 мая 2016 г. в Португальском веб-архиве. Стефан Штайнхаус, ScientificWeb.com.
  42. ^ Мэдер, Р.Э. (1997). Программирование по математике (3-е изд.). Аддисон-Уэсли. ISBN  9780201854497 . OCLC   1311056676 .
  43. ^ Вольфрам, Стивен (1999). Книга MATHEMATICA®, версия 4 . Издательство Кембриджского университета . ISBN  9781579550042 .
  44. ^ Шоу, WT; Тигг, Дж. (1993). Прикладная математика: с чего начать, как сделать (PDF) . Аддисон-Уэсли. ISBN  978-0-201-54217-2 . ОСЛК   28149048 .
  45. ^ Мараско, А.; Романо, А. (2001). Научные вычисления с помощью Mathematica: математические проблемы для обыкновенных дифференциальных уравнений . Спрингер. ISBN  978-0-8176-4205-1 .

Источники [ править ]

Внешние ссылки [ править ]

Журналы [ править ]

Онлайн-тексты [ править ]

Материалы онлайн-курса [ править ]