Giter Club home page Giter Club logo

npyinterp's Introduction

Fast interpolation/integration for monotonically increasing numpy arrays

Integrates from a to b, given a array of data points, by using piecewise linear interpolation. Very fast.

Description

You know numpy.interp(x, xp, yp)? It interpolates x using the arrays xp (coordinates, increasing) and yp (values). It does so via a binary search to find the closest coordinate to x in xp.

If you have a large array of x values this can be slow because numpy.interp does a binary search every time. This tiny library assumes that the x values are ordered, and thus continues its search in the vicinity of the last lookup.

This makes this interpolation very fast.

This library (just 1 C function) actually does not just interpolate, but integrates bins, which are defined by a lower bin border and an upper bin border. The integration is linear piecewise.

How to install

$ make

And point LD_LIBRARY_PATH to the directory containing it.

How to use

See monointerp.py for calling from Python

npyinterp's People

Contributors

johannesbuchner avatar

Stargazers

Akmal avatar

Watchers

 avatar James Cloos avatar  avatar

npyinterp's Issues

How to install

Hi,

I'm really interested in trying this library. Unfortunately, I do not understand how to install it. Can you please help me?

Thanksi n advance,

Kind regards,

Josep

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.