| 開発者 | IL数値 |
|---|---|
| 安定版リリース | v6.0 / 2022年7月20日 |
| 書かれた | C#、Visual Basic |
| オペレーティング·システム | .NET Framework / Mono、Windows、Linux、MacOS |
| プラットフォーム | IA-32、x86-64、任意のCPU |
| タイプ | 技術計算、数学ソフトウェア |
| ライセンス | 独自 |
| Webサイト | ilnumerics.net |
ILNumerics は、共通言語インフラストラクチャ(CLI) 開発者向けの数学クラス ライブラリであり、 .NET プラットフォームで数値アルゴリズムを実装するためのドメイン固有言語 (DSL)です。グラフィカル ユーザー インターフェイスを備えた代数システムはアルゴリズムのプロトタイプ作成に重点を置いていますが、配布可能なアプリケーションへのそのようなアルゴリズムの実装は、開発環境と汎用プログラミング言語 (GPL)を使用して行われます 。ILNumerics はVisual Studioの拡張機能であり、.NET に基づく技術アプリケーションの作成をサポートすることを目的としています。
歴史
ILNumericsは2006年にベルリン工科大学を起源とするオープンソースプロジェクトとして始まりました。[1] 2007年、ILNumericsはドイツ、スイス、オーストリアで最も革新的な.NETプロジェクトとしてBASTA! Innovation Awards 2007 [2]を受賞しました。6年間のオープンソース開発の後、このプロジェクトは2011年にクローズドソースの独自ライセンスを追加し、ビジネスと学術の開発者を同時にターゲットにしました。プロジェクトは急速に人気を博しました(stackoverflow.comでのダウンロード数とエンゲージメント、[3] [4] [5] Webサイトからのダウンロード数は不明)。Javaプラットフォームでの以前の試みは技術的な制限により断念されたため、.NETフレームワークが管理基盤として選択されました。同様に、.NETフレームワークは技術的なアプリケーション開発の要件に重点を置いて設計されていません。ILNumericsは、一般的なコード(LAPACK、FFTW)、複素数、汎用多次元配列クラスへのインターフェイスを追加しました。 2010 年にはグラフィック機能が追加されました。テクノロジのパフォーマンスを向上させる取り組みは 2011 年に導入されました。同時に、開発を継続するための会社が設立されました。技術的な目標は、数値計算用のアンマネージ言語の実現可能な代替手段として .NET フレームワークを確立することです。
構文
ILNumerics は、N 次元配列、複素数、線形代数、FFT、プロット コントロール(2D および3D ) など、技術分野でのアプリケーション開発に頻繁に必要となる基本機能を実装しています。配列クラスは、内部ストレージ順序、サブ配列の作成、拡張、高度なインデックス作成など、 Matlabおよびnumpyの配列機能と完全に互換性があります。補間、最適化、統計、HDF5、機械学習用のツールボックスによって、より高レベルの機能が提供されます。ILNumerics DSL は .NET に組み込まれています。計算アルゴリズムは、任意のCLI 言語を使用して作成されます。ただし、公式にサポートされているのはC#とVisual Basicのみです。.NET フレームワークの強力な型システムにより、 ILNumerics で作成されたアルゴリズムは強く型付けされます。これは、多くの場合弱く型付けされているため採用しやすい 代替の構文とは異なります。
グラフィックス
ILNumerics では、シーングラフを使用してグラフィカル出力を実現します。インタラクティブな 2D および 3D プロットは、Windows フォーム アプリケーションで使用されます。ハードウェア アクセラレーションによる描画は、OpenGL経由で利用できます。従来のハードウェア向けには、GDI+ およびSVGに基づくソフトウェア レンダラーが提供されています。
IDE統合
ILNumerics はVisual Studioの拡張機能として配布されます。ユーザー コードをステップ実行しながら数学オブジェクトをグラフィカルに検査するためのツール ウィンドウを IDE に追加します。
パフォーマンス
ILNumerics はCLI アセンブリとして提供されるため、共通言語インフラストラクチャ(CLI) アプリケーションを対象としています。Javaと同様に、これらのフレームワークは数値計算に適していないとよく批判されます。その理由は、ガベージ コレクターによるメモリ管理、中間言語の実行、および関連するコンパイラによる不十分な最適化です。ILNumerics は、ループ展開、配列アクセスの境界チェックの削除、およびキャッシュの最適化を実行することで、これらの制限に対処します。大きな配列オブジェクトのメモリの自動管理により、さらに高速化されます。数値演算は、マルチコアシステムで並列化されます。線形代数ルーチンは、プロセッサ固有の最適化されたバージョンのLAPACKおよびBLASに依存します。
ILNumerics 配列は、データの保存にアンマネージ ヒープを利用します。これにより、 ILNumerics 配列のサイズは CLR によって制限されなくなり、サード パーティ ライブラリとの相互運用性が向上します。
参照
参考文献
- ^ 「Centre for Entrepreneurship: Steckbrief ILNumerics」。Entrepreneurship.tu-berlin.de。2016年2月20日時点のオリジナルよりアーカイブ。2016年1月28日閲覧。
- ^ BASTA! イノベーションアワード 2007
- ^ ilnumerics. 「NuGet ギャラリー | ILNumerics 4.8.0」。Nuget.org。2016年 1 月 28 日閲覧。
- ^ 「最新の 'ilnumerics' の質問」。Stack Overflow。2016年 1 月 28 日閲覧。
- ^ 「ILNumerics Ultimate VS 拡張機能」。Visualstudiogallery.msdn.microsoft.com。2016年 1 月 28 日閲覧。
外部リンク
- 公式サイト
- MSDN の .NET 用数学ライブラリに関する記事
