Annotation of OpenXM_contrib/PHC/Ada/Schubert/specialization_of_planes.ads, Revision 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>