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

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Supports / floating_linear_inequalities.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:27 2000 UTC (23 years, 8 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_Floating_Numbers;          use Standard_Floating_Numbers;
with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
with Standard_Floating_Vectors;          use Standard_Floating_Vectors;
with Standard_Floating_Matrices;         use Standard_Floating_Matrices;

package Floating_Linear_Inequalities is

-- DESCRIPTION :
--   This procedure contains some routines for verifying the Farkas lemma.

  procedure Complementary_Slackness
                 ( tableau : in out Matrix; lastcol : in integer;
                   rhs : in out Standard_Floating_Vectors.Vector; 
                   tol : in double_float;
                   solution : out Standard_Floating_Vectors.Vector;
                   columns : out Standard_Integer_Vectors.Vector;
                   feasible : out boolean );

  procedure Complementary_Slackness
                 ( tableau : in out Matrix;
                   rhs : in out Standard_Floating_Vectors.Vector;
                   tol : in double_float;
                   solution : out Standard_Floating_Vectors.Vector;
                   columns : out Standard_Integer_Vectors.Vector;
                   feasible : out boolean );

  -- DESCRIPTION :
  --   Solves the complementary slackness problem: determines
  --   whether there exists a positive combination of the columns
  --   such that the right hand side is satisfied.

  -- REQUIRED :
  --   rhs'range = solution'range = columns'range = tableau'range(1)

  -- ON ENTRY :
  --   tableau     inequalities as columns;
  --   lastcol     indicates the last significant column in the tableau,
  --                if not given, then lastcol = tableau'last(2);
  --   tol         tolerance to decide whether a number equals zero.
  --   rhs         right hand side vector;

  -- ON RETURN :
  --   tableau     modified tableau of inequalities;
  --   rhs         modified right hand side;
  --   solution    the computed solution;
  --   columns     indicates which columns has been used;
  --   feasible    if true then the solution is feasible.

end Floating_Linear_Inequalities;