The kao-math library is a 100% pure Java implementation of useful mathematical functions. It contains a Matrix and Vector implementation which all other functionality is built on.
The Matrix/Vector library kao.math.matvec provides classes for a Matrix and Vector implementation. The library includes dense and sparse matrices, multi-threaded Matrix/Vector operations, and direct and iterative solvers of systems of linear equations. A full list of the key features is given below:
See the documentation for detailed information of the mathematical operations.
The QP library kao.math.QP provides classes for solving Quadratic Programs (QP). QPs have the following form:
such that
where:
The method provided by the QP library is based on Goldfarb [1]. In addition a set of active constraints calculated from an initial guess can be passed into the algorithm.
[1] D. Goldfarb and A. Idnani A numerically stable dual method for solving strictly convex quadratic problems, Mathematical Programming 27, 1983, 1-33.