Socket
Socket
Sign inDemoInstall

lomath

Package Overview
Dependencies
1
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    lomath

Lomath is a tensorial math library extended from lodash.


Version published
Weekly downloads
21
increased by40%
Maintainers
1
Install size
4.13 MB
Created
Weekly downloads
 

Readme

Source

lomath

npm version Build Status Coverage Status Dependency Status

Lomath is a tensorial math library extended from lodash, with performant math functions applicable to tensors(multi-arrays). It also has a standalone plotting module that using HighCharts and BrowserSync.

See the API documentation. For the included functions, see the lodash API documentation.

Community

Join the chat at https://gitter.im/kengz/lomath

Installation

Installation:

npm install lomath

To use the plotting module, do:

// in the terminal at your project's root, do:
cd node_modules/lomath
npm install

Usage

See the API documentation and lodash API documentation for example usage.

Lomath comes with the latest version of lodash, and more. Use it as you would normally use lodash or underscore, and it has many math functions familiar to users of the R language.

For clearer terminology, we call tensors the generic data structures:

data structureterminology
0scalar = rank-0 tensor
[1, 2, 3]vector = rank-1 tensor
[[1, 2], [3, 4]]matrix = rank-2 tensor
...and so onrank-n tensor

You can also extend lomath and define your own function that applies to tensors, using the function composition module such as _.distribute, _.asso, etc.

Plotting Module

Sample plot

lomath comes with a standalone plotting module that using HighCharts and BrowserSync. Just run your JS file normally when you plot (example below), and it will automatically pull up a browser showing you the charts; you can save them!

Demo: see demo/demo.js for magic.

var _ = require('lomath');

// use lodash as usual
var v = _.range(10);

// lomath: generalized math functions applicable to multi-array
var vv = _.square(v);

console.log(v);
console.log(vv);

// prints all the functions in lomath
// console.log(_.functions(_));


// data visualization: highcharts plotter
// call contructor of highcharts plotter. Note the ()
var hc = _.hc();

// first, list all you wish to plot.
hc.plot(
    [{
        name: "linear",
        data: v
    }, {
        name: "square",
        data: vv
    }],
    "Title 1"
    )

hc.plot(
    [{
        name: "log",
        data: _.log(v)
    }],
    "Title 2"
    )

//optionally you can use the original HighCharts plot options object by:
hc.advPlot(HighChartsOptions);

// Magic here! Finally, the command to render all the plots above.
// Pulls up a browser (default to chrome for better support) with the charts.
// calling hc.render(true) will autosave all plots to your downloads folder.
hc.render();

Roadmap

  • add timer tick tock
  • Multivar methods for ML: special dot, matrix mult, sum of expression using index, trace, det, inverse, logistic fn.
  • add aliases
  • add Randomjs engine
  • higher dimensional math
  • JSON object methods
  • more stats methods: sample, multidim probs, covarience, distributions
  • performance benchmark

Keywords

FAQs

Last updated on 31 Jan 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc