GithubHelp home page GithubHelp logo

cascala / galileo Goto Github PK

View Code? Open in Web Editor NEW
69.0 13.0 7.0 190 KB

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

License: Other

Scala 99.77% Dockerfile 0.23%
calculus parser-combinators matrix-factorization matrix-decompositions matrix-calculations tensor geometry einstein riemann

galileo's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.