toms552


toms552, a Fortran77 code which implements ACM toms algorithm 552.

toms552 computes a solution X for an overdetermined constrained linear system, minimizing the L1 error.

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://www.acm.org/pubs/calgo 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 Fortran77 version and a Fortran90 version.

Related Programs:

toms552_test

Author:

Ian Barrodale,
Frank Roberts.

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 23 November 2023.