C/C++ Library Interfaces ======================== An underlying philosophy in the development of Sage is that it should provide unified library-level access to the some of the best GPL'd C/C++ libraries. Sage provides access to many libraries which are included with Sage. The interfaces are implemented via shared libraries and data is moved between systems purely in memory. In particular, there is no interprocess interpreter parsing (e.g., ``pexpect``), since everything is linked together and run as a single process. This is much more robust and efficient than using ``pexpect``. Each of these interfaces is used by other parts of Sage. For example, eclib is used by the elliptic curves module to compute ranks of elliptic curves and PARI is used for computation of class groups. It is thus probably not necessary for a casual user of Sage to be aware of the modules described in this chapter. ECL --- .. toctree:: :maxdepth: 2 sage/libs/ecl eclib ----- .. toctree:: :maxdepth: 2 sage/libs/eclib/interface sage/libs/eclib/mwrank sage/libs/eclib/mat sage/libs/eclib/newforms sage/libs/eclib/homspace sage/libs/eclib/constructor FLINT ----- .. toctree:: :maxdepth: 2 sage/libs/flint/flint sage/libs/flint/fmpz_poly sage/libs/flint/arith Giac ---- .. toctree:: :maxdepth: 2 sage/libs/giac GMP-ECM ------- .. toctree:: :maxdepth: 2 sage/libs/libecm GSL --- .. toctree:: :maxdepth: 2 sage/libs/gsl/array lcalc ----- .. toctree:: :maxdepth: 2 sage/libs/lcalc/lcalc_Lfunction libSingular ----------- .. toctree:: :maxdepth: 2 sage/libs/singular/function sage/libs/singular/function_factory sage/libs/singular/singular sage/libs/singular/polynomial sage/libs/singular/option sage/libs/singular/ring sage/libs/singular/groebner_strategy GAP --- .. toctree:: :maxdepth: 2 sage/libs/gap/context_managers sage/libs/gap/gap_functions sage/libs/gap/test_long sage/libs/gap/util sage/libs/gap/libgap sage/libs/gap/test sage/libs/gap/element sage/libs/gap/saved_workspace LinBox ------ .. toctree:: :maxdepth: 2 sage/libs/linbox/linbox_flint_interface lrcalc ------ .. toctree:: :maxdepth: 2 sage/libs/lrcalc/lrcalc mpmath ------ .. toctree:: :maxdepth: 2 sage/libs/mpmath/utils NTL --- .. toctree:: :maxdepth: 2 sage/libs/ntl/all PARI ---- .. toctree:: :maxdepth: 2 sage/libs/pari sage/libs/pari/convert_sage sage/rings/pari_ring PPL --- .. toctree:: :maxdepth: 2 sage/libs/ppl ratpoints --------- .. toctree:: :maxdepth: 2 sage/libs/ratpoints Readline -------- .. toctree:: :maxdepth: 2 sage/libs/readline Symmetrica ---------- .. toctree:: :maxdepth: 2 sage/libs/symmetrica/symmetrica .. Cannot be imported independently of mpmath: sage/libs/mpmath/ext_main sage/libs/mpmath/ext_impl sage/libs/mpmath/ext_libmp .. Modules depending on optional packages: sage/libs/coxeter3/coxeter sage/libs/coxeter3/coxeter_group sage/libs/fes sage/libs/homfly sage/libs/braiding .. include:: ../footer.txt