Extreme Optimization > Usability

  • 64 bit native matrix kernel
  • 64 bit native FFT kernel
  • 32/64 bit cross-platform support
  • Constrained curve fitting

Download a fully functional 60-day trial version.


  • Sparse vectors and matrices
  • Linear Programming
  • Fast Fourier Transforms

Download a fully functional 60-day trial version.


Current customers whose update subscription has not expired can download the new version immediately. Click here to start the process.

Extreme Optimization Numerical Libraries for .NET

Usability

The Extreme Optimization Numerical Libraries for .NET breaks new ground in usability and productivity for numerical software development. We spent a great deal of time and effort on maximizing the usability of our API.

Usability is a broad subject. We will briefly discuss some of its aspects and how they are implemented in the Extreme Optimization Mathematics Library for .NET. The resources at the bottom of this page give more information.

Consistency

Consistency both with Microsoft's Design Guidelines for Class Library Developers and internally, ensures that you can reuse what you have learnt building applications for the .NET framework. Some examples of consistency with the .NET framework design guidelines are:

Examples of internal consistency include:

Transparency

Transparency means that the code is self-explanatory. It also means that, with the use of context sensitive help or Intellisense, you should be able to choose the correct classes, methods, and parameter values.

The classes in the Extreme Optimization Mathematics Library for .NET are organized in namespaces according to their function. For example, all matrix and vector classes reside in the Extreme.Mathematics.LinearAlgebra namespace, while all numerical integrators reside in Extreme.Mathematics.Calculus.

Members and method parameters have descriptive, meaningful names. We don't use abbreviations (LUDecomposition, not LUDecomp) or transcriptions of mathematical notation (Predictions, not Yhat ). By using expressive names for language elements, you don't need to spend mental resources on translating their meaning.

Extensibility

Extensibility allows you to create specialized versions of objects in the library with minimal effort.

For example, to create a specialized Matrix type, only two members, the GetValue and SetValue methods, must be implemented. All operations on matrices, from arithmetic operations to decompositions, and from solving equations to retrieving rows, columns or submatrices, will work on your specialized matrix type. You may provide your own optimized implementations of almost any other method, but that choice is yours.

Other examples of extensibility include:

Correspondence

Correspondence of objects in the library with the mathematical concepts you use to describe your problems makes translating your solution into code that much easier.

Resources

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries by Krzysztof Cwalina and Brad Abrams.

Design Guidelines for Class Library Developers from Microsoft.

Measuring API Usability by Steven Clarke. Dr. Dobbs Journal Special Windows/.NET supplement, May 2004.

Steven Clarke's Weblog has information on the Cognitive Dimensions framework for API usability.

Brad Abrams and Krzysztof Cwalina post updates to the design guidelines on a regular basis.

Overview
Introduction
Features
Documentation
QuickStart Samples
Sample Applications
Downloads
Get it now!
Download trial version
How to Buy
Information
Resources
Contact Us
Search

"The Extreme Optimization Statistics Library for .NET is a major boon for those doing statistical work in .NET. I strongly recommend this product."
- Marc Brooks

"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.

This is a partial list of companies who are using our libraries:
ABB Robotics
Allstate
Applied Materials
Arcam
Astra Schedule
Babson College
Canadian Council on Learning
Canyon Associates
Caxton Associates
CECity
Constellation Energy
CreditSights
DeepOcean
Duke University
Dynamotive
Elecsoft
Engelhard Corporation
Epcor
Equipoise Software
Galileo International
GAM UK
Gammex
GlaxoSmithKline
Global Matrix
The Hartford
Infinera Corporation
Intel
JDS Uniphase
LaBranche & Co.
Learning & Skills Council
Jacobs Consultancy
Litman Gregory
Lucas Systems
Malvern Instruments
Medrio
Merck & Co.
Mintera.
Monitor Software
MorningStar
NanoString Technologies
Paletta Invent
Parametric Portfolio Associates
Prosanos
RATA Associates
RiskShield
Ramboll
Standard & Poor's
Strategic Analysis Corporation
Univ. of Alicante
Univ. of South Carolina
vielife
Xerox
US Army