[BACK]Return to standard_integer_linear_equalities.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Matrices

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Matrices / standard_integer_linear_equalities.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:24 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
with Standard_Integer_Matrices;          use Standard_Integer_Matrices;

package Standard_Integer_Linear_Equalities is

-- DESCRIPTION :
--   This package provides for incrementally solving systems of
--   linear equalities w.r.t. linear inequalities.

  procedure Triangulate ( l : in natural; m : in matrix;
                          first,last : in natural; ineq : in out matrix );
  procedure Triangulate ( l : in natural; m : in matrix;
                          index : in natural; ineq : in out matrix );

  -- DESCRIPTION :
  --   Updates a matrix of inequalities, after elimination of the lth unknown.

  -- ON ENTRY :
  --   l         current unknown to be eliminated;
  --   m         m(1..l,m'range(2)) is upper triangular;
  --   first     indicates start in range of ineq to be updated;
  --   last      indicates end in range of ineq to be updated;
  --   index     indicates the inequality to be updated;
  --   ineq      in ineq(first..last) or in ineq(index),
  --             the first l-1 unknowns are already eliminated.

  -- ON RETURN :
  --   ineq      the updated inequalities.

  procedure Triangulate ( index,start : in natural; ineq : in out matrix );

  -- DESCRIPTION :
  --   Updates the inequality ineq(index), i.e. tries to eliminate as
  --   many unknowns in ineq(index) as possible, by making positive
  --   combinations with inequalities in ineq(ineq'first..index-1).

  -- ON ENTRY :
  --   index     current row in ineq that has to be updated;
  --   start     indicates in which column the first nonzero elements
  --             have to be found;
  --   ineq      matrix of inequalities of type <.,.> >= 0.

  -- ON RETURN :
  --   ineq      the updated matrix of inequalities.

end Standard_Integer_Linear_Equalities;