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.2.tar.gz (7.7 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.2-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: numforge-0.5.2.tar.gz
  • Upload date:
  • Size: 7.7 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.2.tar.gz
Algorithm Hash digest
SHA256 2c2927de11166d2f1c7175a1acf8b3d99a9b0c1a049238080125a3a28d2faad8
MD5 981e29405c3a139538e617df58f6e44d
BLAKE2b-256 e381eb59f1cb7aa7022831608ea323743398a56c9be05b27321fa5efca786e76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: numforge-0.5.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d46edcc06cc7fc10b1c7d2c82341d0d0f7b136e0d9edcf52e826a16e05c3f4a3
MD5 cb248329963c3b426a3bc1ac27779714
BLAKE2b-256 d45496ca7525d5ae5bd325d7e2e0402f8a5e0a414553566cb60c4140a136c06a

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