Skip to content

linear algebra #29

@apete

Description

@apete

Hi,

I am the developer of ojAlgo. Found this repository since you have a dependency on ojAlgo. So I looked at what you used it for, and have a few comments:

  1. This

Eigenvalue.Generalised<Double> generalisedEvD = Eigenvalue.R064.makeGeneralised(matrix);

doesn't do what you seem to expect. That refers to generalised eigenvalue problems, not to non-symmetric matrices. What you should do is either

Eigenvalue.R064.make(matrix, true); or Eigenvalue.R064.make(matrix, false);

depending on if the matrix is symmetric or not.

  1. If decomposition.isOrdered() returns true the eigenvalues and vectors are already sorted in descending order – no need to do it again.

  2. You have 3 different linear algebra libraries. Do you really need all of them? If you plan to stay with Apache Commons Math I think you should instead switch to Hipparchus. Apache Commons Math is a dead project. It hasn't been worked on for years. That's because the developers left Apache and forked the project to create Hipparchus. Don't know any details regarding exactly what happened, but I would switch to Hipparchus. https://www.hipparchus.org

  3. If you use ojAlgo and either Apache or Hipparchus there are interoperability libraries that allow to convert between their respective matrix types without copying the data (wrappers). https://central.sonatype.com/artifact/org.ojalgo/ojalgo-hipparchus/2.0.0

  4. You're using an old version of ojAlgo. I tried the latest version. Thera are no compilation errors or required code changes. (but I have changed/added a couple of things for the upcoming v56 that could be useful.)

/Anders

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions