# 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 .webm video, 720p, 260MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.webm) [[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--prerec--fermin.webm"]] [Download prerec .webm video, 720p, 58M](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?) Yes it is, needs more work to be done on it. 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 :) Don't know about that, can be bit messy. No problem with doing that though. Running tests might be tricky (CI). 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.) Don't known Octave much. Found the Octave package hard to understand. 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