= SageMath interfaces to and from other software =

<<TableOfContents()>>

== Interfaces to other software in SageMath ==

=== Sage interfaces to closed software ===

  * [[http://page.math.tu-berlin.de/~kant/|KANT/KASH]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/kash.html|Sage interface to KANT/KASH]]
  * [[http://magma.maths.usyd.edu.au/magma/|Magma]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/magma.html|Sage interface to Magma]]
  * [[http://magma.maths.usyd.edu.au/calc/|Magma online calculator]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/magma_free.html|Sage interface to Magma online calculator]]
  * [[https://www.maplesoft.com/|Maple]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/maple.html|Sage interface to Maple]]
  * [[https://www.wolfram.com/mathematica/|Mathematica]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/mathematica.html|Sage interface to Mathematica]]
  * [[https://www.mathworks.com/products/matlab.html|MATLAB]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/matlab.html|Sage interface to MATLAB]]
  * [[https://www.mathworks.com/discovery/mupad.html|MuPAD]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/mupad.html|Sage interface to MuPAD]]

=== Sage interfaces to free software ===

  * [[http://axiom-developer.org/|Axiom]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/axiom.html|Sage interface to Axiom]]
  * [[http://ecm.gforge.inria.fr|GMP-ECM]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/ecm.html|Sage interface to GMP-ECM]]
  * [[http://www.4ti2.de/|4ti2]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/four_ti_2.html| Sage interface to 4ti2]]
  * [[http://fricas.sourceforge.net/|FriCAS]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/fricas.html|Sage interface to Fricas]]
  * [[http://www.broune.com/frobby/|Frobby]] (computations with monomial ideals): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/frobby.html|Sage interface to Frobby]]
  * [[http://www.gap-system.org/|GAP4]] (groups, algorithms, programming): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/gap.html|Sage interface to GAP]]
  * [[https://webusers.imj-prg.fr/~jean.michel/gap3/|GAP3]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/gap3.html|Sage interface to GAP3]]
  * [[http://home.math.au.dk/jensen/software/gfan/gfan.html|gfan]] (Gröbner fan): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/gfan.html|Sage interface to gfan]]
  * [[http://www-fourier.ujf-grenoble.fr/~parisse/giac.html|Giac]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/giac.html|Sage interface to Giac]]
  * [[http://gnuplot.info/|Gnuplot]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/gnuplot.html|Sage interface to Gnuplot]]
  * [[http://jmol.org|jmol]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/jmoldata.html|Sage interface to jmol]]
  * [[https://www.math.ucdavis.edu/~latte/|LattE]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/latte.html|Sage interface to LattE]]
  * [[http://www-math.univ-poitiers.fr/~maavl/LiE/|LiE]] (Lie group computations): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/lie.html|Sage interface to Lie]]
  * [[https://common-lisp.net/project/ecl/|Emmbeddable Common Lisp]] (Lisp programming language): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/lisp.html|Sage interface to Lisp]]
  * [[http://www.math.uiuc.edu/Macaulay2/|Macaulay2]] (algebraic geometry and commutative algebra): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/macaulay2.html|Sage interface to Macaulay2]]
  * [[http://maxima.sourceforge.net/|Maxima]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/maxima.html|Sage's pexpect interface to Maxima]], [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/maxima_abstract.html|Sage's abstract interface to Maxima]], [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/maxima_lib.html|Sage's library interface to Maxima]]
  * [[http://homepages.warwick.ac.uk/~masgaj/mwrank/|mwrank]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/mwrank.html|Sage interface to mwrank]]
  * [[https://www.gnu.org/software/octave/|GNU Octave]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/octave.html|Sage interface to GNU Octave]]
  * [[http://pari.math.u-bordeaux.fr/|PARI/GP]] (number theory): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/gp.html|Sage interface to gp (PARI/GP)]]
  * [[http://homepages.math.uic.edu/~jan/PHCpack/|PHC]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/phc.html|Sage interface to PHC]]
  * [[https://www.polymake.org/|Polymake]] (polytopes): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/polymake.html|Sage interface to Polymake]]
  * [[http://www.povray.org/|POV-Ray]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/povray.html|Sage interface to POV-Ray]]
  * [[https://www.usna.edu/CS/qepcadweb/B/QEPCAD.html|QEPCAD]] (quantifier elimination by partial cylindrical algebraic decomposition): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/qepcad.html|Sage interface to QEPCAD]]
  * [[http://www.friedspace.com/QS/|SIMPQS]] (self initialising quadratic sieve): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/qsieve.html|Sage interface to Bill Hart's Quadratic Sieve]]
  * [[https://www.r-project.org/|R]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/r.html|Sage interfaces to R]]
  * Rubik's cube solvers: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/rubik.html|Sage interface to Rubik's cube solvers]]
  * [[http://www.scilab.org/|Scilab]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/scilab.html|Sage interface to Scilab]]
  * [[https://www.singular.uni-kl.de/|Singular]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/singular.html|Sage interface to Singular]]
  * [[http://www.sympy.org/en/index.html|SymPy]]: [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/sympy.html|Sympy to Sage conversion]]
  * [[http://jedi.ks.uiuc.edu/~johns/raytracer/|Tachyon]] (ray tracer): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/tachyon.html|Sage interface to Tachyon]]
  * [[https://sourceforge.net/projects/tidesodes/|TIDES]] (integration engine based on the Taylor method, implemented as a C library): [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/tides.html|Sage interface to TIDES]]

Sage even has interfaces to itself:

  * [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/sage0.html|Sage interface to another copy of Sage]]
  * [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/psage.html|Parallel interface to the Sage interpreter]]

See also

  * [[http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/|SageMath wiki page on interfaces]]
  * [[http://doc.sagemath.org/html/en/tutorial/interfaces.html|SageMath tutorial on interfaces]]
  * [[http://doc.sagemath.org/html/en/developer/coding_in_other.html|SageMath developer guide on interfaces]]

== Using other software in Sage worksheets ==

One can access other software from Sage worksheets, be it in the Sage Notebook, in CoCalc Sage worksheets,
or in Jupyter Notebook worksheets using the SageMath Jupyter kernel.

There are

  * ways to change kernel
  * some "magic" commands (starting with "%" and "%%") that let you use other software in a cell

== Interfaces to SageMath in other software ==

Some software systems provide an interface to Sage.

=== Cantor ===

  * home page: https://edu.kde.org/cantor/
  * author: https://arieder.wordpress.com
  * wiki page here: https://wiki.sagemath.org/Cantor

=== TeXmacs ===

  * wiki page here: https://wiki.sagemath.org/TeXmacs
  * wiki page there: http://www.texmacs.org/tmweb/plugins/cas.en.html

=== GAP / homalg ===

The GAP package '''homalg''' is "a homological algebra meta-package for
computable Abelian categories".

It provides a way to call Sage from GAP.

  * package page: https://www.gap-system.org/Packages/homalg.html
  * home plage: https://homalg-project.github.io/homalg_project/homalg/