SSimplexDune
Ambiente di sviluppo con IA

Proiezione euclidea sul simplesso

Proietta 1–256 numeri finiti entro ±10^6 sul simplesso unitario non negativo.

● ● ●SimplexDune●
Flussi di lavoro · Proiezione euclidea sul simplesso ×
import math

def simplex_projection(values):
    if type(values) is not list or not 1 <= len(values) <= 256:
        raise ValueError("simplex.input")
    if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
        raise ValueError("simplex.value")
    ranked = sorted(values, reverse=True)
    total, theta = 0.0, 0.0
    for count, value in enumerate(ranked, 1):
        total += value
        candidate = (total-1)/count
        if value > candidate:
            theta = candidate
    return [max(0.0, value-theta) for value in values]
✳Proiezione euclidea sul simplesso
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
  1. Progetto

    Prova parità e soluzioni ai vertici, rifiuta booleani e confronta con tolleranza numerica senza trattare i pesi come probabilità calibrate.

  2. Controlla prima di applicare

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

  3. Modelli

    Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.

Flussi di lavoro

Proiezione euclidea sul simplesso

Flussi di lavoro ↗
Flussi di lavoro
import math

def simplex_projection(values):
    if type(values) is not list or not 1 <= len(values) <= 256:
        raise ValueError("simplex.input")
    if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
        raise ValueError("simplex.value")
    ranked = sorted(values, reverse=True)
    total, theta = 0.0, 0.0
    for count, value in enumerate(ranked, 1):
        total += value
        candidate = (total-1)/count
        if value > candidate:
            theta = candidate
    return [max(0.0, value-theta) for value in values]
Ambiente di sviluppo con IA

Mantieni visibili i vincoli numerici durante tutta la revisione

SimplexDune è un ambiente di programmazione con IA per Windows per sviluppatori che rivedono trasformazioni numeriche in un'applicazione. Parti da una cartella di progetto e dalle proprietà che l'output deve soddisfare. Il modello collegato può aiutare a esaminare come questi requisiti compaiono nel codice e a discutere una modifica circoscritta, mentre tu rivedi la proposta rispetto al codice utilizzatore che dipende dal risultato.

Un'attività suggerita da simplex_projection.py riguarda la trasformazione di un vettore in pesi non negativi con somma unitaria. Chiedi all'assistente di esaminare input accettati, ordinamento dell'output e controlli usati per i risultati in virgola mobile. Fornisci vettori rappresentativi e descrivi l'uso successivo. Questo mantiene l'esempio fondato su un contratto software reale, senza trattare l'ambiente come un ottimizzatore integrato o un servizio di addestramento dei modelli.

Seleziona un modello di IA senza restrizioni quando disponibile tramite un endpoint supportato compatibile con OpenAI o Anthropic. Configura indirizzo e credenziali richieste, considerando il supporto di contesto e strumenti del server. Esamina le modifiche proposte ed esegui sia controlli dei risultati attesi sia delle proprietà dell'output nel tuo ambiente numerico. Usa una tolleranza dichiarata quando l'uguaglianza esatta in virgola mobile è inappropriata. La conversazione deve esplicitare le ipotesi alla base della modifica affinché tu possa decidere se preserva il comportamento necessario all'applicazione.

Rivedere output numerici vincolati

Quali proprietà dell'output devo richiedere esplicitamente?

Indica lunghezza richiesta, ordinamento, segni consentiti e totale atteso, insieme alle eventuali tolleranze. Includi i requisiti del codice utilizzatore. Un risultato può soddisfare un vincolo violandone un altro, quindi la revisione non deve fermarsi a un unico valore aggregato.

L'uguaglianza esatta a uno è un test affidabile in virgola mobile?

Non in ogni calcolo. Scegli una tolleranza adatta al contratto numerico e all'ambiente di test e spiegala nel controllo. Chiedi al modello di distinguere gli effetti della rappresentazione da una vera violazione del vincolo, anziché indebolire silenziosamente le asserzioni.

La modifica deve riordinare il vettore originale?

Solo se il contratto dell'output lo consente. Un ordinamento interno può servire al calcolo mentre i valori finali devono ancora corrispondere alle posizioni originali. Rivedi il codice utilizzatore e testa un input i cui elementi distinti rendano visibile un errore di ordinamento.

Un controllo di proprietà può sostituire gli esempi con risultati attesi?

Usali entrambi quando verificano affermazioni diverse. Un vettore può essere non negativo e avere somma uno senza essere la proiezione prevista. Piccoli risultati stabiliti indipendentemente aiutano a verificare la trasformazione, mentre le proprietà coprono aspetti più ampi del contratto dell'output.

Scarica per Windows ↗

SimplexDune · Aggiornato 2026-10-25