Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Resuelve con fracciones exactas un sistema lineal cuadrado de enteros de hasta ocho ecuaciones.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Prueba un intercambio de filas necesario y una solución fraccionaria, rechazando sistemas singulares o dimensiones incompatibles sin alterar las entradas.
from fractions import Fraction
def solve_linear(matrix, rhs):
matrix, rhs = [tuple(row) for row in matrix], tuple(rhs)
n = len(matrix)
if not 1 <= n <= 8 or len(rhs) != n or any(len(row) != n for row in matrix):
raise ValueError("system.shape")
if any(type(v) is not int or abs(v) > 1000000 for row in matrix for v in row) or any(type(v) is not int or abs(v) > 1000000 for v in rhs):
raise ValueError("coefficient.range")
a = [[Fraction(v) for v in row] + [Fraction(rhs[i])] for i, row in enumerate(matrix)]
for col in range(n):
pivot = next((r for r in range(col, n) if a[r][col]), None)
if pivot is None:
raise ValueError("system.singular")
a[col], a[pivot] = a[pivot], a[col]
scale = a[col][col]
a[col] = [v / scale for v in a[col]]
for r in range(n):
if r != col:
factor = a[r][col]
a[r] = [x - factor * y for x, y in zip(a[r], a[col])]
return [row[-1] for row in a]PivotQuartz es un espacio de programación para Windows donde desarrollar código numérico de aplicaciones con criterios de aceptación explícitos. Abre la carpeta del proyecto e identifica la función, su representación de entrada y el consumidor del resultado. El modelo conectado puede analizar un cambio en ese contexto mientras tú inspeccionas si la propuesta conserva los supuestos del código llamante.
Una solicitud de revisión de linear.py podría comparar un resultado fraccionario exacto con lo que la aplicación espera mostrar o serializar. Aporta un sistema pequeño con solución conocida y un caso singular que deba rechazarse. Pregunta cómo trata la refactorización propuesta ambas rutas antes de aceptar cambios en la aritmética o en los tipos de resultado.
Este proceso incorpora la corrección y la integración a la misma conversación. Ejecuta comprobaciones independientes de resultados en tu entorno de desarrollo y examina después los errores y el formato de salida a través del código llamante. Convertir fracciones en valores de coma flotante puede ser una decisión deliberada de la aplicación, pero merece un límite explícito en lugar de aparecer incidentalmente en una limpieza de código.
Elige un modelo de IA sin censura cuando esté disponible mediante un endpoint admitido compatible con OpenAI o de Anthropic, aportando credenciales cuando sean necesarias. Las restricciones del proveedor siguen vigentes, y el modelo y el servidor determinan la compatibilidad con herramientas y la capacidad de contexto. PivotQuartz proporciona el espacio para revisar código; los resultados esperados de tu proyecto aportan las pruebas para aceptar un cambio.
Solo si tu aplicación requiere explícitamente una aproximación con significado definido. El ejemplo rechaza sistemas singulares. Inspecciona cómo trata ese fallo el código llamante y separa cualquier cambio hacia aproximaciones de una refactorización destinada a conservar resultados exactos.
Sustitúyela en las ecuaciones originales mediante un cálculo independiente adecuado y compárala con el término independiente aportado. Incluye un caso que requiera intercambiar filas. Verifica también la representación de salida, porque un valor correcto puede incumplir el tipo esperado por el consumidor.
Normalmente esa decisión debe tomarla explícitamente la capa responsable de la presentación. Inspecciona la estructura actual del proyecto y define el formato requerido por su consumidor. Evita introducir redondeos en una función interna salvo que formen parte del contrato numérico acordado.
Aporta la rutina, el código que construye sus entradas y el tratamiento de errores del consumidor. Incluye dimensiones incompatibles como caso de prueba. Probar solo la aritmética interna no demuestra que los datos mal formados de la aplicación reciban la respuesta esperada por tu interfaz.
PivotQuartz · Actualizado 2026-10-25