Menu
Home
What
License
Download
Documentation
Support
Services
Acknowledgements

What is ojAlgo?

As the title suggests it's Open Source Java code that has to do with mathematics, linear algebra and optimisation. ojAlgo really is 100% pure Java source code. There are no calls to native (C or Fortran) libraries. Nothing besides a Java SDK is needed to compile or execute the code. Names of attributes and methods are chosen to comply with Java standards rather than legacy mathematics code (Fortran, C, Matlab...) conventions. 

Main ingredients

Presumeably there are two main reasons why users/developers become interested in ojAlgo:

  1. Linear algebra in Java.
  2. Finance related code. Specifically the Black-Litterman model.

Design concepts

  • Pure Java: There are no calls to native (C or Fortran) libraries.
  • No dependencies: Nothing besides a Java SDK is needed to compile or execute the code.
  • "Conventional" Java: Names of attributes and methods are chosen to comply with Java standards rather than legacy mathematics code (Fortran, C, Matlab...) conventions.
  • Code is written as it's needed. ojAlgo will never contain everything anyone could ever use (in terms of Java and mathematics). Users are very much welcome to contribute additions.
  • Anything and everything may change in the future (breaking API compatillity). Part of the code is "in production" in commercial systems – but will be changed if improvements require it. Interfaces are less likely to change than implementations. Versions are frequently tagged in CVS.

History

Initially ojAlgo (what became ojAlgo) was a QP solver, and it was first implemented using the public domain JAMA package. After some time, and some problems with rounding and representation errors, the idea to use BigDecimal instead of double for matrix elements came up. (At the time Optimatika was working on an application that needed to solve a large number of small QP problems to high precision.) The new work was structured as a defining interface and an implementing class. The QP solver was refactored to work with the new interface, and then things just grew in all directions.

An alternative may of describing the ojAlgo ingredients is to focus on the QP solver. Then it could be said that ojAlgo contains:

License agreement

ojAlgo is an Open Source project. It is available as source code, and every single source code file contain a copyright statement and a license agreement. All files have the same copyright and license. Optimatika holds the copyright, and the license used is the generous and easy to understand MIT license. Please read and comply with the license agreement - it's not hard. More...

 

 


SourceForge.net LogoProject and site sponsored by Optimatika
Copyright © 2000 - 2008

Using JProfiler from ej-technologies