Python package that solves mathematical equations
Project description
REJGOO the equation solver
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c14b9441eb3c3afba9dd3ce13a51c214294f6021fc32995f8717371fbdcda12e
|
|
| MD5 |
a40d9ee183cc61fdce5700fd096f1144
|
|
| BLAKE2b-256 |
9f97f4638b48ff6b4875a3d3a9950e722643b6e9778092755e626bda4244209b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59a3dcdfd633b64147d39cd7ab9329d2973762d53436d4454a94499d8c892a7a
|
|
| MD5 |
fd8fef1348dfa78039b7c1f209f1af6d
|
|
| BLAKE2b-256 |
607f3f97a9d88417da0eb1653a6bbab95a10116fc130ee01855fd4e79acaf336
|