~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 580B9D62B5ACEC0E67CA6D3EA0DDDB46__1718063640 ✰
Заголовок документа оригинал.:
✰ Scientific programming language - Wikipedia ✰
Заголовок документа перевод.:
✰ Язык научного программирования — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Scientific_programming_language ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/58/46/580b9d62b5acec0e67ca6d3ea0dddb46.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/58/46/580b9d62b5acec0e67ca6d3ea0dddb46__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:24:05 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 11 June 2024, at 02:54 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Язык научного программирования — Википедия Jump to content

Научный язык программирования

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

В компьютерном программировании язык научного программирования может относиться к двум степеням одного и того же понятия.

В широком смысле научный язык программирования — это язык программирования , который широко используется в вычислительной науке и вычислительной математике . В этом смысле C/C++ и Python можно считать научными языками программирования.

В более строгом смысле научный язык программирования — это язык, разработанный и оптимизированный для использования математических формул и матриц . [1] Такие языки характеризуются не только наличием библиотек, выполняющих математические или научные функции, но и синтаксисом самого языка. [2] Например, ни в C++, ни в Python нет встроенных матричных типов или функций для матричной арифметики (сложение, умножение и т. д.); вместо этого эта функциональность доступна через стандартные библиотеки. Языки научного программирования в более строгом смысле ALGOL , APL , Fortran , J , Julia , Maple , MATLAB , Octave и R. включают [3] [4]

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

Примеры [ править ]

Линейная алгебра [ править ]

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

A   =   rand  (  20  ,   20  )    # A — матрица 20x20 
 b   =   rand  (  20  )        # b — вектор из 20 элементов 
 x   =   A  \  b             # x — решение A*x = b 

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

Математическая оптимизация [ править ]

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

используя   Optim 

 P  (  x  ,  y  )   =   x  ^  2   -   3  x  *  y   +   5  y  ^  2   -   7  y   +   3 

 z₀   =   [   0.0 
        0.0   ]       # отправная точка для 

 оптимизации  алгоритма оптимизации (  z   ->   P  (  z  ...  ),   z₀  ,   Ньютон  (); 
          autodiff   =   :forward  ) 

В этом примере метод минимизации Ньютона используется . Современные языки научного программирования будут использовать автоматическое дифференцирование для вычисления градиентов и гессианов функции, заданной в качестве входных данных; ср. дифференцируемое программирование . Здесь для этой задачи было выбрано автоматическое прямое дифференцирование. Старые языки научного программирования, такие как почтенный Фортран, требовали от программиста передать рядом с оптимизируемой функцией функцию, вычисляющую градиент, и функцию, вычисляющую гессиан.

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

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

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

  1. ^ «Определение научного языка» . Энциклопедия журнала PC Magazine . Зифф Дэвис . Проверено 13 мая 2021 г.
  2. ^ «Научный язык – Определение научного языка» . Ваш словарь . Компания Computer Language Company Inc. Проверено 27 марта 2014 г.
  3. ^ Нин, Эндрю. «Языки научного программирования» . Лаборатория полета, оптимизации и ветра . Университет Бригама Янга . Проверено 13 мая 2021 г.
  4. ^ Закари, Джозеф. «Введение в научное программирование: решение вычислительных задач с использованием Maple и C» . Джозеф Л. Закари . Университет Юты . Проверено 13 мая 2021 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 580B9D62B5ACEC0E67CA6D3EA0DDDB46__1718063640
URL1:https://en.wikipedia.org/wiki/Scientific_programming_language
Заголовок, (Title) документа по адресу, URL1:
Scientific programming language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)