Trinh @ Bath

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
it_cas [2026/04/16 09:49]
trinh created
it_cas [2026/04/16 11:05] (current)
trinh
Line 1: Line 1:
 +~~NOTOC~~
 ====== Computer Algebra Systems (CAS) ====== ====== Computer Algebra Systems (CAS) ======
  
 Computer algebra systems, such as Mathematica, Maple, SageMath, Matlab's Symbolic Math Toolbox, etc. are very useful for the following tasks (ranked in importance):  Computer algebra systems, such as Mathematica, Maple, SageMath, Matlab's Symbolic Math Toolbox, etc. are very useful for the following tasks (ranked in importance): 
  
- * 1 = Deriving and manipulating exact closed-form quantities or special functions, including pattern recognition +  * 1 = Deriving and manipulating exact closed-form quantities or special functions, including pattern recognition 
- * 2 = Numerical scratchpad for exploration +  * 2 = Numerical scratchpad for exploration 
- * 2 = High precision computations  +  * 2 = High precision computations and variable precision arithmetic 
- * 3 = (Floating-point) Numerical analysis and numerical solutions +  * 3 = (Floating-point) Numerical analysis and numerical solutions 
  
 In terms of alternatives to the above tasks, there is no real alternative to item 1 in terms of conventional software you will use. Items ranked 2-3 all have alternatives, e.g. Python, Matlab, C++, etc.  In terms of alternatives to the above tasks, there is no real alternative to item 1 in terms of conventional software you will use. Items ranked 2-3 all have alternatives, e.g. Python, Matlab, C++, etc. 
 +
 +===== Choosing a software =====
 +
 +  * Unfortunately, as far as I'm aware, there is no good competitor to Mathematica (education license \$1k; student license \$70/year). Maple is probably the closest, but it was previously unsatisfactory for my needs. 
 +  * There is no good open source alternative...as far as I know. Perhaps we should do a benchmark test?
 +
 +===== Example 1: using Mathematica as a scratchpad =====
 +
 +  * Simple 2D, 3D, and contour plotting.  
 +  * Use of special functions 
 +  * Obtaining precision 
 +  * FullSimplify and identities 
 +  * DSolve, NDSolve, and RSolve
 +
 +===== Example 2: quadrature =====
 +
 +I will do an example showing quadrature using Mathematica. This will look at the [[https://en.wikipedia.org/wiki/Hundred-dollar,_Hundred-digit_Challenge_problems|SIAM 100-digit challenge]] problem 1. 
 +
 +===== Example 3: series expansions =====
 +
 +I will do a basic asymptotic expansion example to show the series functionality
 +
 +===== Example 4: contour plotting =====
 +
 +A script from before showing contour plotting
 +
 +===== The philosophy of CAS vs floating point coding =====
 +