[BACK]Return to dynamic_lifting_functions.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift / dynamic_lifting_functions.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:28 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 Simplices,Triangulations;           use Simplices,Triangulations;

package Dynamic_Lifting_Functions is

-- DESCRIPTION :
--   This package contains operations to control the lifting function
--   in order to obtain triangulations either by placing or by pulling.

  function Lift_to_Place ( s : Simplex; x : Vector ) return integer;
  function Lift_to_Place ( t : Triangulation; x : Vector ) return integer;

  -- DESCRIPTION :
  --   Determines the next value of the lifting function for the given
  --   point x w.r.t. each simplex s, such that the product of the inner
  --   normal of s with x is higher than the product with any point in s.

  -- REQUIRED :
  --   x(x'last) provides a lower bound for the lifting function.
  --   To obtain an optimal lifting, x(x'last) can be set equal to 1.

  function Lift_to_Pull ( s : Simplex; x : Vector ) return integer;
  function Lift_to_Pull ( t : Triangulation; x : Vector ) return integer;

  -- DESCRIPTION :
  --   Determines the lifting value of x such that the product of the inner
  --   normal of each simplex s with x is strictly lower than the product
  --   with any point of s.
  --   The lifting value such that x can be pulled in s will be returned.

  -- REQUIRED :
  --   x(x'last) contains already a lower bound on the lifting for x.
  --   To obtain an optimal lifting, x(x'last) can be set equal to -1.

  function Degenerate ( t : Triangulation; x : Vector ) return boolean;

  -- DESCRIPTION :
  --   Returns true if there exists a cell in t, such that the lifted point
  --   x lies in the same hyperplane as the corresponding simplex on the
  --   lower hull.

  function Lift_to_Pull ( t1,t2 : Triangulation; x : Vector ) return integer;

  -- DESCRIPTION :
  --   Determines the lifting value of x such that for all cells in t1,
  --   the inner product of the inner normal with x is strictly lower
  --   than the inner product with any point of that cell.
  --   The triangulation t2 is used to be guarantee that the lifting does
  --   not induce a degeneracy in the lower hull.
  --   The lifting value such that x can be pulled in t will be returned.

  -- REQUIRED :
  --   x(x'last) contains already a lower bound on the lifting for x.
  --   To obtain an optimal lifting, x(x'last) can be set equal to -1.

end Dynamic_Lifting_Functions;