Skip to main content

Librería de sistemas de ecuaciones lineales y no lineales

Project description

Métodos para Resolver Sistemas de Ecuaciones

Este documento describe los métodos para resolver sistemas de ecuaciones lineales y no lineales implementados en Python, junto con ejemplos básicos de uso y una breve explicacion de la funcion que hace cada metodo.


1. Eliminación de Gauss

Descripción del metodo:
Reduce el sistema a una forma triangular superior mediante operaciones fila. Luego, aplica sustitución regresiva para hallar la solución.

Ejemplo:

import numpy as np
from mi_modulo import gauss_elimination

A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])

x = gauss_elimination(A, b)
print(x)

2. Gauss-Jordan

Descripción del metodo:
Extiende el método de Gauss hasta obtener una matriz identidad, lo que permite obtener la solución directamente sin sustitución regresiva.

Ejemplo:

import numpy as np
from mi_modulo import gauss_jordan

A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])

x = gauss_jordan(A, b)
print(x)

3. Regla de Cramer

Descripción del metodo:
Calcula la solución del sistema mediante determinantes, aplicando la regla de Cramer. Solo se puede aplicar si el determinante de la matriz es distinto de cero.

Ejemplo:

import numpy as np
from mi_modulo import cramer

A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])

x = cramer(A, b)
print(x)

4. Descomposición LU

Descripción del metodo:
Descompone la matriz en dos matrices triangulares: una inferior (L) y una superior (U), y resuelve el sistema en dos etapas.

Ejemplo:

import numpy as np
from mi_modulo import lu_decomposition

A = np.array([[2, 1], [1, 3]])
b = np.array([8, 13])

x = lu_decomposition(A, b)
print(x)

5. Método de Jacobi

Descripción del metodo:
Método iterativo que aproxima la solución partiendo de un valor inicial. Requiere, idealmente, que la matriz sea diagonalmente dominante para asegurar convergencia.

Ejemplo:

import numpy as np
from mi_modulo import jacobi

A = np.array([[4, 1], [2, 3]])
b = np.array([1, 2])

x = jacobi(A, b)
print(x)

6. Método de Gauss-Seidel

Descripción del metodo:
Similar a Jacobi, pero utiliza inmediatamente los nuevos valores calculados dentro de cada iteración, lo que suele acelerar la convergencia.

Ejemplo:

import numpy as np
from mi_modulo import gauss_seidel

A = np.array([[4, 1], [2, 3]])
b = np.array([1, 2])

x = gauss_seidel(A, b)
print(x)

7. Método de Bisección

Descripción del metodo:
Encuentra la raíz de una función continua evaluando el punto medio del intervalo [a, b] y reduciendo iterativamente el intervalo.

Ejemplo:

from mi_modulo import bisection

f = lambda x: x**3 - x - 2
raiz = bisection(f, 1, 2)
print(raiz)

8. Bisección para Sistemas No Lineales

Descripción del metodo:
Aplica el método de bisección a cada ecuación por separado, bajo la suposición (simplificada) de que las variables son independientes. Recomendado solo para casos muy simples.

Ejemplo:

from mi_modulo import solve_nonlinear_system_bisection

funcs = [lambda x: x**2 - 4, lambda y: y**2 - 9]
bounds = [(0, 3), (0, 5)]

sol = solve_nonlinear_system_bisection(funcs, bounds)
print(sol)

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

qc23006uno-0.2.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

qc23006uno-0.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file qc23006uno-0.2.0.tar.gz.

File metadata

  • Download URL: qc23006uno-0.2.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for qc23006uno-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b1d5382e2069bd1aa01cb9d0d3cfe52ca03ce3d1a2c65650415a9d21e17d34b6
MD5 c8e2f486e837b04effa56436e87e5db5
BLAKE2b-256 887d8f282c3ee6d6a4c33e2f5ab8556a7b7ba7a171cc6bf2af70eb7395675f9b

See more details on using hashes here.

File details

Details for the file qc23006uno-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: qc23006uno-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for qc23006uno-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa87560e0f053c3890321063403b9c537ad53452d8ea3b8493c4b08aa1c985cc
MD5 f3c37633b16cfd0819bffc757e03aba0
BLAKE2b-256 9d91944fbadc92a3e9ead5d738f94855fd365a4924cffc10a987d62e56695222

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