pysolverkit 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,58 @@
1
+ Metadata-Version: 2.4
2
+ Name: pysolverkit
3
+ Version: 0.1.0
4
+ Summary: A Python library of numerical methods for root finding, interpolation, integration, ODEs, and linear systems
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+
8
+ # PySolverKit
9
+
10
+ [![Tests](https://github.com/mrigankpawagi/PySolverKit/actions/workflows/tests.yml/badge.svg)](https://github.com/mrigankpawagi/PySolverKit/actions/workflows/tests.yml)
11
+ ![Python](https://img.shields.io/badge/python-3.10%2B-blue)
12
+
13
+ A compact Python library that brings classical numerical methods to life — root finding, interpolation, differentiation, integration, ODE solvers, linear systems, and 2D FEM for Poisson problems.
14
+
15
+ ## Features
16
+
17
+ - **Function arithmetic** — add, subtract, multiply, and compose built-in function types (`Polynomial`, `Sin`, `Cos`, `Tan`, `Exponent`, `Log`) with plain Python operators
18
+ - **Root finding** — bisection, Newton-Raphson, secant, Regula Falsi, and modified Newton methods
19
+ - **Interpolation** — Lagrange and Newton divided-difference forms (forward/backward difference tables included)
20
+ - **Differentiation** — forward, backward, and central finite-difference schemes; set an exact derivative for Newton-type solvers
21
+ - **Integration** — rectangular, midpoint, trapezoidal, Simpson's, and Gauss-Legendre quadrature
22
+ - **ODE solvers** — Euler, Runge-Kutta (orders 1–4), Taylor series, trapezoidal, Adams-Bashforth/Moulton, and predictor-corrector methods for first-order IVPs; shooting and finite-difference methods for second-order BVPs
23
+ - **Linear algebra** — `Vector` and `Matrix` with arithmetic operations, and `LinearSystem` with Gaussian elimination and Gauss-Jacobi/Seidel iterative solvers
24
+ - **2D FEM** — `FEM2D` for Poisson equations on rectangular domains with Dirichlet boundary conditions
25
+
26
+ ## Quick start
27
+
28
+ ```python
29
+ import math
30
+ from pysolverkit import Polynomial, Sin, RootFindingMethod, IntegrationMethod
31
+
32
+ # Root finding
33
+ f = Polynomial(-6, 14, -7, 1) # x³ − 7x² + 14x − 6
34
+ root = f.root(RootFindingMethod.BISECTION, a=0, b=1, TOLERANCE=1e-6)
35
+
36
+ # Integration
37
+ g = Sin(Polynomial(0, 1)) # sin(x)
38
+ area = g.integrate(0, math.pi, method=IntegrationMethod.SIMPSON, n=100)
39
+ ```
40
+
41
+ ## Documentation
42
+
43
+ Full API reference, detailed usage examples, and a method selector reference are in **[`docs/README.md`](docs/README.md)**.
44
+
45
+ ## Running tests
46
+
47
+ ```bash
48
+ python3 -m unittest discover -s tests -v
49
+ ```
50
+
51
+ ## Contributing
52
+
53
+ Contributions are welcome! To get started:
54
+
55
+ 1. Fork the repository and create a feature branch.
56
+ 2. Add or update tests in `tests/tests.py` for any new behaviour.
57
+ 3. Ensure all tests pass: `python3 -m unittest discover -s tests -v`
58
+ 4. Open a pull request with a clear description of the change.
@@ -0,0 +1,20 @@
1
+ pysolverkit/__init__.py,sha256=fZiBAbEBCbp-kbrMNB73YlE93mMbDuiBB9qznj2ikXc,1328
2
+ pysolverkit/enums.py,sha256=ae4RTGpNERbUw0VVEym7FEPFia0BlGpDZZjiZb-xxX4,2044
3
+ pysolverkit/util.py,sha256=5jxCo5G-2_ENa3VnOI0Bq3HyddSsB6_kUJy_qtYP9Rs,1729
4
+ pysolverkit/functions/__init__.py,sha256=hi2sPl3oFiTGFEx1BQdWwbx6eb1v0BzhgXja0heOipw,360
5
+ pysolverkit/functions/base.py,sha256=AOgTPdJZTXaGDA1MSQ6e28dQ7_HX7bXi7jMklb0WuxI,15860
6
+ pysolverkit/functions/elementary.py,sha256=PHX9C7OQX1EQGV5V1WaAAH9C9w6NQb2c1xa8kZgyth4,6071
7
+ pysolverkit/functions/fem2d.py,sha256=RxfvPOyQv_J3hiGNZRLiPhQhzoCI-Hwk6tjkjdvMdck,4249
8
+ pysolverkit/functions/multivariate.py,sha256=nH9whg7cZRPZuXFbMHNzkzN0oSz7Xk-F4ZknFTqXy4o,1855
9
+ pysolverkit/linalg/__init__.py,sha256=-2e6KQQWRaxc7CtumphqqLmK102Vs4U0DDfl59RfrIA,142
10
+ pysolverkit/linalg/linear_system.py,sha256=y3mazHSK6D1jpBDEeu6aGRzqRVsegmG1p9vlJsdQKVo,4566
11
+ pysolverkit/linalg/matrix.py,sha256=08Pz4V21n2_OL_CV9f_OLfpDQp82mtnN3glf4fJNA98,1364
12
+ pysolverkit/linalg/vector.py,sha256=zR4mry0x_HlKJdgH-qE1tFJW0xzDl-RsFTERZ9RoBsI,1618
13
+ pysolverkit/ode/__init__.py,sha256=O0gv_Oe5G1u74jv2BW9gVjVfYnDeNfRHhkcG8B-3E3w,373
14
+ pysolverkit/ode/base.py,sha256=TBaZT1tek2R7nvArJ7_jJX2Lu3eYHHtgtfFCa-MKYsY,226
15
+ pysolverkit/ode/first_order.py,sha256=PXJdAnAJKsMcWA1zw_mLOI5F7Hw1eFo25OHZBqijRw4,10636
16
+ pysolverkit/ode/second_order.py,sha256=4PWDDEJBbxBN34ngOxuukB1Xp6J8k9-X1iQKmLgyowQ,9667
17
+ pysolverkit-0.1.0.dist-info/METADATA,sha256=yT472H_ZlFsHV9ARfScAcwBhV1Zud3ed9UH3fKn3m3o,2727
18
+ pysolverkit-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
19
+ pysolverkit-0.1.0.dist-info/top_level.txt,sha256=h3E11b6PSy0ZqDgpm7HR6h66H4AR2TDHoUMGoCHxYsw,12
20
+ pysolverkit-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ pysolverkit