Giter VIP home page Giter VIP logo

cake's Introduction

Cake

An object orientated math library, Built with power and simplicity!

Cake is an object orientated math library based off Sympy and aims to be simple and easy to use. Its main advantages are easy of use, chaining and provides shortcuts to lengthy methods.

License: MIT License (see the LICENSE file for details) covers all files in the cake repository unless stated otherwise.

Features

  • Generally is fast and provides simple solutions for complex problems
  • Simple to use and learn
  • Provides support for algebra and equation substitution

Installation

This library is currently in very early works! It does not have much to offer as of now, but we have a vision to make it full of features!

Stable

# Windows
pip install MathCake

# Linux/MacOS
pip3 install MathCake

Development

git clone https://github.com/Mecha-Karen/Cake
cd Cake
pip install .

Documentation

To compile the documentation, click me for more information

If you wish to view the live version, click me.

Quick Example

Quadratic Formula

Note: This is currently just a concept!
from cake import Expression

expr = Expression("-b (+|-) sqrt((b ** 2) - 4(a)(c))")
# Top layer of the formula

# (+|-) will return 2 solutions as stated in the documentation
# Its one of the many ways of implements plus or minus

expr.wrap_all("/", "2(a)")
# Puts the entire current formula into brackets and divides by 2a

print(expr.substitute(a=10, b=-20, c=5))

# Results: (1.70711, 0.292893)

Solving Simultaneous Equations

from cake import Expression
from cake.simultaneous import Circle

# Since `=` will raise a syntax error and will mess with the python syntax
# We settled on using the `==` operator
# What this is saying `Expression == something`, which returns an Eqaution instead of bool
# This is unpythonic but it still makes sense with what it does
# You should never do `if Expr == ...`. This will always be True
# Instead try `if (Expr == ...).solve(*args, **kwargs) == ...`

circle = Expression("x ** 2 + y ** 2") == 16
line = Expression("x + y") == 4

eq = Circle(circle, line)
eq.solve_by_sub()
# Result: ((4, 0), (0, 4))

Matrix Operations

from cake import Matrix
# We define the matrix structure using standard 2D array syntax
y = Matrix([10, 10, 10], [10, 10, 10])
x = Matrix([1, 2, 3], [4, 5, 6])

# As we have modified the addition method for the Matrix object
# we can simply add the two matrices together
print(x + y)
# Result = ([11, 12, 13], [14, 15, 16])

# The same logic applies to subtraction operations
print(y - x)
# Result = ([9, 8, 7], [6, 5, 4])

Links

cake's People

Contributors

seniatical avatar polo-sec avatar sohamghugare avatar zeffo avatar

Stargazers

 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.