| New Version 5.0! |
|
Try it for free with our fully functional
60-day trial version.
Download now!
|
| Testimonials |
|
"The de facto-standard library for linear algebra on the .NET platform is the Extreme Optimization Library."
- Jon Harrop, author, F# for Scientists
"I have yet to see another package that offers the depth of statistical analysis that Extreme Optimization does,
and I must say that I'm impressed with the level of service I've experienced." - Henry Oh, RBC Capital Markets
"I have made it my mission to institutionalize the value of good
API design. I strongly believe that this is key to making developers
more productive and happy on our platform. It is clear that you value good
API design in your work, and take to heart developer productivity and
synergy with the .NET framework." - Brad Abrams, Lead Program Manager,
Microsoft.
More testimonials
|
Extreme Optimization Numerical Libraries for .NET
Performance
The Extreme Optimization Numerical Libraries for .NET
uses native, processor-specific code for its core computations. This gives you
performance comparable to the fastest code available.
For example, the classes in the Extreme.Mathematics.LinearAlgebra namespace
use native BLAS and LAPACK routines wherever possible. BLAS stands
for Basic Linear Algebra Subroutines, and is the de facto standard for core
numerical linear algebra routines such as matrix and vector products. LAPACK
stands for Linear Algebra PACKage, and is the standard for the more complex
functionality such as matrix decompositions and eigenvalue problems.
The BLAS and LAPACK interface is public. This means you can plug in your own
implementation if desired. This is of particular importance if you wish to use
the library on a non-Windows based platform.
All native routines also have managed equivalents. This code isn't as fast as
the native code, especially for larger problems. But it has the advantage of
portability and a smaller memory footprint.
The tables below shows some performance benchmarks. The tests were run on a 3GHz
Pentium IV with 512MB of RAM.
Benchmark results for processor-specific, native implementation:
| Matrix size |
5x5 |
50x50 |
1000x1000 |
| Number of iterations |
500.000 |
10.000 |
10 |
| LU Decomposition |
2.05s |
1.31s |
2.17s |
| QR Decomposition |
3.89s |
5.10s |
4.66s |
| Matrix multiply |
0.37s |
0.78s |
4.22s |
Benchmark results for 100% managed implementation:
| Matrix size |
5x5 |
50x50 |
1000x1000 |
| Number of iterations |
500.000 |
10.000 |
10 |
| LU Decomposition |
1.18s |
3.25 |
10.11s |
| QR Decomposition |
2.57s |
9.25s |
45.30s |
| Matrix multiply |
0.38s |
3.24s |
27.52s |
Copyright © 2003-2013, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.