ILЦифровые значения
Разработчик(и) | ILЦифровые значения |
---|---|
Стабильная версия | v6.0 / 20 июля 2022 г |
Написано в | С# , Визуальный Бейсик |
Операционная система | .NET Framework / Mono , Windows , Linux , MacOS |
Платформа | IA-32 , x86-64 , любой процессор |
Тип | Технические вычисления , Математическое программное обеспечение |
Лицензия | Собственный |
Веб-сайт | числовые значения |
ILNumerics — это библиотека математических классов для разработчиков Common Language Infrastructure ) и предметно-ориентированный язык (DSL) для реализации числовых ( CLI алгоритмов на платформе .NET . В то время как алгебраические системы с графическими пользовательскими интерфейсами ориентированы на прототипирование алгоритмов, реализация таких алгоритмов в приложениях, готовых к распространению, осуществляется с помощью среды разработки и языки программирования общего назначения (GPL) . ILNumerics — это расширение Visual Studio , предназначенное для поддержки создания технических приложений на основе .NET.
История
[ редактировать ]ILNumerics стартовал в 2006 году как проект с открытым исходным кодом, созданный Техническим университетом Берлина . [1] В 2007 году ILNumerics выиграла конкурс BASTA! Награда за инновации 2007 г. [2] как самый инновационный .NET-проект в Германии , Швейцарии и Австрии . После 6 лет разработки с открытым исходным кодом в 2011 году к проекту добавилась проприетарная лицензия с закрытым исходным кодом, одновременно ориентированная на деловых и академических разработчиков. Проект быстро завоевал популярность (количество загрузок и активность на stackoverflow.com, [3] [4] [5] количество загрузок с веб-сайта недоступно). платформа .NET основы была выбрана В качестве управляемой , поскольку предыдущие попытки создания платформы Java были прекращены из-за технических ограничений. Аналогичным образом, платформа .NET не была разработана с учетом требований разработки технических приложений. В ILNumerics добавлены интерфейсы к популярным кодам ( LAPACK , FFTW ), комплексным числам и универсальным многомерных массивов классам . В 2010 году были добавлены графические возможности. Попытки повысить производительность технологии были предприняты в 2011 году. Тогда же была основана компания для продолжения развития. Технологическая цель — сделать инфраструктуру .NET реальной альтернативой неуправляемым языкам для числовых вычислений.
Синтаксис
[ редактировать ]ILNumerics реализует базовый функционал, часто необходимый для разработки приложений в технических областях: N-мерные массивы , комплексные числа , линейная алгебра , БПФ и построением графиков элементы управления (2D и 3D ). Классы массивов полностью совместимы с функциями массивов Matlab и numpy , включая порядок внутреннего хранения, создание подмассивов, расширение и расширенную индексацию. Функциональность более высокого уровня обеспечивается наборами инструментов для интерполяции , оптимизации , статистики , HDF5 и машинного обучения . ILNumerics DSL встроен в .NET. Вычислительные алгоритмы формулируются с использованием любого языка CLI . Однако только C# и Visual Basic официально поддерживаются . Благодаря строгой системе типов платформы .NET алгоритмы, созданные с помощью ILNumerics, строго типизированы. Это отличается от синтаксиса альтернатив , которые часто слабо типизированы и поэтому их легче принять.
Графика
[ редактировать ]Граф сцены используется в ILNumerics для реализации графического вывода. Интерактивные 2D и 3D графики используются в приложениях Windows Forms. Аппаратное ускорение рисования доступно через OpenGL . Программный рендерер предоставляется для устаревшего оборудования на основе GDI+ и SVG .
Интеграция с IDE
[ редактировать ]ILNumerics распространяется как расширение Visual Studio . Он добавляет в среду IDE окно инструментов для графического просмотра математических объектов при пошаговом выполнении пользовательского кода.
Производительность
[ редактировать ]Поскольку ILNumerics поставляется в виде сборки CLI , он предназначен для Common Language Infrastructure приложений (CLI). Как и Java , эти платформы часто критикуют за непригодность для численных вычислений. Причинами являются управление памятью сборщиком мусора , выполнение промежуточного языка и недостаточная оптимизация участвующих компиляторов . ILNumerics решает эти ограничения, выполняя развертывание цикла , удаление связанных проверок при доступе к массиву и оптимизацию кэша . Дальнейшее ускорение достигается за счет автоматического управления памятью объектов большого массива. Числовые операции распараллеливаются в многоядерных системах. Подпрограммы линейной алгебры основаны на оптимизированных для конкретного процессора версиях LAPACK и BLAS .
Массивы ILNumerics используют неуправляемую кучу для хранения данных. Таким образом, размер массивов ILNumerics не ограничивается средой CLR и улучшается взаимодействие со сторонними библиотеками.
См. также
[ редактировать ]- Сравнение программного обеспечения для численного анализа
- Список программного обеспечения для численного анализа
- Список числовых библиотек
Ссылки
[ редактировать ]- ^ «Центр предпринимательства: Steckbrief ILNumerics» . Entrepreneurship.tu-berlin.de. Архивировано из оригинала 20 февраля 2016 г. Проверено 28 января 2016 г.
- ^ БАСТА! Премия за инновации 2007 г.
- ^ цифровые числа. «Галерея NuGet | ILNumerics 4.8.0» . Nuget.org . Проверено 28 января 2016 г.
- ^ «Новейшие вопросы по цифрам» . Переполнение стека . Проверено 28 января 2016 г.
- ^ «Расширение ILNumerics Ultimate VS» . Visualstudiogallery.msdn.microsoft.com . Проверено 28 января 2016 г.
Внешние ссылки
[ редактировать ]- программное обеспечение для 3D-графики
- API-интерфейсы 3D-сцены
- Языки программирования массивов
- Библиотеки C Sharp
- Программное обеспечение для компьютерного зрения
- Программное обеспечение для анализа данных
- Программное обеспечение для визуализации данных
- Математическое программное обеспечение
- Программное обеспечение для численного анализа для Linux
- Программное обеспечение для численного анализа для macOS
- Программное обеспечение для численного анализа для Windows
- Численная линейная алгебра
- Языки числового программирования
- Объектно-ориентированные языки программирования
- OpenGL
- Параллельные вычисления
- Научное программное обеспечение
- Инструменты программирования Unix