6 ms·
I think the really neat piece of software behind this is maxima (https://maxima.sourceforge.io/ https://maxima.sourceforge.io/), a rather influential computer a
by blobcode 2y ago
I think the really neat piece of software behind this is maxima (https://maxima.sourceforge.io/ https://maxima.sourceforge.io/), a rather influential computer algebra system of ancient lineage still in use today in more places than you might think.
- kristopolous 2y agoApparently that lineage goes back to 1968 https://en.m.wikipedia.org/wiki/Macsyma https://en.m.wikipedia.org/wiki/Macsyma I wonder what those early versions were like. It's on lisp so it's feasibly still runnable without too much fussing around
- anthk 2y agoCompile ITS and just run :macsyma at the DDT prompt (shell/debugger) from ITS: https://github.com/pdp-10/its https://github.com/pdp-10/its The syntax it's the same, I even made a plot and 'printed' into the host from an ARDS output from the plot command, by converting the file into PPM->PNG or PPM->PDF. This is a plot from Macsyma converted into PDF: http://0x0.st/X-67.pdf http://0x0.st/X-67.pdf
- kristopolous 2y agothat y2k bug is delightful
- anthk 2y agoAnd it has been fixed =) :date MONDAY, APRIL 15, 2024 07:37:33 PM
- lupire 2y agoThe custom solver is really neat too > In order to show the steps, the calculator applies the same integration techniques that a human would apply. The program that does this has been developed over several years and is written in Maxima's own programming language. It consists of more than 17000 lines of code. When the integrand matches a known form, it applies fixed rules to solve the integral (e. g. partial fraction decomposition for rational functions, trigonometric substitution for integrands involving the square roots of a quadratic polynomial or integration by parts for products of certain functions). Otherwise, it tries different substitutions and transformations until either the integral is solved, time runs out or there is nothing left to try. The calculator lacks the mathematical intuition that is very useful for finding an antiderivative, but on the other hand it can try a large number of possibilities within a short amount of time. The step by step antiderivatives are often much shorter and more elegant than those found by Maxima.
- nsajko 2y agoThis is known as rule-based integration. Here's a powerful system of such rules: https://rulebasedintegration.org/integrationRules.html https://rulebasedintegration.org/integrationRules.html
- pkaye 2y agoThere is a go implementation of a CAS which syntax similar to Mathematica which uses this rules based integration library. https://github.com/corywalker/expreduce https://github.com/corywalker/expreduce
- wiz21c 2y agoDoes one know if mathematica uses that too ? I rememebr an HN post where one could see that sympy, maxima and the likes where way behind for a lot of more peculiar integrals.. ah the comparison is here : https://www.12000.org/my_notes/CAS_integration_tests/index.htm https://www.12000.org/my_notes/CAS_integration_tests/index.h... (and posted by other on this very thread...)
- cjk2 2y agoI still use this daily. It's ugly and cranky but it works and it's the right price.
- constantcrying 2y agoMaxima ist absolutely great. It can be somewhat confusing, but it is actually quite advanced. Calculating integrals is extremely hard (unlike calculating derivatives, which is very easy to do) and maxima comes with some of the more advanced and comprehensive strategies to solve integrals.
- nsajko 2y agoIt's integration functionalities are less advanced and comprehensive than those of Fricas. Interestingly, the latter is, like Maxima, implemented using Lisp and stems from an ancient software lineage. Both systems are free and open-source. Fricas home page: http://fricas.github.io http://fricas.github.io Fricas Archlinux package page: https://archlinux.org/packages/extra/x86_64/fricas/ https://archlinux.org/packages/extra/x86_64/fricas/ Some independent integration benchmarks, comparing multiple computer algebra systems: https://www.12000.org/my_notes/CAS_integration_tests/index.htm https://www.12000.org/my_notes/CAS_integration_tests/index.h...
- constantcrying 2y agoFascinating, thank you!
- anthk 2y agoBoth Fricas and Maxima use Common Lisp, most people will just use SBCL for both. But, the magic of Lisp is that you might call Common Lisp functions from one suite into another and viceversa without too much trouble.
- iillexial 2y agoI use it in the university and I hate it. The interface is ugly and very unintuitive, as well as the language.
- anthk 2y agoInterface? You can use wxmaxima, maxima.el from Emacs (and with Gnuplot/LaTex support to render inline equations), or KDE's Cantor too.