Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Cas
 
 
 
 
 
 

cas

A computer algebra system in Haskell. At the time of writing this it consists of only 85 lines of code.

Example

As an example, some expansion rules are defined inside the library. Using these, the expression tan(X + Y) can be expanded into (((sin(X) * cos(Y)) + (cos(X) * sin(Y))) / ((cos(X) * cos(Y)) - (sin(X) * sin(Y)))) using the built-in trigonometry expansion rules.

What needs doing?

  • Write more transformation rules.
    • Basic axioms like a + b = b + a, a + 0 = a.
    • More trigonemtry identities.
    • Loads of other things.
    • Might be a good idea to transform a - b into a + (-b) and similarly a / b into a * (1/b).
  • Simplification of expressions.
    • Might be implemented as another set of transformation rules, constructed from some designed to simplify but also the inverses of some expansion rule sets.
  • Parsing of expressions, so things can be entered much more easily.
  • A REPL.

About

A simplistic computer algebra system

Resources

Releases

No releases published

Packages

No packages published