# khwarizmi

A simple library for efficiently solving basic algebraic expressions.

## Brief intro

This library works in a similar way an interpreter does. Its singularity is that what it interprets is a special kind of language: **algebra**.  

It allows you to cast, from simple strings that represent equations, complex and rich mathematical objects, with their own attributes and properties. It's focused on efficiency and simplicity, and because of that it is easy to use, and implementing it represents no cost to the program.

## What can I do with it?

There are many things you can manage to pull off with khwarizmi. What khwarizmi does best is working with **linear equations**; refactoring, solving and graphing them can be easily done. Apart from linear equations, you can work with **standard and quadratic equations** and even **solve and graph systems of equations**.

On the Wiki you'll find reference pages from khwarizmi's modules. Refer to its pages for more information, or dive into /docs/sample_code.md to see some examples of how khwarizmi actually looks like.

## Requirements

The only requirement for using the library are having **Python 3.x** and **matplotlib library** installed (the last is installed by default in most GNU/Linux distros so no problems there).

# Installation

To install the library for Python 3 use pip on your terminal.

    pip3 install khwarizmi --user

You are good to go now!
    


    

    
