GitPedia

Galileo

Scala Math - Numerical (Matlab-like) and Symbolic (Mathematica-like) tool

From cascala·Updated May 11, 2026·View on GitHub·

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. The project is written primarily in Scala, distributed under the Other license, first published in 2015. Key topics include: calculus, einstein, geometry, matrix-calculations, matrix-decompositions.

Latest release: 0.1.3
November 19, 2019View Changelog →

Docker version
GitHub issues

Galileo

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.

Differentiating features:

  • Support for tensor operations and differential geometry operations (Christoffel symbols, Ricci and Riemann tensors)
  • Powerful simplification rules (accessible using the simplify command)
  • Symbolic matrix manipulation (you can invert a matrix containing symbols)
  • Support for logic operations
  • Basic framework for rules driven proofs is available (e.g. prove(1/x==x^(-1)))

Galileo is available as both

Usage as a standalone tool (REPL)

Running a pre-built Docker image

A Docker image of Galileo is available on Docker hub, and can be run as follows (on Mac or Linux):

$ docker run -it --rm cascala/galileo:0.1.3

Building from source

Galileo can also be built from its source files using the 'sbt' build system:

$ git clone https://github.com/cascala/galileo.git
$ sbt run

Usage as a library

You can use Galileo as a mathematical library in any JVM language (Java, Kotlin, Scala...).
For details, see:
https://search.maven.org/search?q=g:com.github.cascala

For Maven, one can use:

<dependency>
    <groupId>com.github.cascala</groupId>
    <artifactId>galileo_2.13</artifactId>
    <version>0.1.3</version>
</dependency>

For sbt, one can use:

libraryDependencies += "com.github.cascala" %% "galileo" % "0.1.3"

Detailed documentation

Detailed documentation is available for the

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from cascala/galileo via the GitHub API.Last fetched: 6/27/2026