PPivotQuartz
Flussi di lavoro

Flussi di programmazione · Soluzioni esatte di sistemi lineari

03
Prodotto

Flussi di lavoro

Risolvi con frazioni esatte un sistema lineare quadrato intero di al massimo otto equazioni. Prova uno scambio di righe necessario e una soluzione frazionaria, rifiutando sistemi singolari o dimensioni incompatibili senza alterare gli input.

01

Scarica l’applicazione

Seleziona una cartella e chiedi all’assistente di leggere i file interessati prima di modificarli. Definisci obiettivo e limiti dell’attività.

02

Apri la cartella del progetto

Scegli un endpoint compatibile. Gli strumenti disponibili e la qualità delle risposte dipendono dal modello e dal server configurati.

03

Collega e prova il modello

Controlla le modifiche e l’output dei comandi. Esegui le verifiche del progetto prima di accettare il risultato: il codice generato non è automaticamente collaudato.

04

Controlla le modifiche ed esegui i test

Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.

Soluzioni esatte di sistemi lineari

Flussi di lavoro
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]

Controlla prima di applicare. Controlla le modifiche e l’output dei comandi. Esegui le verifiche del progetto prima di accettare il risultato: il codice generato non è automaticamente collaudato.

Ambiente di sviluppo con IA

La prossima idea comincia qui.

Scarica per Windows ↗