Giter Club home page Giter Club logo

arrows's Introduction

Arrows: a Computer Algebra System in Smalltalk

Arrows is a very general, extensible and mathematically rigorous environment where one can construct mathematical objects (such as groups, rings, modules, etc) and operate with them, their morphisms and their elements.

For an introduction to the system see Arrows: a Computer Algebra System in Smalltalk, published in November 2022 in FAST Workshop on Smalltalk Related Technologies.

Smalltalk

The system is based on Smalltalk-80, specifically Cuis Smalltalk. It is multiplatform and runs with the OpenSmalltalk virtual machine.

As many systems based on Smalltalk, it comes complete with an environment for interactive programming, blurring the distinction between user and programmer. It contains a complete development environment that allows you to browse classes, inspect objects, debug, and change anything 'live' while it is running.

Notation

The notation is intended to be as close as possible to standard mathematical notation, yet adhering completly to Smalltalk syntax. For this we use unicode in Smalltalk code. Special characters can be input by typing backslash followed by the character name, similar to LaTeX. For example, ℤ can be input as \Z, α as \alpha and ⊗ as \otimes.

Setup

You need to setup Cuis Smalltalk first. Once you have Cuis running in your system you can install the Arrows packages in a new Cuis image, or if you want to try it more easily you can just download the latest Arrows image and unzip it in the directory where you have already setup Cuis. Currently it only supports 64-bit processors, so you will need to download the 64-bit virtual machine to run it.

Citing Arrows

If you use Arrows in a non-trivial part of your research please consider citing it as follows:

@manual{Arrows,
  key = "Arrows",
  author = "Luciano Notarfrancesco",
  organization = "The Arrows~Team",
  title = "{The Arrows Computer Algebra System}",
  year = 2023,
  url = "\url{https://github.com/len/arrows}",
}

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.