Galileo is the genesis of a symbolic and numerical math tool written in Scala; a Computer Algebra System (CAS). It's similar to matlab or octave, but has many features of maple and mathematica as well in the sense that it supports variables and symbolic calculations.
- Support for tensor operations and differential geometry operations (Christoffel symbols, Ricci and Riemann tensors)
- Powerful simplification rules (accessible using the
- Symbolic matrix manipulation (you can invert a matrix containing symbols)
- Support for logic operations
- Basic framework for rules driven proofs is available (e.g.
Galileo is available as both
- a standalone, interpreted language, with its own REPL, and,
- a library for use in JAVA or other JVM languages (Scala, Kotlin).
Usage as a library
You can use Galileo as a mathematical library, using sbt, Maven etc. For details, see: http://search.maven.org/#artifactdetails%7Ccom.github.cascala%7Cgalileo_2.11%7C0.1%7Cjar
For Maven, one can use:
<dependency> <groupId>com.github.cascala</groupId> <artifactId>galileo_2.11</artifactId> <version>0.1.1</version> </dependency>
For sbt, one can use:
libraryDependencies += "com.github.cascala" %% "galileo" % "0.1.1"
Usage as a standalone tool (REPL)
Galileo uses the 'sbt' build system. After cloning the repository, running
will launch the galileo interactive shell (REPL).
Detailed documentation is available for the