High-performance Math library for .NET /C# and Java

10,240

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

Share:
10,240
sivabudh
Author by

sivabudh

First, I'm a dreamer who engineers and innovates. Second, I CEO at CODIUM and 1000C startups.

Updated on June 19, 2022

Comments

  • sivabudh
    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
    sivabudh over 14 years
    hey..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
    ajithmanmu over 14 years
    I 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
    sivabudh over 14 years
    I'm quite surprised performance of C# is on par with C. That's great to hear!
  • ajithmanmu
    ajithmanmu over 14 years
    Our 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
    Crashworks over 14 years
    Yeah, 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
    redcalx over 14 years
    The 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
    sivabudh over 14 years
    thanks 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
    sivabudh over 14 years
    @the-locster: Intel responded that Mono is not supported yet. So man..too bad.