Calc/test_sympy_puro.py

72 lines
1.7 KiB
Python

#!/usr/bin/env python3
from sympy import symbols, Eq, solve, pprint
print("🧪 Probando Sistema de Ecuaciones Puras con SymPy")
print("=" * 50)
# Test 1: Sistema simple
print("\n📌 Test 1: Sistema simple")
x, y, z = symbols('x y z')
eq1 = Eq(x, 5)
eq2 = Eq(y, x + 3)
eq3 = Eq(z, x + y)
sistema1 = [eq1, eq2, eq3]
print("Sistema:")
for i, eq in enumerate(sistema1, 1):
print(f" eq{i}: {eq}")
result1 = solve(sistema1)
print(f"Solución: {result1}")
# Test 2: Sistema más complejo
print("\n📌 Test 2: Sistema con conflicto")
m, t, u = symbols('m t u')
eq4 = Eq(m, t + u * 5)
eq5 = Eq(t, 4)
eq6 = Eq(m, 3)
sistema2 = [eq4, eq5, eq6]
print("Sistema:")
for i, eq in enumerate(sistema2, 1):
print(f" eq{i}: {eq}")
result2 = solve(sistema2)
print(f"Solución: {result2}")
# Test 3: Sistema inconsistente
print("\n📌 Test 3: Sistema inconsistente")
a, b = symbols('a b')
eq7 = Eq(a, 5)
eq8 = Eq(a, 10)
sistema3 = [eq7, eq8]
print("Sistema:")
for i, eq in enumerate(sistema3, 1):
print(f" eq{i}: {eq}")
result3 = solve(sistema3)
print(f"Solución: {result3}")
# Test 4: Variables libres
print("\n📌 Test 4: Variables libres")
p, q, r = symbols('p q r')
eq9 = Eq(p, q + 2)
eq10 = Eq(r, p * 3)
sistema4 = [eq9, eq10]
print("Sistema:")
for i, eq in enumerate(sistema4, 1):
print(f" eq{i}: {eq}")
result4 = solve(sistema4)
print(f"Solución: {result4}")
# Test 5: Evaluación numérica automática
print("\n📌 Test 5: Evaluación numérica")
if result2:
print("Evaluación numérica automática:")
for var, val in result2.items():
print(f" {var} = {val}{val.evalf()}")
print("\n✅ Conclusión: SymPy maneja perfectamente sistemas de ecuaciones puras!")