toms552


toms552, a Fortran90 code which computes a solution of an overdetermined constrained linear system, minimizing the error in the L1 norm.

The code is an implementation of ACM TOMS algorithm 552.

The overdetermined linear system being solved is

A * X = B.
The equality constraints have the form:
C * X = D
and the inequality constraints have the form:
E * X >= F.
The program is required to seek a solution X which satisfies the constraints, and which minimizes the L1 norm (sum of absolute values of components) of A*X-B.

The text of many ACM TOMS algorithms is available online through ACM: https://calgo.acm.org/ or NETLIB: https://www.netlib.org/toms/index.html.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

toms552 is available in a Fortran90 version.

Author:

Ian Barrodale,
Frank Roberts.

Related Data and Programs:

toms552_test

Reference:

  1. Ian Barrodale, Frank Roberts,
    Algorithm 552: Solution of the Constrained L1 Approximation Problem,
    ACM Transactions on Mathematical Software,
    Volume 6, Number 2, March 1980, pages 231-235.
  2. Helmuth Spaeth,
    Mathematical Algorithms for Linear Regression,
    Academic Press, 1991,
    ISBN: 0-12-656460-4,
    LC: QA278.2.S6313.

Source Code:


Last revised on 13 March 2021.