summaryrefslogblamecommitdiffstats
path: root/2020/info/33.md
blob: 71c6a7fbb4c40094e26e993527f289826378933c (plain) (tree)
1
2
3
4
5
6
7
8


                                           
                                                                                                                                                        
                                                                                                                                                                            
 
                                                                                                                                                                 
 







                                                                      

                      

           
                                                                                                                                                                               


                                                                                                                                                                              

                                                                              

                                                                   
 

                                                                                                                                                                                                                
                                                     

                                                                      
                                                      

                                                  

                                      
 
                                                                                                                         
 

                                                                                          
                                                                                                            

                                                                                                              
 
                                                                                                                                                                                                                            

                                                                                    
 
                                                                                                                                                              

                                                                                                                                                                                                            
 

                                                                                                                                                                                                                                                                                                                                                                                                                                              
 

                                                                                                                                                                                                   

                                
# 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://media.emacsconf.org/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin-vp9-q56-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.

<!-- from the pad --->

# 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) -
<https://en.wikipedia.org/wiki/University_of_Zaragoza>

## 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
<http://maxima.sourceforge.net/>