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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

numforge-0.5.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: numforge-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 24.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc0c249605e4a4656767b9aac48f6a77c49ee9e2676a36e4edc550b7fb10f3a3
MD5 39b37e4cccdfed5389364528ed1b43a4
BLAKE2b-256 877198762c1d3a5f584b5335544da69b03181ae801fd1c792f7e58b2e1849682

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