High-performance Math library for .NET /C# and Java
Solution 1
Lol..why didnt I think of this before?
Just use Intel MKL Math library in Java and .NET!
See the following links:
Solution 2
I can help with C#:
Here is another SO question that discusses various C# math libraries
And you can take a look at PLINQ for C# multithreading help.
Solution 3
Math.NET Numerics supports Mono
Solution 4
ALGLIB is a cross-platform numerical analysis and data processing library. And it is free - ALGLIB is distributed under a GPL license (version 2 or later). It contains:
Differential equations
Linear equations
Matrix and vector operations, Eigenvalues and eigenvectors
Numerical integration, Interpolation and fitting, Optimization
FFT, convolution, correlation
Statistics: general algorithms, Hypothesis testing
Data analysis: classification, regression, other tasks
Special functions
sivabudh
First, I'm a dreamer who engineers and innovates. Second, I CEO at CODIUM and 1000C startups.
Updated on June 19, 2022Comments
-
sivabudh almost 2 years
We currently have a high-performance scientific application written in C++ that makes use of Intel Math Kernel Library.
We are considering writing a benchmark application written in Java and .NET/C# to compare the performance difference. To do that, we also need a good (commercial is preferred) math library for both. Does anyone know of any math equivalent library for Java/C#?
As a sidenote: C++ has Intel TBB library to help with multithreading. Does .NET/C# and Java have something equivalent?
-
sivabudh over 14 yearshey..thanks for that link. Btw..are you in a scientific community? If so, do you use C# at work? do you have any experience with any C# (high-performance) math lib?
-
ajithmanmu over 14 yearsI write a discrete event simulation application called Micro Saint Sharp. We switched from C to C# 7 years ago. The performance is great. I don't use any external math libraries. The only special math class we use is for calculating various random distributions, performance of it has never been a simulation bottleneck.
-
sivabudh over 14 yearsI'm quite surprised performance of C# is on par with C. That's great to hear!
-
ajithmanmu over 14 yearsOur previous engine was written in C, but the simulation scripting engine was interpreted. Now the simulation is compiled C#, so the performance is about 1000x over the old system. I suspect carefully tuned C would beat C# for a lot of very heavy math operations.
-
Crashworks over 14 yearsYeah, I found that the differential between C# and hand-tuned SIMDified microoptimzed C for linear algebra was about 10x. But that's a special case.
-
redcalx over 14 yearsThe main argument is that the resulting C# code is no longer portable to e.g. mono/linux because it is reliant on an API/DLL running outside of the CLR.
-
sivabudh over 14 yearsthanks for the good thoughts. I posted a question on the Intel MKL forum to see if the MKL linux version will work with the Mono implementation or not. If not, what is their plan. Thanks again.
-
sivabudh over 14 years@the-locster: Intel responded that Mono is not supported yet. So man..too bad.