[BACK]Return to determinantal_systems.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Schubert

File: [local] / OpenXM_contrib / PHC / Ada / Schubert / determinantal_systems.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:33 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_Complex_Numbers;           use Standard_Complex_Numbers;
with Standard_Complex_Vectors;           use Standard_Complex_Vectors;
with Standard_Natural_Matrices;
with Standard_Complex_Matrices;
with Standard_Complex_Poly_Matrices;
with Standard_Complex_VecMats;
with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems; 

package Determinantal_Systems is

-- DESCRIPTION :
--   This package constitutes the bridge between linear subspace intersections
--   expressed by determinantal equations and polynomial systems.

-- LOCALIZATION MAPS :

  function Standard_Coordinate_Frame
             ( x : Standard_Complex_Poly_Matrices.Matrix;
               plane : Standard_Complex_Matrices.Matrix )
             return Standard_Natural_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns a coordinate frame that corresponds to the polynomial matrix x.
  --   To determine the position of the one, the first nonzero element in the
  --   columns of the plane is taken.

  function Maximal_Coordinate_Frame
             ( x : Standard_Complex_Poly_Matrices.Matrix;
               plane : Standard_Complex_Matrices.Matrix )
             return Standard_Natural_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns a coordinate frame that corresponds to the polynomial matrix x.
  --   To determine the position of the one, the maximal element in every
  --   column is taken.

  function Localize ( locmap : Standard_Natural_Matrices.Matrix;
                      p : Poly_Sys ) return Poly_Sys;

  -- DESCRIPTION :
  --   Applies the localization map to the polynomial system p,
  --   assuming a rowwise lexicographical order on the variables.

-- CONSTRUCT POLYNOMIAL SYSTEMS :

  procedure Concat ( l : in out Link_to_Poly_Sys; p : Poly_Sys );

  -- DESCRIPTION :
  --   Concatenates the nonzero polynomials in p to those in l.
  --   There is sharing.

  function Polynomial_Equations
              ( l : Standard_Complex_Matrices.Matrix;
                x : Standard_Complex_Poly_Matrices.Matrix ) return Poly_Sys;

  -- DESCRIPTION :
  --   Returns the polynomial equations that express the intersection of
  --   the subspace spanned by the columns of l with the indeterminates
  --   in the variable matrix x.

  function Polynomial_Equations
              ( l : Standard_Complex_VecMats.VecMat;
                x : Standard_Complex_Poly_Matrices.Matrix ) return Poly_Sys;

  -- DESCRIPTION :
  --   Returns the polynomial system generated from expanding the 
  --   determinants that represent the intersections of x with the
  --   planes in l, with equations of the form det(l|x) = 0.

-- EVALUATORS AND DIFFERENTIATORS :

  function Eval ( l,x : Standard_Complex_Matrices.Matrix )
                return Complex_Number;

  -- DESCRIPTION :
  --   Returns the result of the evaluation of the determinant which
  --   has in its columns the columns of l and x.

  -- REQUIRED : x'length(1) = x'length(2) + l'length(2) = l'length(1).

  function Eval ( l,x : Standard_Complex_Matrices.Matrix ) return Vector;

  -- DESCRIPTION :
  --   Returns the vector of all maximal minors of the matrix that has
  --   in its columns the columns of l and x.

  -- REQUIRED : x'length(1) = l'length(1) >= x'length(2) + l'length(2).

  function Diff ( l,x : Standard_Complex_Matrices.Matrix; i : natural )
                return Complex_Number;
  function Diff ( l,x : Standard_Complex_Matrices.Matrix;
                  locmap : Standard_Natural_Matrices.Matrix; i : natural )
                return Complex_Number;

  -- DESCRIPTION :
  --   Returns the value of the derivative of the i-th variable in the
  --   vector representation of the matrix x of unknowns, with coefficients
  --   obtained from the determinantal equation det(l|x) = 0.
  --   The same requirements as in Eval on the dimensions hold.
  --   The i-th variable is w.r.t. the localization map.

  function Eval ( l : Standard_Complex_VecMats.VecMat;
                  x : Standard_Complex_Matrices.Matrix ) return Vector;

  -- DESCRIPTION :
  --   Returns the vector that has in its components the determinant
  --   of l(i) with x, for i in l'range.

  function Diff ( l : Standard_Complex_VecMats.VecMat;
                  x : Standard_Complex_Matrices.Matrix )
                return Standard_Complex_Matrices.Matrix;
  function Diff ( l : Standard_Complex_VecMats.VecMat;
                  x : Standard_Complex_Matrices.Matrix; nvars : natural;
                  locmap : Standard_Natural_Matrices.Matrix )
                return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns the Jacobian matrix of the system det(l(i)|x) = 0.
  --   If the localization map is specificied, then nvars equals the
  --   number of free variables.

end Determinantal_Systems;