Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Syntax  





3 Graphics  





4 IDE integration  





5 Performance  





6 See also  





7 References  





8 External links  














ILNumerics






Deutsch
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


ILNumerics
Developer(s)ILNumerics
Stable release

v6.0 / July 20, 2022; 23 months ago (2022-07-20)

Written inC#, Visual Basic
Operating system.NET Framework / Mono, Windows, Linux, MacOS
PlatformIA-32, x86-64, AnyCPU
TypeTechnical computing, Mathematical software
LicenseProprietary
Websiteilnumerics.net

ILNumerics is a mathematical class library for Common Language Infrastructure (CLI) developers and a domain specific language (DSL) for the implementationofnumerical algorithms on the .NET platform. While algebra systems with graphical user interfaces focus on prototyping of algorithms, implementation of such algorithms into distribution-ready applications is done using development environments and general purpose programming languages (GPL). ILNumerics is an extension to Visual Studio and aims at supporting the creation of technical applications based on .NET.

History[edit]

ILNumerics started in 2006 as an open source project, originating from the Technical University of Berlin.[1] In 2007 ILNumerics won the BASTA! Innovation Awards 2007[2] as most innovative .NET project in Germany, Switzerland and Austria. After 6 years of open source development, the project added a closed source, proprietary license in 2011, aiming business and academic developers at the same time. The project quickly gained popularity (download numbers and engagement at stackoverflow.com,[3][4][5] download counts from website not available). The .NET framework was selected as a managed foundation, since earlier attempts on the Java platform had been abandoned due to technical limitations. Similarly, the .NET framework has not been designed with the focus on requirements of technical application development. ILNumerics added interfaces to popular codes (LAPACK, FFTW), complex numbers and generic mult-dimensional array classes. In 2010 graphical capabilities have been added. Efforts to increase the performance of the technology were introduced in 2011. At the same time, a company was founded to continue the development. The technological goal is to establish the .NET framework as a feasible alternative to unmanaged languages for numeric computing.

Syntax[edit]

ILNumerics implements base functionality frequently needed for application development in technical areas: N-dimensional arrays, complex numbers, linear algebra, FFT and plotting controls (2D and 3D). The array classes are fully compatible with the array features of Matlab and numpy, including internal storage order, subarray creation, expansion, and advanced indexing. Higher level functionality is provided by toolboxes for interpolation, optimization, statistics, HDF5 and machine learning. The ILNumerics DSL is embedded into .NET. Computational algorithms are formulated using any CLI language. However, only C# and Visual Basic are officially supported. Due to the strong type system of the .NET framework algorithms created with ILNumerics are strongly typed. This deviates from the syntax of alternatives, which are often weakly typed and therefore easier to adopt.

Graphics[edit]

Ascene graph is used in ILNumerics to realize graphical output. Interactive 2D and 3D plots are used in Windows Forms applications. Hardware accelerated drawing is available via OpenGL. A software renderer is provided for legacy hardware, based on GDI+ and SVG.

IDE integration[edit]

ILNumerics is distributed as an extension to Visual Studio. It adds a tool window to the IDE for the graphical inspection of mathematical objects while stepping through user code.

Performance[edit]

Since ILNumerics comes as a CLI assembly, it targets Common Language Infrastructure (CLI) applications. Just like Java - those frameworks are often criticized for not being suitable for numerical computations. Reasons are the memory management by a garbage collector, the intermediate language execution and deficient optimizations by the compilers involved. ILNumerics approaches these limitations by performing loop unrolling, removal of bound checks on array accesses and cache optimizations. Further speed-up is gained by the auto-management of the memory of large array objects. Numerical operations are parallelizedonmulticore systems. Linear algebra routines rely on processor specific optimized versions of LAPACK and BLAS.

ILNumerics arrays utilize the unmanaged heap for storing data. This way, the size of ILNumerics arrays is not limited by the CLR and interoperability with 3rd party libraries is improved.

See also[edit]

References[edit]

  1. ^ "Centre for Entrepreneurship: Steckbrief ILNumerics". Entrepreneurship.tu-berlin.de. Archived from the original on 2016-02-20. Retrieved 2016-01-28.
  • ^ BASTA! Innovation Award 2007
  • ^ ilnumerics. "NuGet Gallery | ILNumerics 4.8.0". Nuget.org. Retrieved 2016-01-28.
  • ^ "Newest 'ilnumerics' Questions". Stack Overflow. Retrieved 2016-01-28.
  • ^ "ILNumerics Ultimate VS extension". Visualstudiogallery.msdn.microsoft.com. Retrieved 2016-01-28.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=ILNumerics&oldid=1231656523"

    Categories: 
    3D graphics software
    3D scenegraph APIs
    Array programming languages
    C Sharp libraries
    Computer vision software
    Data analysis software
    Data visualization software
    Mathematical software
    Numerical analysis software for Linux
    Numerical analysis software for macOS
    Numerical analysis software for Windows
    Numerical linear algebra
    Numerical programming languages
    Object-oriented programming languages
    OpenGL
    Parallel computing
    Science software
    Unix programming tools
    Hidden categories: 
    Articles lacking reliable references from November 2015
    All articles lacking reliable references
    Official website different in Wikidata and Wikipedia
     



    This page was last edited on 29 June 2024, at 14:21 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki