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

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Matrices/standard_integer_linear_equalities.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Standard_Integer_Matrices;          use Standard_Integer_Matrices;
                      3:
                      4: package Standard_Integer_Linear_Equalities is
                      5:
                      6: -- DESCRIPTION :
                      7: --   This package provides for incrementally solving systems of
                      8: --   linear equalities w.r.t. linear inequalities.
                      9:
                     10:   procedure Triangulate ( l : in natural; m : in matrix;
                     11:                           first,last : in natural; ineq : in out matrix );
                     12:   procedure Triangulate ( l : in natural; m : in matrix;
                     13:                           index : in natural; ineq : in out matrix );
                     14:
                     15:   -- DESCRIPTION :
                     16:   --   Updates a matrix of inequalities, after elimination of the lth unknown.
                     17:
                     18:   -- ON ENTRY :
                     19:   --   l         current unknown to be eliminated;
                     20:   --   m         m(1..l,m'range(2)) is upper triangular;
                     21:   --   first     indicates start in range of ineq to be updated;
                     22:   --   last      indicates end in range of ineq to be updated;
                     23:   --   index     indicates the inequality to be updated;
                     24:   --   ineq      in ineq(first..last) or in ineq(index),
                     25:   --             the first l-1 unknowns are already eliminated.
                     26:
                     27:   -- ON RETURN :
                     28:   --   ineq      the updated inequalities.
                     29:
                     30:   procedure Triangulate ( index,start : in natural; ineq : in out matrix );
                     31:
                     32:   -- DESCRIPTION :
                     33:   --   Updates the inequality ineq(index), i.e. tries to eliminate as
                     34:   --   many unknowns in ineq(index) as possible, by making positive
                     35:   --   combinations with inequalities in ineq(ineq'first..index-1).
                     36:
                     37:   -- ON ENTRY :
                     38:   --   index     current row in ineq that has to be updated;
                     39:   --   start     indicates in which column the first nonzero elements
                     40:   --             have to be found;
                     41:   --   ineq      matrix of inequalities of type <.,.> >= 0.
                     42:
                     43:   -- ON RETURN :
                     44:   --   ineq      the updated matrix of inequalities.
                     45:
                     46: end Standard_Integer_Linear_Equalities;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>