PPivotQuartz
Werkprocessen

Werkprocessen voor code · Exacte oplossingen van lineaire stelsels

03
Product

Werkprocessen

Los een vierkant geheel lineair stelsel met maximaal acht vergelijkingen op met exacte breuken. Test een noodzakelijke rijwisseling en een gebroken oplossing, en weiger singuliere stelsels of onverenigbare afmetingen zonder invoer te veranderen.

01

Download de toepassing

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

02

Open de projectmap

Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.

03

Verbind en test het model

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

04

Controleer wijzigingen en voer tests uit

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Exacte oplossingen van lineaire stelsels

Werkprocessen
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]

Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗