Skip to main content

Python package that solves mathematical equations

Project description

REJGOO the equation solver

PyPi

Rejgoo is a Python package that solves mathematical equations! The main aim of rejgoo is too be the fastest and simplest way to solve system of mathematical equations. You can solve any number of equation with just one line of code!
Rejgoo is also capable of handling thermodynamic equations🔥: Thermodynamic Properties Documentation

CREDITS:

This project is developed by Mahdi Hajebi, based on the original version developed as his bachelor final project, titled "Thermodynamics Equation Set Solver", to fulfill for his BSc in mechanical engineering at University of Hormozgan under the supervision of Inst. Abdulhamid N.M. Ansari.

HOW TO USE:

At first the eqs class needs to be imported. This class handle the process of solving equations.

Then an instance of eqs class is created. The instance takes a string that contains equations as parameter.

A simple code sample is shown below:

from rejgoo.rejgoo import eqs

x = """
x**2 + x  = 2
3*a + 2*b = 16
-5*a + 5 = -b
sin(3*b*a) + cos(60) = d
"""

equations = eqs(x)

After running the code, The results will be printed automatically:

Total number of equations: 4
Total number of variables: 4
Number of isolated systems of equations: 2

system number: _1_
number of equations in this system: 3

solve
order     residual       equations
--------------------------------------------------------------------
1       0.00000       3*a+2*b=16
1       0.00000       -5*a+5=-b
2       0.00000       sin(3*b*a)+cos(60)=d
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

system number: _2_
number of equations in this system: 1

solve
order     residual       equations
--------------------------------------------------------------------
1       0.00000       x**2+x=2
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Values of variables:

a:    2.0
b:    5.0
d:    1.0
x:    1.0

The results can be accesed by solved_vars attribute as an dictionary: equations.solved_vars

Keyword arguments:

You can also provide folowing kwargs to eqs calls:

  • verbose:

verbose is a boolean, By default verbose is set to True. If you don't like the results to be printed, just set verbose = False

eqs(text, verbose=False)

  • init_vals:

init_vals is a dictionary that contains initial guesses for variables.

eqs(text, init_vals={'x':3})

  • max_iter

max_iter is an integer that shows number of iteration that newton raphson will do. By default it is set to 100.

eqs(text, max_iter=200)

  • learning_rate

learning rate is a float number that is multiplied to newton raphson step sizes. learning_rate by default is 1, which means that steps are not changed! By using smaler numbers, we can prevent over shooting!

eqs(text, learning_rate=0.8)

  • random_state:

random_state is an integer that can guarantee reproducible initial guesses.

eqs(text, random_state=42)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rejgoo-0.0.6.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rejgoo-0.0.6-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file rejgoo-0.0.6.tar.gz.

File metadata

  • Download URL: rejgoo-0.0.6.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for rejgoo-0.0.6.tar.gz
Algorithm Hash digest
SHA256 c14b9441eb3c3afba9dd3ce13a51c214294f6021fc32995f8717371fbdcda12e
MD5 a40d9ee183cc61fdce5700fd096f1144
BLAKE2b-256 9f97f4638b48ff6b4875a3d3a9950e722643b6e9778092755e626bda4244209b

See more details on using hashes here.

File details

Details for the file rejgoo-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: rejgoo-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for rejgoo-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 59a3dcdfd633b64147d39cd7ab9329d2973762d53436d4454a94499d8c892a7a
MD5 fd8fef1348dfa78039b7c1f209f1af6d
BLAKE2b-256 607f3f97a9d88417da0eb1653a6bbab95a10116fc130ee01855fd4e79acaf336

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page