Giter Site home page Giter Site logo

mathy-webservice's Introduction

Mathy

A math web service written in Haskell

Installation

* git clone [email protected]:Jobhdez/mathy-webservice.git

Running the api

* cabal build
* cabal run haskell-Arith

Examples

$ curl -X POST -d '{"expr": [[2,3,4],[4,6,7],[5,6,7]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/det
{"exp":-3}

$ curl -X POST -d '{"expr": [[2,3,4],[4,6,7],[5,6,7]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/matTrace
{"traceExp":15}

$ curl -X POST -d '{"expr": [[2,3,4],[4,3,7],[5,4,7]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/matUpTriangular
{
    "expr": [
        [2, 3, 4],
        [0, 3, 7],
        [0, 0, 7]
    ]
}

$ curl -X POST -d '{"expr": [[2,3,4],[4,3,7],[5,4,7]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/matLowTriangular
{
    "expr": [
        [2, 0, 0],
        [4, 3, 0],
        [5, 4, 7]
    ]
}

$ curl -X POST -d '{"mexp": [[2,3,4],[4,6,7],[5,6,7]], "mexp2": [[1,1,1],[1,1,1],[1,1,1]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/arithmetic/addition

$ curl -X POST -d '{"mexp": [[2,3,4],[4,6,7],[5,6,7]], "mexp2": [[1,1,1],[1,1,1],[1,1,1]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/arithmetic/subtraction

$ curl -X POST -d '{"mexp": [[2,3,4],[4,6,7]], "mexp2": [[1,1],[1,1],[1,1]]}' -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/arithmetic/multiplication

$ curl -X GET -H 'Accept: application/json' -H 'Content-type: application/json' http://localhost:8081/api/matrix/arithmetic/exps

Running the tests

$ cabal test

Math supported

Matrix

  • addition
  • subtraction
  • multiplication
  • element wise power
  • element wise exponential
  • element wise log
  • element wise absolute value
  • maximum
  • minimum

Vector

  • addition
  • subtraction
  • element wise multiplication
  • element wise power
  • element wise exponential
  • element wise log
  • element wise absolute value
  • maximum
  • minimum

Linear Algebra

  • determinant of 3x3 matrices
  • trace
  • upper triangular
  • lower triangular

Neural Networks

Data Types supported: [Int], [Float], [[Int]], [[Float]]

  • softmax
  • logsoftmax
  • softmax2d
  • logsoftmax2d
  • relu
  • relu2d
  • sigmoid
  • sigmoid2d
  • tanh
  • tanh2d
  • convolution

Matrix-Vec

  • matrix-vec addition
  • matrix-vec subtraction
  • matrix-vec multiplication

Polynomial

  • addition
  • subtraction
  • multiplication

Fraction

  • addition
  • subtraction
  • multiplication

Troubleshoot

$ lsof -i:8081
$ kill $(lsof -t -i:8081)

mathy-webservice's People

Contributors

jobhdez avatar

Watchers

 avatar  avatar

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.