Metadata-Version: 2.1
Name: libpymath
Version: 0.6.0
Summary: A general purpose Python math module
Home-page: https://www.github.com/pencilcaseman/libpymath
Author: Toby Davis
Author-email: pencilcaseman@gmail.com
License: MIT Licences
Keywords: math,matrix,vector,network,neural network,libpymath,pymath,libmath,progress bar,progress
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown

[![Build Status](https://travis-ci.com/Pencilcaseman/LibPyMath.svg?branch=master)](https://travis-ci.com/Pencilcaseman/LibPyMath)
[![Documentation Status](https://readthedocs.org/projects/libpymath/badge/?version=latest)](https://libpymath.readthedocs.io/en/latest/?badge=latest)
[![PyPI version fury.io](https://badge.fury.io/py/libpymath.svg)](https://pypi.python.org/pypi/libpymath/)
[![PyPI license](https://img.shields.io/pypi/l/libpymath.svg)](https://pypi.python.org/pypi/libpymath/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/libpymath.svg)](https://pypi.python.org/pypi/libpymath/)
[![Downloads per month](https://img.shields.io/pypi/dm/libpymath.svg)](https://pypi.python.org/pypi/libpymath/)

# LibPyMath
### A fast, general purpose math library for Python
---

## Install
Run ```pip install libpymath``` to dowload and install ```libpymath``` for your system. There are also wheels provided for many of the latest Python versions on Windows, Mac OS* and Linux thanks to the ```cibuildwheel``` project.

---

## Features and usage
### Matrix Math
Easily create, manipulate and perform calculations with dense matrices. The matrices themselves are stored and manipulated with optimised C code, resulting in faster operations and more efficient calculations. To further increase the speed of the calculations, when libpymath imported into a project for the first time, it runs some tests on the CPU to find the optimal number of threads to use for the matrix calculations.

### Progress Bars
Wrap a progress bar around any Python iterator and have a progress bar generated automatically. The progress bar will adjust its width to the width of the console, shows the current percentage, time and time remaining, as well as the number of iterations per second the bar is running at. The rate at which the bar updates also adjusts dynamically, ensuring that it has a minimal impact on the speed of the loop, while updating frequently enough to provide relevant information.

### Neural Networks
Create, train and evaluate a neural network in only a few lines of code, customising the size of the network, its learning rate, it's activation functions (which can be customised on a per-layer basis) and the metrics which it logs. The network library also uses the efficient Matrix library, meaning it can train a simple network in under a second. You can also plot a graph of any metrics that are being logged, making it easy to evaluate the progress of the network.


