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>