Skip to main content

NumPy + engineering numerical methods cheatcode pack.

Project description

numforge 🧬

NumPy + engineering numerical methods cheatcode pack.

numforge (built as numpyy internally) is a lightweight Python library designed for engineering students. It wraps NumPy and adds essential numerical methods, formulas, and code snippets taught in introductory numerical analysis courses.

Installation

pip install numforge

Import Style

import numpyy as np

Why numforge?

Feature NumPy numforge
Numerical methods
Formula database
Exam snippets
Educational explanations
Step-by-step tables
Exam-ready representations
Lab Assistant Mode
TP Report Generation

🧪 Lab Assistant Mode

Need a quick workflow for your lab or project? Use solve_tp:

import numpyy as np
np.solve_tp("interpolation")

Want to generate a professional Markdown report for your results?

findings = [
    {'method': 'Simpson', 'result': 0.3333, 'error': 1e-7},
    {'method': 'Trapezoidal', 'result': 0.3437, 'error': 0.01}
]
np.tp_report("Integration Lab", "Student Name", findings)

🎓 Educational Features

Educational Mode

See intermediate steps, formulas, and error warnings:

np.set_mode("educational") # Global
np.simpson(f, 0, 1, educational=True) # Per call

Help & Summary

np.explain("simpson") # Instant revision guide
np.exam_formula_sheet() # Compact printable revision page 😭

🛠 Modules & Functions

1. Floating Point & Errors (np.floating)

  • np.float_repr(x) - Exam Clutch: Sign, Exponent, Mantissa representation
  • np.ieee754_encode(x) / np.ieee754_decode(bits) - IEEE754 components
  • np.cancellation_demo() / np.absorption_demo() - Precision loss demos
  • Constants: np.EPSILON, np.FLOAT32_EPSILON, np.FLOAT64_EPSILON

2. Interpolation (np.interpolation)

  • np.lagrange(x_pts, y_pts) / np.newton_interpolation(x_pts, y_pts)
  • np.newton_polynomial(x_pts, coeffs) - Newton form evaluation
  • np.divided_differences(x, y) - Newton coefficients
  • np.chebyshev_nodes(a, b, n) - Optimal nodes
  • np.vandermonde_matrix(x) - Construct Vandermonde matrix
  • np.legendre(n) - Legendre coefficients via recurrence

3. Approximation & Stability (np.approximation)

  • np.least_squares(x, y, degree) / np.least_squares_origin(x, y)
  • np.normal_equations(x, y, degree) - Returns $(A^T A, A^T y)$
  • np.condition_number(A) / np.is_ill_conditioned(A) - Stability checks

4. Polynomials (np.polynomials)

  • np.horner(coeffs, x) / np.horner_steps(coeffs, x) - Horner's evaluation
  • np.pretty_polynomial(coeffs) - P(x) = 3x^2 - 2x + 1
  • np.taylor(f, a, n) - Taylor series coefficients

5. Numerical Integration (np.integration)

  • Methods: np.rectangle, np.midpoint, np.trapezoidal, np.simpson
  • Composite: np.composite_trapezoidal, np.composite_simpson, np.composite_midpoint
  • Error Formulas: np.trapezoidal_error, np.simpson_error, etc.
  • Gauss: np.gauss_legendre(f, a, b, n)

6. Numerical Differentiation (np.differentiation)

  • np.forward_diff, np.backward_diff, np.centered_diff
  • np.second_derivative, np.third_derivative, np.nth_derivative
  • np.optimal_h(f, x) / np.taylor_error(...)

7. ODE Solvers (np.ode)

  • np.euler, np.rk4, np.adams_bashforth, np.adams_moulton

📊 Plotting Helpers

np.plot_interpolation(f, poly, x_pts, y_pts, a, b)
np.plot_runge_phenomenon(n_points)
np.plot_convergence(ns, errors)
np.plot_integration(f, a, b, method="simpson")

🚀 Examples

Check demo.py for a complete tour of the library.

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

numforge-0.5.8.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

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

numforge-0.5.8-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file numforge-0.5.8.tar.gz.

File metadata

  • Download URL: numforge-0.5.8.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for numforge-0.5.8.tar.gz
Algorithm Hash digest
SHA256 e29fb4fa71c1d9f91b7ffc7c77698c870092c3d217dcf1b820761e9fcced2a6b
MD5 afdf5c75dbc8e6ea20a115c00f530238
BLAKE2b-256 c9c4c2e975f1d6acc85e9863971c375aaee1bb6459fc873f39bd386aadf0ee41

See more details on using hashes here.

File details

Details for the file numforge-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: numforge-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for numforge-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 84408a10c215f3d8240e4572c0e2897d9176f3c4d8e165b0d86d2719f0fe8ccb
MD5 d8d6371264d389b2f93f9fa8b9958de3
BLAKE2b-256 91e92063b45886b1740ce938d37ab5bd9c093afc07fac28e1e1ff3778019a925

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