IL Numerics

ILNumerics
IL Numerics
개발자IL Numerics
안정된 릴리스
v5.5 / 2020년7월 17일, 2년 전(2020-07-17)
기입처C#, Visual Basic
운영 체제.NET 프레임워크 / Mono, Windows
플랫폼IA-32, x86-64, AnyCPU
유형테크니컬 컴퓨팅, 수학 소프트웨어
면허증.독자 사양
웹 사이트일람표그물

IL NumericsCommon Language Infrastructure(CLI; 공통 언어 인프라스트럭처) 개발자를 위한 수학 클래스 라이브러리이며,수치 알고리즘실장하기 위한 도메인 고유 언어(DSL)입니다.NET 플랫폼그래픽 사용자 인터페이스를 갖춘 대수 시스템은 알고리즘의 프로토타이핑에 초점을 맞추고 있지만 배포 가능한 애플리케이션에 대한 이러한 알고리즘의 구현은 개발 환경과 범용 프로그래밍 언어(GPL)를 사용하여 이루어집니다.ILNumerics는 Visual Studio의 확장판이며 에 기반한 기술 애플리케이션 작성을 지원하는 것을 목표로 합니다.그물.

역사

IL Numerics는 2006년에 오픈 소스 프로젝트로 시작되었으며,[1] 베를린 공과대학에서 시작되었습니다.2007년에 IL Numerics는 BASTA를 수상했다!이노베이션 어워드 2007은[2] 가장 혁신적인 상입니다.독일, 스위스오스트리아에서의 NET 프로젝트.6년간의 오픈 소스 개발 후, 이 프로젝트는 2011년에 비즈니스 개발자와 학술 개발자를 동시에 대상으로 한 클로즈드 소스, 독점 라이선스를 추가했습니다.이 프로젝트는 급속히 인기를 끌었습니다([3][4][5]stackoverflow.com에서 다운로드 건수와 계약 건수를 확인할 수 없습니다)..NET 프레임워크는 관리 기반으로서 선택되었습니다.는 Java 플랫폼에서의 이전 시도가 기술적 제한으로 인해 포기되었기 때문입니다.마찬가지로, 을 참조해 주세요.NET 프레임워크는 기술 어플리케이션 개발 요건에 중점을 두고 설계되어 있지 않습니다.ILNumerics는 일반적인 코드(LAPACK, FFTW), 복잡한 수 및 일반적다차원 배열 클래스에 인터페이스를 추가했습니다.2010년에는 그래픽 기능이 추가되었습니다.이 기술의 성능을 높이기 위한 노력은 2011년에 도입되었습니다.동시에, 개발을 계속하기 위한 회사가 설립되었습니다.기술적 목표는 을 확립하는 것입니다.수치 컴퓨팅을 위한 관리 대상 외 언어의 실현 가능한 대체 수단으로서의 NET 프레임워크.

구문

ILNumerics는 N차원 배열, 복소수, 선형 대수, FFT 플로팅 컨트롤(2D 및 3D)과 같은 기술 영역에서 애플리케이션 개발에 자주 필요한 기본 기능을 구현합니다.어레이 클래스는 내부 스토리지 순서, 서브 어레이 생성, 확장 및 고급 인덱싱 등 Matlab 및 numpy어레이(R) 기능과 완전히 호환됩니다.보간, 최적화, 통계, HDF5기계 학습을 위한 도구 상자에 의해 보다 높은 수준의 기능이 제공됩니다.IL Numerics DSL은 에 내장되어 있습니다.NET. 계산 알고리즘은 임의의 CLI 언어를 사용하여 공식화됩니다.단, 공식적으로 지원되는 은 C# Visual Basic뿐입니다.강력한 타입 시스템이 원인입니다.ILNumerics로 작성된 NET 프레임워크 알고리즘은 강력한 유형입니다.이는 종종 약하게 입력되어 채택이 더 쉬운 대체 구문에서 벗어납니다.

그래픽스

그래프는 그래픽 출력을 실현하기 위해 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에 의해 제한되지 않고 서드파티 라이브러리와의 상호 운용성이 향상됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Centre for Entrepreneurship: Steckbrief ILNumerics". Entrepreneurship.tu-berlin.de. Archived from the original on 2016-02-20. Retrieved 2016-01-28.
  2. ^ BASTA! 이노베이션 어워드
  3. ^ ilnumerics. "NuGet Gallery ILNumerics 4.8.0". Nuget.org. Retrieved 2016-01-28.
  4. ^ "Newest 'ilnumerics' Questions". Stack Overflow. Retrieved 2016-01-28.
  5. ^ "ILNumerics Ultimate VS extension". Visualstudiogallery.msdn.microsoft.com. Retrieved 2016-01-28.

외부 링크