fricas
axiom
fricas | axiom | |
---|---|---|
8 | 3 | |
286 | 352 | |
0.7% | - | |
9.3 | 0.0 | |
8 days ago | 9 months ago | |
Clojure | PostScript | |
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fricas
-
Integral Calculator
But it's integration functionalities are less advanced and comprehensive than those of Fricas. Interestingly, the latter is, like Maxima, implemented using Lisp and stems from a ancient software lineage. Both systems are free and open-source.
Fricas home page: http://fricas.github.io
Some independent integration benchmarks, comparing multiple computer algebra systems: https://www.12000.org/my_notes/CAS_integration_tests/index.h...
- FriCAS – an advanced computer algebra system
-
Strategies for doing symbolic integration algorithmically
Even partial implementations of the Risch algorithm can be pretty daunting but you might look at a couple heuristics that handle the easier bits, like Manel Bronstien's Poor Man's Integrator https://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint/index.html which doesn't need as many algebraic tools, but does need gcd, factor, and solve. I think FriCAS might use this https://github.com/fricas/fricas
- A Mature Library For Symbolic Computation?
-
[2021 Day 6] [Fricas] Solution via finding a recurrence and solving it
Fricas home page: https://fricas.github.io
-
Is Haskell a good language for CAS/numerical analysis?
I used to use Maxima back in the day, which is embedded in Lisp. With a quick googling I found FriCAS https://github.com/fricas/fricas , which aims to be "world class" AND its libraries are built in a strongly-typed DSL called Spad.
-
"FriCAS algebra library, the largest and most advanced free general purpose computer algebra system" (as of September 2007)
BTW this is not a Clojure project. It contains .boot files that look like this and GitHub thinks they're Clojure. Trying to edit the .gitattributes through a PR.
axiom
-
Sile: A Modern Rewrite of TeX
The literate macro is just standard latex. The command line extraction functions are:
Lisp program to extract latex chunks: https://github.com/daly/axiom/blob/master/books/tangle.lisp
C program to extract latex chunks: https://github.com/daly/axiom/blob/master/books/tanglec.c
Note that the C program is just a hand translation of the Lisp code.
The lisp code has an explanation and the necessary latex macros. The idea is to scan the latex, find each named code 'chunk', and add each one to a hash table. Then the hash table is scanned to dump the requested chunk to stdout. For example:
\begin{chunk}{part1}
-
tex.web – Version 3.141592653
I think one "unfortunate" side effect of literate programming with a "stupid" procedual language like C, Pascal or even Java - is that your lp system tends toward becoming your macro system.
It does allow straightforward, short procedual/structured programs to become very readable and easily understandable - but for bigger "piles of code" - it's probably not that good a fit in practice.
I guess https://github.com/daly/axiom is both an argument for this being true (I seem to recall there was an effort to get away from lp) - and against (proof of existence: it's a big system, it's old, it seems to not be dead).
Then there's the other thing - I don't recall who's quote it is - but it is along the lines of: "There are few good programmers, there are few good writers of prose/technical documentation - therefore the subset of people that are both great programmers and great writers are tiny - and that is the subset for whom literate programming is a great fit".
I do think there's a middle ground though, and "notebooks" for "executable, repeatable" research papers is one such middle ground (or: to write a great cs paper your team need to have both skills anyway).
But there are certainly great programmers that can't write documentation on how to escape a wet paper bag.
-
"FriCAS algebra library, the largest and most advanced free general purpose computer algebra system" (as of September 2007)
From the code point of view, Axiom seems more interesting to me, but I need to study it more.
What are some alternatives?
axiom - The dynamic infrastructure framework for everybody! Distribute the workload of many different scanning tools with ease, including nmap, ffuf, masscan, nuclei, meg and many more!
SATySFi - A statically-typed, functional typesetting system
Axiom - An FFmpeg GUI for Windows
KeenTeX - Java API for displaying mathematical formulas using TeX notation
Symbolics.jl - Symbolic programming for the next generation of numerical software
MathJax - Beautiful and accessible math in all browsers
cadabra2 - A field-theory motivated approach to computer algebra.
sile - The SILE Typesetter — Simon’s Improved Layout Engine
casadi - CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
literate-lisp - Load Common Lisp code blocks from Org files
polycalc - 🧮 Polynomial Calculator
literate-elisp - Load Emacs Lisp code blocks from Org files