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

Annotation of OpenXM_contrib/PHC/Ada/Schubert/specialization_of_planes.ads, Revision 1.1.1.1

1.1       maekawa     1: with Brackets;                           use Brackets;
                      2: with Standard_Complex_Matrices;
                      3: with Standard_Complex_Poly_Matrices;
                      4:
                      5: package Specialization_of_Planes is
                      6:
                      7: -- DESCRIPTION :
                      8: --   Set up of the moving cycles in the Pieri homotopy algorithm.
                      9: --   The U-matrix generates the special m-plane.
                     10:
                     11:   function Random_Upper_Triangular
                     12:                ( n : natural ) return Standard_Complex_Matrices.Matrix;
                     13:
                     14:   -- DESCRIPTION :
                     15:   --   Returns an n*n random upper triangular matrix that has 1's on its
                     16:   --   anti-diagonal, to be used for the first Pieri tree.
                     17:
                     18:   function Random_Lower_Triangular
                     19:                ( n : natural ) return Standard_Complex_Matrices.Matrix;
                     20:
                     21:   -- DESCRIPTION :
                     22:   --   Returns an n*n random lower triangular matrix that has 1's on its
                     23:   --   diagonal, to be used for the second Pieri tree.
                     24:
                     25:   function U_Matrix ( F : Standard_Complex_Matrices.Matrix; b : Bracket )
                     26:                     return Standard_Complex_Matrices.Matrix;
                     27:
                     28:   -- DESCRIPTION :
                     29:   --   Determines the matrix U in the moving cycles for the Pieri tree.
                     30:
                     31:   -- ON ENTRY :
                     32:   --   F         general triangular matrix, output of either
                     33:   --             Random_Upper_Triangular or Random_Lower_Triangular;
                     34:   --   b         bracket of first jumping-branching node down the tree.
                     35:
                     36:   function Special_Plane ( m : natural; b : Bracket )
                     37:                          return Standard_Complex_Matrices.Matrix;
                     38:
                     39:   -- DESCRIPTION :
                     40:   --   Generates the special m-plane that every child of the node with
                     41:   --   the pivots in the bracket b intersects.
                     42:   --   The plane on return is spanned by the standard basis vectors
                     43:   --   except those that are indexed by the entries in the bracket b.
                     44:
                     45:   function Special_Bottom_Plane ( m : natural; b : Bracket )
                     46:                                 return Standard_Complex_Matrices.Matrix;
                     47:
                     48:   -- DESCRIPTION :
                     49:   --   Same as special m-plane, but with random numbers above the diagonal.
                     50:
                     51:   function Special_Top_Plane ( m : natural; b : Bracket )
                     52:                              return Standard_Complex_Matrices.Matrix;
                     53:
                     54:   -- DESCRIPTION :
                     55:   --   Same as special m-plane, but with random numbers below the diagonal.
                     56:
                     57:   function Special_Plane
                     58:                 ( n,m,k : natural; b : Bracket;
                     59:                   special : in Standard_Complex_Matrices.Matrix )
                     60:                 return Standard_Complex_Matrices.Matrix;
                     61:
                     62:   -- DESCRIPTION :
                     63:   --   Returns a special (m+1-k)-plane, by random combinations from the
                     64:   --   n-dimensional basis vectors of special indexed by the pivots in b.
                     65:   --   The basis vectors have random numbers above the diagonal.
                     66:   --   Note that here not the complement of the indices in b is used!
                     67:
                     68:   function Moving_U_Matrix
                     69:                ( n : natural; U,L : Standard_Complex_Matrices.Matrix )
                     70:                return Standard_Complex_Poly_Matrices.Matrix;
                     71:
                     72:   -- DESCRIPTION :
                     73:   --   Determines the moving U-matrix for the Pieri tree, when i=0.
                     74:   --   Returns a polynomial matrix in the continuation parameter t,
                     75:   --   which is the last variable in the polynomials on return.
                     76:
                     77:   -- ON ENTRY :
                     78:   --   n         number of variables of the polynomials in the matrix;
                     79:   --   U         output of U_Matrix function listed above, start m-plane;
                     80:   --   L         target m-plane that will be folded in during the deformation.
                     81:
                     82:   function Moving_U_Matrix
                     83:                ( U : Standard_Complex_Matrices.Matrix;
                     84:                  i,r : natural; b : bracket )
                     85:                return Standard_Complex_Poly_Matrices.Matrix;
                     86:
                     87:   -- DESCRIPTION :
                     88:   --   Determines the moving U-matrix for the Pieri tree, when i>0.
                     89:   --   Returns a polynomial matrix in the continuation parameter t.
                     90:
                     91:   -- ON ENTRY :
                     92:   --   U         output of U_Matrix function listed above;
                     93:   --   i         counts the number of nodes till 1st jumping node down;
                     94:   --   b         bracket of first jumping-branching node down the tree.
                     95:
                     96:   function Lower_Section
                     97:                ( M : Standard_Complex_Poly_Matrices.Matrix;
                     98:                  row : natural ) return Standard_Complex_Poly_Matrices.Matrix;
                     99:
                    100:   -- DESCRIPTION :
                    101:   --   The columns in M that have nonzero entries in the rows strictly
                    102:   --   larger than the given row index will be removed.  This corresponds
                    103:   --   to intersecting the column space of M with <e_1,..,e_row>.
                    104:
                    105:   function Upper_Section
                    106:                ( M : Standard_Complex_Poly_Matrices.Matrix;
                    107:                  row : natural ) return Standard_Complex_Poly_Matrices.Matrix;
                    108:
                    109:   -- DESCRIPTION :
                    110:   --   The columns in M that have nonzero entries in the rows strictly
                    111:   --   lower than the given row index will be removed.  This corresponds
                    112:   --   to intersecting the column space of M with <e_row,..,e_n>.
                    113:
                    114: end Specialization_of_Planes;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>