Una librería para resolver sistemas de ecuaciones lineales y no lineales
Project description
LibreriaPythonSistemasEcuaciones
Descripción 📄
Librería Python con implementaciones de métodos numéricos para resolver sistemas de ecuaciones lineales de la forma Ax = b. Incluye tanto métodos directos como iterativos con diferentes características de rendimiento y precisión.
Instalación ⚙️
pip install numpy
Métodos Implementados 🛠️
🔹 Métodos Directos
-
Gauss-Jordan
gauss_jordan(A, b, tol=1e-12)Características: Implementación con pivoteo parcialVentajas: Proporciona directamente la matriz identidad
Complejidad: O(n³)
-
Eliminación Gaussiana
gaussian_elimination(A, b)Características: Versión clásica con pivoteo parcialVentajas: Más eficiente que Gauss-Jordan para sistemas simples
-
Regla de Cramer
cramer(A, b)Características: Solución mediante determinantesLimitaciones: Costo computacional alto (O(n!)) para n > 3
-
Descomposición LU
lu_decomposition(A, b, tol=1e-12)Características: Implementación con pivoteo parcial
Ventajas: Ideal para múltiples sistemas con misma matriz
🔹 Métodos Iterativos
-
Jacobi
jacobi(A, b, tol=1e-10, max_iter=1000)Características: Método iterativo simple
Convergencia: Condicional (depende de la matriz)
-
Gauss-Seidel
guass_seidel(A, b, tol=1e-10, max_iter=1000)Características: Variante más rápida de Jacobi
Ventajas: Convergencia más rápida que Jacobi
Ejemplo de Uso 🚀
import numpy as np
from soluciones import gauss_jordan, lu_decomposition
# Sistema de ejemplo
A = np.array([[4, 3], [6, 3]])
b = np.array([10, 12])
# Resolver con Gauss-Jordan
x_gj = gauss_jordan(A.copy(), b.copy())
# Resolver con LU
x_lu = lu_decomposition(A.copy(), b.copy())
Pruebas 🧪
El archivo test.py contiene pruebas unitarias para validar todos los métodos:
python test.py
Recomendaciones de Uso 💡
| Escenario | Metodo recomendado |
|---|---|
| Sistemas pequeños (n < 100) | LU o Gauss-Jordan |
| Matrices dispersas grandes | Jacobi/Gauss-Seidel |
| Múltiples sistemas misma matriz | Descomposición LU |
| Máxima precisión | Gauss-Jordan con pivoteo |
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
File details
Details for the file gabrieldiazcalculadoraalgebraicamatricial-0.1.0.tar.gz.
File metadata
- Download URL: gabrieldiazcalculadoraalgebraicamatricial-0.1.0.tar.gz
- Upload date:
- Size: 2.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
270cafb6c0144e116e2110e80837862cf1965fa228d6ab5342f5b45e914bed24
|
|
| MD5 |
15b6c2a53ea33d8ad667256a8371a20b
|
|
| BLAKE2b-256 |
00aa0155bdd5a7a1d0af8d737e98c116afdcd40f7e73575747563b2fea349cab
|