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


                                           
                                                                                                                                                        

                                                                                                                                                                                                                               
 
                                                                                                                                                                 
 







                                                                      

                      

           
                                                                                                                                                                               


                                                                    

                                                                              



                                                                    
 
                                                     

                                                                 

                                                  
                                       
 
                                                                                                                         

                                                                      
 
                                                                                                            

                                                                  
 
                                                                                                                                                                                                                            

                                                        
 
                                                                                                                                                              


                                                                     
 
                                                                                                                                                                                                                                                                                                                                                                                                                                              


                                                                      
 

                                
# 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 (52.6M)](https://media.emacsconf.org/2020/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin--compressed32.webm)  
[Download compressed .webm video (26.5M, highly compressed)](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.

<!-- 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?)
[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) - <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.)
[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/>