Skip to main content

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

  1. Gauss-Jordan gauss_jordan(A, b, tol=1e-12) Características: Implementación con pivoteo parcial

    Ventajas: Proporciona directamente la matriz identidad

    Complejidad: O(n³)

  2. Eliminación Gaussiana gaussian_elimination(A, b) Características: Versión clásica con pivoteo parcial

    Ventajas: Más eficiente que Gauss-Jordan para sistemas simples

  3. Regla de Cramer cramer(A, b) Características: Solución mediante determinantes

    Limitaciones: Costo computacional alto (O(n!)) para n > 3

  4. 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

  1. Jacobi jacobi(A, b, tol=1e-10, max_iter=1000)

    Características: Método iterativo simple

    Convergencia: Condicional (depende de la matriz)

  2. 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


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

File hashes

Hashes for gabrieldiazcalculadoraalgebraicamatricial-0.1.0.tar.gz
Algorithm Hash digest
SHA256 270cafb6c0144e116e2110e80837862cf1965fa228d6ab5342f5b45e914bed24
MD5 15b6c2a53ea33d8ad667256a8371a20b
BLAKE2b-256 00aa0155bdd5a7a1d0af8d737e98c116afdcd40f7e73575747563b2fea349cab

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