[BACK]Return to generic_jacobian_matrices.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_jacobian_matrices.ads, Revision 1.1

1.1     ! maekawa     1: with Abstract_Ring;
        !             2: with Generic_Vectors,Generic_VecVecs;
        !             3: with Generic_Matrices;
        !             4: with Generic_Polynomials;
        !             5: with Generic_Polynomial_Functions;
        !             6: with Generic_Polynomial_Systems;
        !             7: with Generic_Poly_System_Functions;
        !             8:
        !             9: generic
        !            10:
        !            11:   with package Ring is new Abstract_Ring(<>);
        !            12:   with package Vectors is new Generic_Vectors(Ring);
        !            13:   with package VecVecs is new Generic_VecVecs(Ring,Vectors);
        !            14:   with package Matrices is new Generic_Matrices(Ring,Vectors);
        !            15:   with package Polynomials is new Generic_Polynomials(Ring);
        !            16:   with package Poly_Functions is
        !            17:          new Generic_Polynomial_Functions(Ring,Vectors,Polynomials);
        !            18:   with package Poly_Systems is
        !            19:          new Generic_Polynomial_Systems(Ring,Polynomials);
        !            20:   with package Poly_SysFun is
        !            21:          new Generic_Poly_System_Functions(Ring,Vectors,VecVecs,Polynomials,
        !            22:                                            Poly_Functions,Poly_Systems);
        !            23:
        !            24: package Generic_Jacobian_Matrices is
        !            25:
        !            26: -- DESCRIPTION :
        !            27: --   This package provides data structures and evaluation functions for
        !            28: --   Jacobian matrices of systems of polynomials.
        !            29:
        !            30:   use Ring,Vectors,VecVecs,Matrices;
        !            31:   use Polynomials,Poly_Functions,Poly_Systems,Poly_SysFun;
        !            32:
        !            33: -- FUNCTION TYPE :
        !            34:
        !            35:   type Evaluator is access function ( x : Vector ) return Matrix;
        !            36:
        !            37: -- DATA STRUCTURES :
        !            38:
        !            39:   type Jaco_Mat is array ( integer range <>, integer range <> ) of Poly;
        !            40:   type Eval_Jaco_Mat is
        !            41:                    array ( integer range <>, integer range <> ) of Eval_Poly;
        !            42:
        !            43:   type Eval_Coeff_Jaco_Mat
        !            44:              is array ( integer range <>, integer range <> ) of Eval_Coeff_Poly;
        !            45:   type Mult_Factors
        !            46:              is array ( integer range <>, integer range <> ) of Link_to_Vector;
        !            47:
        !            48:   -- USAGE :
        !            49:   --   p : Poly_Sys(1..n);
        !            50:   --   j : Jaco_Mat(1..n,1..n) := Create(p);
        !            51:   --  =>  j(i,j) = Diff(p(i),j)
        !            52:
        !            53: -- CREATORS :
        !            54:
        !            55:   function Create ( p : Poly_Sys ) return Jaco_Mat;
        !            56:
        !            57:   -- REQUIRED :
        !            58:   --   The number of the unknowns of each polynomial must be the same
        !            59:
        !            60:   function Create ( j : Jaco_Mat ) return Eval_Jaco_Mat;
        !            61:
        !            62:   procedure Create ( p : Poly_Sys;
        !            63:                      j : out Eval_Coeff_Jaco_Mat; m : out Mult_Factors );
        !            64:
        !            65: -- EVALUATORS :
        !            66:
        !            67:   function Eval ( j : Jaco_Mat;      x : Vector ) return Matrix; -- return j(x);
        !            68:   function Eval ( j : Eval_Jaco_Mat; x : Vector ) return Matrix; -- return j(x);
        !            69:
        !            70:   function Eval ( j : Eval_Coeff_Jaco_Mat; m : Mult_Factors;
        !            71:                   c : VecVec; x : Vector ) return Matrix;
        !            72:
        !            73:     -- returns j(c,x) with c the coefficients of the original polynomials
        !            74:
        !            75: -- DESTRUCTORS :
        !            76:
        !            77:   procedure Clear ( j : in out Jaco_Mat );
        !            78:   procedure Clear ( j : in out Eval_Jaco_Mat );
        !            79:   procedure Clear ( j : in out Eval_Coeff_Jaco_Mat );
        !            80:
        !            81:   procedure Clear ( m : in out Mult_Factors );
        !            82:
        !            83:   -- DESCRIPTION :
        !            84:   --   Deallocation of the occupied memory.
        !            85:
        !            86: end Generic_Jacobian_Matrices;

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