Announcement of Symbolics.jl bring attention of many people and starts many lively discussion on Discourse and beyond, about Computer Algebra Systems (CAS). In this discusion casual many papers, blog post, talks on YouTube, already existing CAS implementations etc., were mentioned and they links posted, but finding one of them now can be a bit of the challenge.
Since this topic is important and looks like a source of fun, for convenience for people who want to learn more about computer algebras systems, as myself, I try to collect in this post as many of this materials as I can. I hope that someone find this list useful.
I also want to mention two acronyms, that can be found in announcement thread: SCAS = Scientist’s Computer Algebra System, MCAS = Mathematician’s Computer Algebra System. As @dimpase point out such distinction is in many ways harmful, but we will probable use it a lot.
When I didn’t know how order some entries in one of the lists, I just use to them alphabetic order. In the future I will try to improve this post.
Also I apologize for all errors in my English.
- Bertrand Russell On Denoting, see also Wikipedia page of this work,
- Yingbo Ma, et al. ModelingToolkit: A Composable Graph Transformation System For Equation-Based Modeling,
- Alessandro Cheli Metatheory.jl: Fast and Elegant Algebraic Computation in Julia with Extensible Equality Saturation,
- Jacques Carette, William M. Farmer Towards Specifying Symbolic Computation,
- Richard Fateman Essays in algebraic simplification,
- Richard Fateman Algorithm Differentiation in Lisp: ADIL,
- Peter Fritzson MetaModelica – A Symbolic-Numeric Modelica Language and Comparison to Julia,
- Paul S. Wang Evaluation of definate integrals by symbolic manipulation,
- Papers about Cadabra,
- Sören Laue, Matthias Mitterreiter and Joachim Giesen Computing Higher Order Derivatives of Matrix and Tensor Expressions,
- Papers of James Davenport, Robert Corless and David Jeffrey written together and in various combinations w/co-authors, about identities for function of complex variable; e.g. Robert M. Corless, et. al Reasoning About the Elementary Functions of Complex Analysis,
- MathScheme publications, especial papers under number 1, 3 and 4.
Non-open access papers
- Robert M. Corless, David J. Jeffrey The unwinding number,
- Robert H.C.Moir, Robert M.Corless, David J.Jeffrey An unwinding number pair for continuous expressions of integrals.
Talks and presentations
- Harrison Grodin Symbolic Manipulation in Julia (JuliaCon2019),
- John Lapyre Symbolic Mathematics in Julia (JuliaCon 2018), see also PDF of presentation,
- Moshe Vardi Progress in Symbolic Satisfiability Solving.
- Christopher Rackauckas Generalizing Automatic Differentiation to Automatic Sparsity, Uncertainty, Stability, and Parallelism,
- Jacques Carette Symbolic Computation,
- Garron Fish, Sas Harrison Introduction to the model translation and symbolic processing,
- Fredrik Johansson Computing with metavalues,
- Albert D. Rich Organizing Math as a Rule-based Decision Tree.
- Gerald Jay Sussman and Jack Wisdom with Meinhard E. Mayer Structure and Interpretation of Classical Mechanics.
Parts of documentations
- Assumptions — SymPy 1.7.1 documentation,
- Refine — SymPy 1.7.1 documentation,
- Assumptions — Wolfram Language Documentation.
Computer Algebra Systems
- GAP, (Groups, Algorithms, Programming) a System for Computational Discrete Algebra,
- MuPAD, developed at University of Paderborn, Germany, and bought by MathWorks in 2008 and integrated into their Symbolic Math Toolbox,
Julia wrappers for Computer Algebra Systems
- Christopher Rackauckas account of history of Symbolics.jl,
- egg: e-graph good,
- Matrix Calculus,
- The RegularChains Library,
- Symbolic Math: try a translation of Axiom to Julia?
People that made/recommended these materials in alphabetic order: Christoph Buchner, Jacques Carette, Fredrik Bagge Carlson, Jānis Erdmanis, Richard Fateman, Max Horn, Zdeněk Hurák, John Lapyre, Bernt Lie, Stefan Krastanov, Christopher Rackauckas, David P. Sanders, Chad Scherrer, Philip Zucker.
I apologized everyone who should be on this list, but he or she isn’t on it.