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

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>