# Maxima a computer algebra system in Emacs Fermin MF [[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.webm"]] [Download compressed .webm video (26.5M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin--vp9-q56-video-original-audio.webm) [Download prerecorded video](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--prerec--fermin.webm) Maxima is a great tool for symbolic mathematics, it has some support for Emacs in the main repository, but is quite outdated and doesn't receive the love I think it should, so a couple of months ago I decide to improve and "modernize" the maxima-mode.el code base. So, I want to talk about the integration with Emacs, the maxima REPL, how some of the main tool for Emacs integrate in maxima-mode and in general show how to start using maxima within Emacs. # Questions ## Q9 Is it is possible to include Maxima in org files similar to jupyter notebooks? (Does ob-maxima have support for the :results graphics header argument of org-src blocks?) [Fermin] Right now its not possible to include images in the files, but is a feature that I would love to implement in the future. About the ob-maxima support I'm not so sure. ## Q8 Are you planning to upstream your package into Maxima? (would be nice :) [Fermin] I would love to add the package to the maxima official repository, but I don't know if I can use the GitLab CI/CD from the main repository, if the answer is yes, then It shouldn't be too much trouble. ## Q7 In which University do you start to use Maxima? [Fermin] I started using maxima in the University of Zaragoza (Spain) - . ## Q6. Is there support for images in maxima-mode? [Fermin] Not yet (as of November 2020). ## Q5: Is Maxima's syntax a strict infix Lisp syntax or are there exceptions and special cases? Yes I mean Maxima itself. [Fermin] I don't know enough about the maxima implementation to answer the question, sorry. ## Q4. Is Maxima easy to get into in your opinion? (has its quirks though!, mailing list is usually helpful) [Fermin] It is! I think that the learning curve is quite easy, and that the manual and documentation are great! ## Q3: Do you plan to amend ob-maxima to support named session for Maxima code blocks in org mode (e.g. begin_src maxima :session **my-maxima**)? (the current implementation supports exactly onesession named **maxima**) [Fermin] Yes, I want to improve in the future the maxima implementation for org-mode. ## Q2: How does Maxima compare to SageMath in Emacs? does Maxima have more support because it is written in common Lisp whereas SageMath is written in Python? [Fermin] I don't know about sagemath sorry, but I know that the lispy thing about maxima make it interesting from a hacker stand point, mostly because all the tools that Emacs have for editing Common Lisp. ## Q1: So I am an avid Octave user right now (had a MATLAB lesson in uni and so I knew the basics and it was easy to get into), what would you say are the advantages of Maxima over Octave as from my understanding they are pretty similar. I would be interested in trying it out but I am not sure if its worth it compared to Octave. (Octave is a MATLAB "clone", not meant for analytic calculations, more matrix multiplications etc.) [Fermin] They can be use for similar purposes, but I don't know enough about Octave to recommend maxima first, so I think the best thing to do is to try and see what system fit more in your needs. # Notes