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>