mathpy 0.3.0
A collection of mathematical and statistical functions for scientific computing with Excel support.

[![Build Status](https://travis-ci.org/aschleg/mathpy.svg?branch=master)](https://travis-ci.org/aschleg/mathpy)
[![Build status](https://ci.appveyor.com/api/projects/status/8gtsv0afqt29qg56/branch/master?svg=true)](https://ci.appveyor.com/project/aschleg/mathpy/branch/master)
[![Coverage Status](https://coveralls.io/repos/github/aschleg/mathpy/badge.svg?branch=master)](https://coveralls.io/github/aschleg/mathpy?branch=master)

## About mathpy

mathpy is a collection of mathematical and statistical functions encompassing several different
fields such as linear algebra, numerical analysis, and number theory. The package is intended to
work with other popular scientific computing packages such as numpy and scipy. Most functions in
The mathpy package are also available as Excel UDFs for users who prefer working in Excel. The
mathpy project is primarily a personal project intended to develop a deeper understanding of
the mathematics and algorithmic implementations of various mathematical topics.

## Documentation

The documentation of the mathpy package is available here:

https://aschleg.github.io/mathpy/

The documentation for importing the mathpy functions to use in Excel as UDFs is found here:

https://aschleg.github.io/mathpy/excel.html

## Installation

Mathpy is easily installed through `pip` and is the most recommended approach.

~~~~
pip install mathpy
~~~~

The package should also be able to install from Github with the following command:

~~~~
pip install git+https://github.com/aschleg/mathpy.git
~~~~

The Github repository can also be cloned and installed with the included `setup.py` script.

~~~~
git clone https://github.com/aschleg/mathpy.git
python setup.py install
~~~~

## Installation Requirements

* Python 2.7 or 3+
    - Recommended to install the Anaconda distribution for your preferred version of Python if not installed already.
* Compatible with Windows, Mac and Linux OS.
    - Excel UDFs are currently available in Windows only.

## Available Methods

* Linear Algebra
    - Matrix Decomposition
    - Vector and Matrix Norms
    - Matrix Tests

* Numerical Analysis
    - Numerical Differentiation
    - Numerical Integration
    - Polynomial Evaluation
    - Polynomial Interpolation
    - Roots of Polynomials

* Number Theory
    - Binomial Coefficient
    - Factorials
    - Integer Factorization
    - Greatest Common Divisor
    - Prime Numbers
    - Number Sequences

* Probability Distributions
    - Continous Distributions
        + Uniform
    - Discrete Distributions
        + Bernoulli
        + Binomial

* Random Sampling and PRNGs (Pseudorandom Number Generators)
    - Continuous Distributions
        + Uniform
    - Discrete Distributions
        + Bernoulli
        + Binomial
    - Pseudorandom Number Generators
        + Linear Congruential Generator
        + Combined Linear Congruential Generators
        + Lehmer Random Number Generator (Multiplicative Congruential Generator)

* Set Theory
    - Extensions to Python set class
    - Multiple union and intersection operations
    - Cartesian products
    - Relative Complements of multiple sets

* Statistics
    - Factor Analysis
    - ANOVA and MANOVA
    - Hypothesis Testing
    - Covariance and Correlation Matrices
    - Variance
    - Simulating Correlation Matrices

### License

MIT