Sage Reference Manual
C/C++ Library Interfaces1========================23An underlying philosophy in the development of Sage is that it4should provide unified library-level access to the some of the best5GPL'd C/C++ libraries. Currently Sage provides some access to6MWRANK, NTL, PARI, and Hanke, each of which are included with7Sage.89The interfaces are implemented via shared libraries and data is10moved between systems purely in memory. In particular, there is no11interprocess interpreter parsing (e.g., ``expect``),12since everything is linked together and run as a single process.13This is much more robust and efficient than using14``expect``.1516Each of these interfaces is used by other parts of Sage. For17example, mwrank is used by the elliptic curves module to compute18ranks of elliptic curves, and PARI is used for computation of class19groups. It is thus probably not necessary for a casual user of Sage20to be aware of the modules described in this chapter.2122.. toctree::23:maxdepth: 22425sage/libs/cremona/mat26sage/libs/cremona/newforms27sage/libs/cremona/homspace28sage/libs/cremona/constructor29sage/libs/gmp/rational_reconstruction30sage/libs/lcalc/lcalc_Lfunction31sage/libs/ratpoints32sage/libs/singular/function33sage/libs/singular/function_factory34sage/libs/singular/singular35sage/libs/singular/polynomial36sage/libs/singular/option37sage/libs/singular/ring38sage/libs/singular/groebner_strategy39sage/libs/ppl40sage/libs/linbox/linbox41sage/libs/flint/flint42sage/libs/flint/fmpz_poly43sage/libs/flint/arith44sage/libs/symmetrica/symmetrica45sage/libs/mpmath/utils46sage/libs/ntl/all47sage/libs/libecm48sage/libs/lrcalc/lrcalc49sage/libs/pari/handle_error50sage/libs/pari/gen_py51sage/libs/pari/gen52sage/libs/pari/pari_instance53sage/libs/pari/closure54sage/rings/pari_ring55sage/libs/fplll/fplll56sage/libs/readline57sage/libs/gap/context_managers58sage/libs/gap/gap_functions59sage/libs/gap/test_long60sage/libs/gap/util61sage/libs/gap/libgap62sage/libs/gap/test63sage/libs/gap/element64sage/libs/gap/saved_workspace65sage/libs/ecl66sage/libs/mwrank/interface67sage/libs/mwrank/mwrank6869sage/gsl/gsl_array7071sage/ext/interrupt72sage/ext/pselect7374.. Cannot be imported independently of mpmath: sage/libs/mpmath/ext_main sage/libs/mpmath/ext_impl sage/libs/mpmath/ext_libmp7576.. Modules depending on optional packages: sage/libs/coxeter3/coxeter sage/libs/coxeter3/coxeter_group sage/libs/fes7778.. include:: ../footer.txt798081