Edge Rewrite
Jump to content

Talk:OjAlgo

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 19 hours ago by ~2026-53736-96 in topic Update version, code examples and description

Untitled

[edit]

Reasons for (or possible against) ojAlgo being notable. Keep in mind that linear algebra in Java is a bit of a niche field so you don't get millions of hits. It is still important since Java is still one of the most popular computer languages out there. Note that in the searches below you should not include quotes.

  • ojAlgo has been under active development since 2000. Which makes it about 14 years old now
  • It is one of the better performing libraries in Java Matrix Benchmark
  • Google search for "java linear algebra" it is #11
  • Google search for "java matrix" it is #17
  • Google scholar search for "ojAlgo java" turns up 16 hits. About 8 appear to be legit
  • Google search for "ojalgo java" turns up 3,760 results

The most popular linear algebra library in Java is JAMA. Which is a shame since they stopped developing it years ago and has serious issues, but that's not what this is about.

  • Google search for "jama java" turns up 965,000 results

The next most popular libraries turn up the following results:

  • Google search for "MTJ java" turns up 179,000 results
  • Google search for "'Commons Math' java" turns up 141,000 results
  • Google search for "EJML java" turns up 50,700 results
  • Google search for "UJMP java" turns up 4,190 results
  • Google search for ""parallel colt" java" turns up 2,420 results

The number of search results returned by google is probably not the most accurate metric for significance. For example commons math's numbers probably inflated because it is part of apache commons, which is a very popular set of Java libraries and they are all on the web site.

So in my opinion ojAlgo isn't some insanely popular libraries that everyone is using, but it has left a mark on the field of Java numerics.

Having said that, the page does need to be flushed out more... — Preceding unsigned comment added by Pabeles (talk • contribs) 00:49, 6 January 2014 (UTC)Reply


Update version, code examples and description

[edit]

I am the author of ojAlgo, so I have a conflict of interest and am asking for these changes rather than making them. Several parts of the article are out of date.

1. Infobox: change the stable release from v56.1.1 (November 9, 2025) to v57.3.1 (September 21, 2026). Source: https://github.com/optimatika/ojAlgo/releases

2. Example of singular value decomposition: the classes and methods shown were renamed several versions ago and the code no longer compiles. Current equivalent:

SingularValue<Double> svd = SingularValue.R064.make(matA);
svd.decompose(matA);
MatrixStore<Double> U = svd.getU();
MatrixStore<Double> S = svd.getS();
MatrixStore<Double> V = svd.getV();

3. Example of matrix multiplication: PrimitiveDenseStore is now R064Store. Current equivalent:

R064Store result = R064Store.FACTORY.make(matA.getRowDim(), matB.getColDim());
result.fillByMultiplying(matA, matB);

The renames are listed at https://www.ojalgo.org/updating-old-code/

4. Java version: the article says Java 8 is required. The 51.x releases (2022) were the last to target Java 8; current releases require Java 11. Source: https://github.com/optimatika/ojAlgo/blob/develop/CHANGELOG.md

5. Finance module: the article says the finance code was moved to a separate ojAlgo-finance module in version 44.0. That module was discontinued and its contents moved back into the main library in version 51.0.0 (February 2022). Same source.

6. Capabilities, data download: please remove the line about downloading data from Yahoo Finance and Google Finance. The library no longer supports downloading financial data from any source.

7. Capabilities, optimisation: the list has one short line on optimisation, which today is a main part of the library. I suggest listing it first and replacing the line with something like:

Mathematical optimisation: a modelling class (ExpressionsBasedModel) and solvers for linear, convex quadratic and mixed-integer problems, written in Java; models can be read from and written to MPS and LP files, and optionally solved with third-party solvers through separate integration modules.

Source: https://www.ojalgo.org/mathematical-optimisation/

I understand independent sources are preferred. If the wording in 7 is not acceptable, the other points are plain corrections and can be handled separately.

~~~~ ~2026-53736-96 (talk) 15:36, 6 October 2026 (UTC)Reply