Paquete didáctico para métodos numéricos
Project description
mnspy
mnspy es una biblioteca de Python desarrollada con fines didácticos para facilitar la enseñanza y el aprendizaje de métodos numéricos y simulación a estudiantes de ingeniería.
La biblioteca implementa algoritmos numéricos fundamentales utilizando un enfoque orientado a objetos, lo que permite una comprensión más clara de los conceptos teóricos y su aplicación práctica. Además, incluye herramientas de visualización para interpretar mejor los resultados.
Características Principales
- Enfoque Orientado a Objetos: Cada método numérico es una clase, facilitando su uso y comprensión.
- Visualización Integrada: Métodos de graficación incorporados que utilizan
matplotlibpara visualizar los procesos y resultados. - Código Didáctico: El código fuente está documentado exhaustivamente para ser una referencia de aprendizaje.
- Amplia Cobertura: Abarca desde la búsqueda de raíces hasta la solución de Ecuaciones Diferenciales Parciales con métodos avanzados como MEF y MVF.
Instalación
Puedes instalar mnspy a través de pip:
pip install mnspy
Módulos Disponibles
La biblioteca se organiza en los siguientes módulos:
raíces: Métodos para encontrar raíces de ecuaciones no lineales (Bisección, Newton-Raphson, Secante, etc.).ecuaciones_algebraicas_lineales: Algoritmos para resolver sistemas de ecuaciones lineales (Gauss, Gauss-Jordan, Descomposición LU, etc.).interpolación: Técnicas de interpolación polinómica (Newton, Lagrange) y por Trazadores (Splines).integrales: Métodos para la integración numérica (Trapecio, Simpson, Romberg, Gauss-Legendre).derivada: Cálculo numérico de derivadas usando diferencias finitas y extrapolación de Richardson.ecuaciones_diferenciales_ordinarias(EDOs): Solucionadores para problemas de valor inicial (Euler, Heun, Runge-Kutta).ecuaciones_diferenciales_parciales(EDPs): Solucionadores para EDPs, organizados en:mdf(Método de Diferencias Finitas): Para problemas en mallas rectangulares.mef(Método de Elementos Finitos): Para análisis estructural de resortes, barras, vigas, armaduras, marcos y problemas 2D con elementos triangulares (CST).mvf(Método de Volúmenes Finitos): Para problemas de transporte (convección-difusión) basados en la conservación.
Ejemplo de Uso
Aquí un ejemplo rápido para encontrar una raíz usando el método de Newton-Raphson:
import numpy as np
from mnspy import NewtonRaphson
# Definimos la función y su derivada
def f(x):
return x**2 - 2
def df(x):
return 2 * x
# Creamos una instancia del método
nr = NewtonRaphson(f, df=df, x=1, tol=4, tipo_error='n')
# Mostramos la solución y la tabla de iteraciones
print(nr.solucion())
print(nr.generar_tabla())
# Graficamos el proceso
nr.graficar()
Licencia
Este proyecto está bajo la Licencia MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mnspy-0.9.2.tar.gz.
File metadata
- Download URL: mnspy-0.9.2.tar.gz
- Upload date:
- Size: 114.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd1c46f791444667de32285314ec6bd3d7e0a3bcaa5b3183591ce0ce163cc29
|
|
| MD5 |
562cf46cc4a347f6900a54f1232d0b3b
|
|
| BLAKE2b-256 |
1f0332edffb3f664b09bb4e4f1e70c7fc207db02b603a2fb0d15cdc41ad52e19
|
File details
Details for the file mnspy-0.9.2-py3-none-any.whl.
File metadata
- Download URL: mnspy-0.9.2-py3-none-any.whl
- Upload date:
- Size: 166.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c32dae9bd336e06659cd71440f0722837d0ec2c2c5b4e1192a028e1d0807922
|
|
| MD5 |
dfa64ed502e824dec7af083ceeb314eb
|
|
| BLAKE2b-256 |
1b20b48d10e549287007e935b815a2ff7596e8acf5c5e4a01047f531ca9ed79c
|