Annotation of OpenXM_contrib/PHC/Ada/Schubert/determinantal_systems.ads, Revision 1.1
1.1 ! maekawa 1: with Standard_Complex_Numbers; use Standard_Complex_Numbers;
! 2: with Standard_Complex_Vectors; use Standard_Complex_Vectors;
! 3: with Standard_Natural_Matrices;
! 4: with Standard_Complex_Matrices;
! 5: with Standard_Complex_Poly_Matrices;
! 6: with Standard_Complex_VecMats;
! 7: with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems;
! 8:
! 9: package Determinantal_Systems is
! 10:
! 11: -- DESCRIPTION :
! 12: -- This package constitutes the bridge between linear subspace intersections
! 13: -- expressed by determinantal equations and polynomial systems.
! 14:
! 15: -- LOCALIZATION MAPS :
! 16:
! 17: function Standard_Coordinate_Frame
! 18: ( x : Standard_Complex_Poly_Matrices.Matrix;
! 19: plane : Standard_Complex_Matrices.Matrix )
! 20: return Standard_Natural_Matrices.Matrix;
! 21:
! 22: -- DESCRIPTION :
! 23: -- Returns a coordinate frame that corresponds to the polynomial matrix x.
! 24: -- To determine the position of the one, the first nonzero element in the
! 25: -- columns of the plane is taken.
! 26:
! 27: function Maximal_Coordinate_Frame
! 28: ( x : Standard_Complex_Poly_Matrices.Matrix;
! 29: plane : Standard_Complex_Matrices.Matrix )
! 30: return Standard_Natural_Matrices.Matrix;
! 31:
! 32: -- DESCRIPTION :
! 33: -- Returns a coordinate frame that corresponds to the polynomial matrix x.
! 34: -- To determine the position of the one, the maximal element in every
! 35: -- column is taken.
! 36:
! 37: function Localize ( locmap : Standard_Natural_Matrices.Matrix;
! 38: p : Poly_Sys ) return Poly_Sys;
! 39:
! 40: -- DESCRIPTION :
! 41: -- Applies the localization map to the polynomial system p,
! 42: -- assuming a rowwise lexicographical order on the variables.
! 43:
! 44: -- CONSTRUCT POLYNOMIAL SYSTEMS :
! 45:
! 46: procedure Concat ( l : in out Link_to_Poly_Sys; p : Poly_Sys );
! 47:
! 48: -- DESCRIPTION :
! 49: -- Concatenates the nonzero polynomials in p to those in l.
! 50: -- There is sharing.
! 51:
! 52: function Polynomial_Equations
! 53: ( l : Standard_Complex_Matrices.Matrix;
! 54: x : Standard_Complex_Poly_Matrices.Matrix ) return Poly_Sys;
! 55:
! 56: -- DESCRIPTION :
! 57: -- Returns the polynomial equations that express the intersection of
! 58: -- the subspace spanned by the columns of l with the indeterminates
! 59: -- in the variable matrix x.
! 60:
! 61: function Polynomial_Equations
! 62: ( l : Standard_Complex_VecMats.VecMat;
! 63: x : Standard_Complex_Poly_Matrices.Matrix ) return Poly_Sys;
! 64:
! 65: -- DESCRIPTION :
! 66: -- Returns the polynomial system generated from expanding the
! 67: -- determinants that represent the intersections of x with the
! 68: -- planes in l, with equations of the form det(l|x) = 0.
! 69:
! 70: -- EVALUATORS AND DIFFERENTIATORS :
! 71:
! 72: function Eval ( l,x : Standard_Complex_Matrices.Matrix )
! 73: return Complex_Number;
! 74:
! 75: -- DESCRIPTION :
! 76: -- Returns the result of the evaluation of the determinant which
! 77: -- has in its columns the columns of l and x.
! 78:
! 79: -- REQUIRED : x'length(1) = x'length(2) + l'length(2) = l'length(1).
! 80:
! 81: function Eval ( l,x : Standard_Complex_Matrices.Matrix ) return Vector;
! 82:
! 83: -- DESCRIPTION :
! 84: -- Returns the vector of all maximal minors of the matrix that has
! 85: -- in its columns the columns of l and x.
! 86:
! 87: -- REQUIRED : x'length(1) = l'length(1) >= x'length(2) + l'length(2).
! 88:
! 89: function Diff ( l,x : Standard_Complex_Matrices.Matrix; i : natural )
! 90: return Complex_Number;
! 91: function Diff ( l,x : Standard_Complex_Matrices.Matrix;
! 92: locmap : Standard_Natural_Matrices.Matrix; i : natural )
! 93: return Complex_Number;
! 94:
! 95: -- DESCRIPTION :
! 96: -- Returns the value of the derivative of the i-th variable in the
! 97: -- vector representation of the matrix x of unknowns, with coefficients
! 98: -- obtained from the determinantal equation det(l|x) = 0.
! 99: -- The same requirements as in Eval on the dimensions hold.
! 100: -- The i-th variable is w.r.t. the localization map.
! 101:
! 102: function Eval ( l : Standard_Complex_VecMats.VecMat;
! 103: x : Standard_Complex_Matrices.Matrix ) return Vector;
! 104:
! 105: -- DESCRIPTION :
! 106: -- Returns the vector that has in its components the determinant
! 107: -- of l(i) with x, for i in l'range.
! 108:
! 109: function Diff ( l : Standard_Complex_VecMats.VecMat;
! 110: x : Standard_Complex_Matrices.Matrix )
! 111: return Standard_Complex_Matrices.Matrix;
! 112: function Diff ( l : Standard_Complex_VecMats.VecMat;
! 113: x : Standard_Complex_Matrices.Matrix; nvars : natural;
! 114: locmap : Standard_Natural_Matrices.Matrix )
! 115: return Standard_Complex_Matrices.Matrix;
! 116:
! 117: -- DESCRIPTION :
! 118: -- Returns the Jacobian matrix of the system det(l(i)|x) = 0.
! 119: -- If the localization map is specificied, then nvars equals the
! 120: -- number of free variables.
! 121:
! 122: end Determinantal_Systems;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>