Giter Site home page Giter Site logo

iminuit's Introduction

https://travis-ci.org/iminuit/iminuit.png?branch=master

iminuit

Interactive IPython Friendly Mimizer based on SEAL Minuit. (It's included in the package no need to install it separately)

It is designed from ground up to be fast, interactive and cython friendly. iminuit extract function signature very permissively starting from checking func_code down to last resort of parsing docstring(or you could tell iminuit to stop looking and take your answer). The interface is inspired heavily by PyMinuit and the status printout is inspired by ROOT Minuit. iminuit is mostly compatible with PyMinuit(with few exceptions). Existing PyMinuit code can be ported to iminuit by just changing the import statement.

In a nutshell,:

from iminuit import Minuit
def f(x,y,z):
    return (x-2)**2 + (y-3)**2 + (z-4)**2
m = Minuit(f)
m.migrad()
print m.values #{'x':2,'y':3,'z':4}
print m.errors

Install

python setup.py install

or from pip:

pip install iminuit

Tutorial

All the tutorials are in tutorial directory. You can view it online too.

Documentation

http://iminuit.github.io/iminuit/

Technical Stuff

Using it as a black box is a bad idea. Here are some fun read the order is given by the order I think you should read.

Wikipedia for Quasi Newton Method and DFP formula. The magic behind migrad.

Variable Metric Method for Minimization William Davidon 1991

A New Approach to Variable Metric Algorithm. (R.Fletcher 1970)

Original Paper: MINUIT - A SYSTEM FOR FUNCTION MINIMIZATION AND ANALYSIS OF THE PARAMETER ERRORS AND CORRELATIONS by Fred James and Matts Roos.

You can help

Github allows you to contribute to this project very easily just fork the repository, make changes and submit a pull request.

Here is some areas you can help.

  • Documentation. Tell us what's missing, what's incorrect or misleading. Look at doc directory and gh-pages branch. I'm the one who wrote the package, so I know how it works in detail. I might have skipped something important in documentation.
  • HTML output looks ugly. Yah.. I'm lazy. Please help me change it.
  • Test test test. This package is realtively your there might be some kinks to it let me know how you broke it.
  • Performance. I you are a C/cython/python hacker go ahead and make it faster.
  • Console output could use some color.

iminuit's People

Contributors

cdeil avatar piti118 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.