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