PPivotQuartz
Ambiente de programação com IA

Soluções exatas de sistemas lineares

Resolva um sistema linear quadrado de inteiros com até oito equações usando frações exatas.

● ● ●PivotQuartz●
Fluxos de trabalho · Soluções exatas de sistemas lineares ×
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]
✳Resolva um sistema linear quadrado de inteiros com até oito equações usando frações exatas.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
01

Revise antes de aplicar

Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

02

Modelos

Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

03

Projeto

Teste uma troca de linhas necessária e uma solução fracionária, rejeitando sistemas singulares ou dimensões incompatíveis sem alterar as entradas.

Fluxos de trabalho

Soluções exatas de sistemas lineares

Fluxos de trabalho ↗
Fluxos de trabalho
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]
Ambiente de programação com IA

Mantenha as refatorações numéricas alinhadas aos chamadores

O PivotQuartz é um ambiente de programação para Windows para desenvolver código de aplicações numéricas com critérios explícitos de aceitação. Abra a pasta do projeto e identifique a função, sua representação de entrada e o consumidor do resultado. O modelo conectado pode discutir uma mudança nesse contexto enquanto você examina se a proposta preserva as premissas do chamador.

Uma solicitação de revisão usando linear.py pode comparar um resultado fracionário exato com o que a aplicação espera exibir ou serializar. Forneça um sistema pequeno com solução conhecida e um caso singular que deve ser rejeitado. Pergunte como a refatoração proposta trata ambos os caminhos antes de aceitar alterações na aritmética ou nos tipos dos resultados.

Esse fluxo torna a correção e a integração partes da mesma discussão. Execute verificações independentes dos resultados no ambiente de desenvolvimento e examine erros e formatação da saída por meio do chamador. Converter frações em valores de ponto flutuante pode ser uma escolha deliberada da aplicação, mas merece um limite declarado, em vez de aparecer incidentalmente em uma limpeza de código.

Escolha um modelo de IA sem censura onde estiver disponível por um endpoint compatível com OpenAI ou endpoint Anthropic suportado, fornecendo credenciais quando exigidas. As restrições do provedor continuam em vigor, e o modelo e o servidor definem o suporte a ferramentas e a capacidade de contexto. O PivotQuartz fornece o ambiente para revisar o código-fonte; os resultados esperados do seu projeto fornecem as evidências para aceitar uma edição.

Antes de aceitar uma refatoração numérica

Um sistema singular deve retornar uma estimativa?

Somente se a aplicação exigir explicitamente uma aproximação com significado definido. O exemplo rejeita sistemas singulares. Examine como o chamador trata essa falha e mantenha a mudança para aproximações separada de uma refatoração destinada a preservar resultados exatos.

Como verificar a solução retornada de forma independente?

Substitua-a nas equações originais usando um cálculo independente apropriado e compare com o lado direito fornecido. Inclua um caso que exija troca de linhas. Verifique também a representação da saída, pois um valor correto ainda pode violar o tipo esperado pelo chamador.

Onde as frações devem se tornar texto para exibição?

Normalmente, a camada responsável pela apresentação deve tomar essa decisão explicitamente. Examine a estrutura atual do projeto e defina o formato exigido pelo consumidor. Evite introduzir arredondamento em uma função auxiliar interna, a menos que isso faça parte do contrato numérico acordado.

Que contexto do código ajuda o modelo a revisar erros de formato?

Forneça a rotina, o código que constrói suas entradas e o tratamento de erros do chamador. Inclua dimensões incompatíveis como caso de teste. Um teste apenas da aritmética interna não comprova que dados malformados da aplicação recebam a resposta esperada pela interface.

Baixar para Windows ↗

PivotQuartz · Atualizado 2026-10-25