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

File: [local] / OpenXM_contrib / PHC / Ada / Schubert / specialization_of_planes.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 Brackets;                           use Brackets;
with Standard_Complex_Matrices;
with Standard_Complex_Poly_Matrices;

package Specialization_of_Planes is

-- DESCRIPTION :
--   Set up of the moving cycles in the Pieri homotopy algorithm.
--   The U-matrix generates the special m-plane.

  function Random_Upper_Triangular
               ( n : natural ) return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns an n*n random upper triangular matrix that has 1's on its
  --   anti-diagonal, to be used for the first Pieri tree.

  function Random_Lower_Triangular
               ( n : natural ) return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns an n*n random lower triangular matrix that has 1's on its
  --   diagonal, to be used for the second Pieri tree.

  function U_Matrix ( F : Standard_Complex_Matrices.Matrix; b : Bracket )
                    return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Determines the matrix U in the moving cycles for the Pieri tree.

  -- ON ENTRY :
  --   F         general triangular matrix, output of either
  --             Random_Upper_Triangular or Random_Lower_Triangular;
  --   b         bracket of first jumping-branching node down the tree.

  function Special_Plane ( m : natural; b : Bracket )
                         return Standard_Complex_Matrices.Matrix;   

  -- DESCRIPTION :
  --   Generates the special m-plane that every child of the node with
  --   the pivots in the bracket b intersects.
  --   The plane on return is spanned by the standard basis vectors
  --   except those that are indexed by the entries in the bracket b.

  function Special_Bottom_Plane ( m : natural; b : Bracket )
                                return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Same as special m-plane, but with random numbers above the diagonal.

  function Special_Top_Plane ( m : natural; b : Bracket )
                             return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Same as special m-plane, but with random numbers below the diagonal.

  function Special_Plane
                ( n,m,k : natural; b : Bracket;
                  special : in Standard_Complex_Matrices.Matrix )
                return Standard_Complex_Matrices.Matrix;

  -- DESCRIPTION :
  --   Returns a special (m+1-k)-plane, by random combinations from the
  --   n-dimensional basis vectors of special indexed by the pivots in b.
  --   The basis vectors have random numbers above the diagonal.
  --   Note that here not the complement of the indices in b is used!

  function Moving_U_Matrix
               ( n : natural; U,L : Standard_Complex_Matrices.Matrix ) 
               return Standard_Complex_Poly_Matrices.Matrix;

  -- DESCRIPTION :
  --   Determines the moving U-matrix for the Pieri tree, when i=0.
  --   Returns a polynomial matrix in the continuation parameter t,
  --   which is the last variable in the polynomials on return.

  -- ON ENTRY :
  --   n         number of variables of the polynomials in the matrix;
  --   U         output of U_Matrix function listed above, start m-plane;
  --   L         target m-plane that will be folded in during the deformation.

  function Moving_U_Matrix
               ( U : Standard_Complex_Matrices.Matrix;
                 i,r : natural; b : bracket ) 
               return Standard_Complex_Poly_Matrices.Matrix;

  -- DESCRIPTION :
  --   Determines the moving U-matrix for the Pieri tree, when i>0.
  --   Returns a polynomial matrix in the continuation parameter t.

  -- ON ENTRY :
  --   U         output of U_Matrix function listed above;
  --   i         counts the number of nodes till 1st jumping node down;
  --   b         bracket of first jumping-branching node down the tree.

  function Lower_Section
               ( M : Standard_Complex_Poly_Matrices.Matrix;
                 row : natural ) return Standard_Complex_Poly_Matrices.Matrix;

  -- DESCRIPTION :
  --   The columns in M that have nonzero entries in the rows strictly
  --   larger than the given row index will be removed.  This corresponds
  --   to intersecting the column space of M with <e_1,..,e_row>.

  function Upper_Section
               ( M : Standard_Complex_Poly_Matrices.Matrix;
                 row : natural ) return Standard_Complex_Poly_Matrices.Matrix;

  -- DESCRIPTION :
  --   The columns in M that have nonzero entries in the rows strictly
  --   lower than the given row index will be removed.  This corresponds
  --   to intersecting the column space of M with <e_row,..,e_n>.

end Specialization_of_Planes;