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

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/READ_ME, Revision 1.1

1.1     ! maekawa     1: Multivariate polynomials and polynomial systems over rings/fields in PHCv2.
        !             2:
        !             3: New in this release is the availability of multi-precision numbers.
        !             4: The data structures are entirely redefined using Ada 95 concepts.
        !             5:
        !             6: This library is organized in three parts:
        !             7: 1) generic packages: polynomials and systems
        !             8: 2) instantiations
        !             9: 3) utilities
        !            10:
        !            11: --------------------------------------------------------------------------------
        !            12: file name                         : short description
        !            13: --------------------------------------------------------------------------------
        !            14: generic_lists                     : lists of items
        !            15: graded_lexicographic_order        : defines the order of monomials
        !            16: generic_polynomials               : generic polynomials in several variables
        !            17: generic_laurent_polynomials       : generic polynomials with integer exponents
        !            18: generic_polynomial_functions      : evaluation of polynomials
        !            19: generic_laur_poly_functions       : evaluation of Laurent polynomials
        !            20: generic_polynomial_systems        : systems of polynomials
        !            21: generic_laur_poly_systems         : systems of Laurent polynomials
        !            22: generic_poly_system_functions     : evaluation of systems of polynomials
        !            23: generic_laur_system_functions     : evaluation of Laurent polynomial systems
        !            24: generic_jacobian_matrices         : Jacobian matrices of polynomial systems
        !            25: generic_laur_jaco_matrices        : Jacobian matrices of Laurent systems
        !            26: symbol_table                      : management of table of symbols
        !            27: symbol_table_io                   : input/output of symbols
        !            28: --------------------------------------------------------------------------------
        !            29: standard_complex_polynomials      : polynomials over standard complex numbers
        !            30: standard_complex_polynomials_io   : input/output of complex polynomials
        !            31: standard_complex_laur_polys       : Laurent polynomials with standard complex
        !            32: standard_complex_poly_ring        : abstract_ring(standard complex poly)
        !            33: standard_complex_poly_ring_io     : abstract_ring_io(standard complex poly)
        !            34: standard_complex_poly_vectors     : generic_vectors(standard complex poly)
        !            35: standard_complex_poly_vectors_io  : generic_vectors_io(standard complex poly)
        !            36: standard_complex_poly_matrices    : generic_matrices(standard complex poly)
        !            37: standard_complex_poly_matrices_io : generic_matrices_io(standard complex poly)
        !            38: standard_complex_poly_functions   : generic_polynomial_functions instantiated
        !            39: standard_complex_laur_functions   : generic_laur_poly_functions instantiated
        !            40: standard_complex_poly_systems     : generic_polynomial_systems instantiated
        !            41: standard_complex_poly_systems_io  : input/output for complex polynomial systems
        !            42: standard_complex_laur_systems     : generic_laur_poly_systems instantiated
        !            43: standard_complex_poly_sysfun      : generic_poly_system_function instantiated
        !            44: standard_complex_jaco_matrices    : generic_jacobian_matrices instantiated
        !            45: standard_complex_poly_randomizers : randomize coefficients of polynomials
        !            46: standard_complex_laur_randomizers : randomize coefficients of polynomials
        !            47: standard_complex_substitutors     : substitute equations into polynomials
        !            48: standard_poly_laur_convertors     : convert polynomials to Laurent polynomials
        !            49: standard_laur_poly_convertors     : convert Laurent polynomials to polynomials
        !            50: multprec_complex_polynomials      : polynomials over multiprec complex numbers
        !            51: multprec_complex_laur_polys       : Laurent polynomials over multprec complex
        !            52: multprec_complex_poly_functions   : evaluating multprec complex polynomials
        !            53: multprec_complex_poly_systems     : systems of multiprec complex polynomials
        !            54: multprec_complex_poly_sysfun      : evaluating multprec complex poly systems
        !            55: multprec_complex_jaco_matrices    : Jacobian matrices of multiprec systems
        !            56: multprec_complex_laur_systems     : multi-precision Laurent systems
        !            57: exponent_vectors                  : management of exponents of a system
        !            58: standard_evaluator_packages       : create package to evaluate systems
        !            59: matrix_indeterminates             : manipulate symbols for xij
        !            60: --------------------------------------------------------------------------------
        !            61: ts_poly                           : test on polynomials and polynomial systems
        !            62: ts_jaco                           : test on Jacobian matrices
        !            63: ts_evaline                        : calls the evaluator package
        !            64: --------------------------------------------------------------------------------
        !            65: Three different representations of polynomials are implemented:
        !            66: as a list of terms, a nested Horner scheme with fixed coefficients
        !            67: and with parametric coefficients.
        !            68: The latter provides an efficient way to evaluate coefficient homotopies.
        !            69:
        !            70: The i/o-routines provide readable formats in symbolic form.
        !            71:
        !            72: We can take advantage of the way vectors and matrices have been created:
        !            73: a polynomial system is an instance of a polynomial vector and
        !            74: a matrix with all partial derivatives is an instance of a polynomial matrix.
        !            75:
        !            76: The package generic_polynomials allow to define polynomial rings.
        !            77: The package generic_polynomial_functions is used to evaluate polynomials.
        !            78: In version one of PHC both the ring operations and evaluation routines
        !            79: were united in one large package.  The current organization has the benefit
        !            80: of separating evaluation from the definitions of vectors and matrices.
        !            81: The evaluation by means of a function is also supported.
        !            82:
        !            83: Since functions need separate data structures, separate packages are used,
        !            84: instead of working with child units that could also have been used to create
        !            85: a different view on the same data structure.
        !            86:
        !            87: Also the polynomial systems have been implemented separately.
        !            88:
        !            89: Jacobian matrices are implemented by means of generics.  Their main usage
        !            90: is towards evaluation.  Therefore, the type to represent a Jacobian matrix
        !            91: is just a two-dimensional array of polynomials.  To perform algebraic
        !            92: manipulations, one should convert to the matrix type of the package matrices
        !            93: instantiated with the polynomial ring.
        !            94:
        !            95: Since the different ways to evaluate polynomials use different orders of
        !            96: computation, the results may differ when mixed-precision arithmetic is used.
        !            97:
        !            98: The Laurent polynomials only differ from the usual polynomials by the
        !            99: type definition of the exponents and require the instantiation of a field
        !           100: for evaluation.
        !           101:
        !           102: wc *adb counts 7032 lines of Ada code

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