Skip to main content

A set of core numerical methods used in engineering and applied mathematics

Project description

numeth Logo numeth - Python package to use numerical method algorithms in 1 line | Product Hunt

PyPI version PyPI downloads License

numeth

A fully functional Python package implementing core numerical methods for engineering and applied mathematics. Designed for usability and educational clarity.

Installation

Install via pip:

pip install numeth

Quick Start

Here's a simple example using the Newton-Raphson method to find the square root of 2:

from numeth import newton_raphson

def f(x):
    return x**2 - 2

def df(x):
    return 2 * x

root, iterations, converged = newton_raphson(f, df, x0=1.0, tol=1e-6, max_iter=100)
print(f"Root: {root}, Iterations: {iterations}, Converged: {converged}")
# Output: Root: 1.414213562373095, Iterations: 4, Converged: True

Visualization

You can easily visualize the convergence or the results of any numerical method using the .graph() method.

import numeth

# Integration visualization
tr = numeth.trapezoidal(lambda x: x**2, 0, 1)
tr.graph()

# Root finding visualization
sol = numeth.bisection(lambda x: x**2 - 2, 0, 2)
sol.graph()

The .graph() method provides a visual representation of how the algorithm works, including function plots, integration areas, root markers, and tangent lines for differentiation.

Supported Methods for Visualization

Visualization is currently supported for almost all modules:

  • Integration: All methods supported.
  • Root Finding: All methods supported.
  • Differentiation: All methods supported.
  • Interpolation: All methods supported.
  • Optimization: All methods supported.

Note: Linear Algebra methods (Gauss Elimination, LU Decomposition, Jacobi, Gauss-Seidel) currently do not support .graph() because they operate on vectors/matrices rather than single-variable functions.

Supported Methods

Integration

  • Trapezoidal Rule (single and composite)
  • Simpson’s 1/3 Rule (single and composite)
  • Simpson’s 3/8 Rule
  • Gaussian Quadrature (2-point and 3-point)

Differentiation

  • Forward difference (first derivative)
  • Backward difference (first derivative)
  • Central difference (first derivative)
  • Central difference (second derivative)
  • Richardson extrapolation (first derivative)

Root Finding

  • Bisection Method
  • Newton-Raphson Method
  • Secant Method
  • False Position Method

Interpolation

  • Linear Interpolation
  • Lagrange Interpolation
  • Newton’s Divided Difference Interpolation

Linear Algebra

  • Gauss Elimination with partial pivoting
  • LU Decomposition (Doolittle’s method)
  • Jacobi Iterative Method
  • Gauss-Seidel Iterative Method

Optimization

  • Golden Section Search (minimization)
  • Newton’s Method for Optimization (1D)

How to Contribute or Report Issues

Contributions are welcome! Please submit pull requests or open issues on the GitHub repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

numeth-1.1.4.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

numeth-1.1.4-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file numeth-1.1.4.tar.gz.

File metadata

  • Download URL: numeth-1.1.4.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for numeth-1.1.4.tar.gz
Algorithm Hash digest
SHA256 55b5adc6d023942d0619d0e32e9e629c8d4320ed45855d91624524d0541ae9d3
MD5 2ff722f688e867003e0b8eda0a725b66
BLAKE2b-256 6a7d5c54dfd9a28d4594a60cfad4de4a5ecdbcc5844b66f743e3de068d2932b6

See more details on using hashes here.

File details

Details for the file numeth-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: numeth-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for numeth-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6bde83e1cd0eff82f5cb7e5336bf04373c7185f6b681c97ba8485c1a5e0f0721
MD5 166c80d3fb0dc020c18f6606a90d8455
BLAKE2b-256 423c28208e9a14ae3b3b2718cac9016e4a26029878a6f8106e26fd07b51f0b0e

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