Skip to content

A .NET wrapper for the Eigen math library.

Notifications You must be signed in to change notification settings

vancegroup/EigenNet

 
 

Repository files navigation

EigenNet

A .NET wrapper for the Eigen math library.

This project contains four components, some of which implement the same functions in different ways:

  • NativeEigenWrapper - A DLL that contains compiled Eigen matrix library functions for use by other programs (primarily, the EigenWrapper DLL).
  • EigenWrapper - A .NET wrapper which calls NativeEigenWrapper using P/Invoke calls. This was found to be faster than using C++/CLI in testing.
  • EigenWrapper_CppCLI - A .NET wrapper for the Eigen matrix library using C++/CLI. As this code was found to be slower than the P/Invoke method, fewer functions have been implemented in EigenWrapper_CppCLI than in EigenWrapper.
  • WrapperTest - A simple test code spot check the correctness and speed of different wrapper implementations. The testing is not exaustive. Also contains a matrix math class implemented completely in C# (and thus does not have access to SIMD instructions).

Note: Matrix operations using the Eigen library are significantly slower in debug mode than in release mode.

Requirements:

About

A .NET wrapper for the Eigen math library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 85.8%
  • C++ 12.7%
  • C 1.5%