Projection euclidienne sur le simplexe
Projetez 1–256 nombres finis bornés à ±10^6 sur le simplexe unité non négatif.
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]
Projet
Testez égalités et solutions aux sommets, rejetez les booléens et comparez avec une tolérance numérique sans assimiler les poids à des probabilités calibrées.
Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Modèles
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
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]
Gardez les contraintes numériques visibles pendant tout l’examen
SimplexDune est un espace de programmation avec IA pour Windows destiné aux développeurs examinant des transformations numériques dans une application. Commencez par un dossier de projet et les propriétés que la sortie doit satisfaire. Le modèle connecté peut aider à examiner leur expression dans le code et à discuter d’une modification limitée, tandis que vous évaluez la proposition par rapport au consommateur dépendant du résultat.
Une tâche suggérée par simplex_projection.py consiste à transformer un vecteur en poids non négatifs de somme unitaire. Demandez à l’assistant d’examiner les entrées acceptées, l’ordre des sorties et les contrôles des résultats en virgule flottante. Fournissez des vecteurs représentatifs et décrivez leur utilisation en aval. Cela ancre l’exemple dans un véritable contrat logiciel sans présenter l’espace de travail comme un optimiseur intégré ou un service d’entraînement de modèles.
Sélectionnez un modèle d’IA sans restrictions lorsqu’il est disponible via un point de terminaison compatible OpenAI ou Anthropic pris en charge. Configurez son adresse et les identifiants requis en tenant compte du contexte et des outils pris en charge par le serveur. Examinez les modifications proposées et exécutez des vérifications de résultats attendus et de propriétés de sortie dans votre environnement numérique. Utilisez une tolérance explicite lorsque l’égalité exacte en virgule flottante est inadaptée. La conversation doit révéler les hypothèses du correctif pour vous permettre de décider s’il préserve le comportement nécessaire à l’application.
Examiner une sortie numérique contrainte
Quelles propriétés de sortie demander explicitement ?
Précisez la longueur requise, l’ordre, les signes autorisés et la somme attendue, ainsi que toute tolérance. Incluez les exigences du consommateur. Un résultat peut satisfaire une contrainte et en violer une autre ; l’examen ne doit donc pas s’arrêter à une seule valeur agrégée.
L’égalité exacte à un est-elle un test fiable en virgule flottante ?
Pas pour tous les calculs. Choisissez une tolérance adaptée au contrat numérique et à l’environnement de test, et expliquez-la dans la vérification. Demandez au modèle de distinguer les effets de représentation d’une véritable violation de contrainte au lieu d’assouplir silencieusement les assertions.
Le correctif doit-il réordonner le vecteur initial ?
Uniquement si le contrat de sortie le permet. Un tri interne peut servir le calcul alors que les valeurs finales doivent encore correspondre aux positions d’origine. Examinez le consommateur et testez une entrée dont les éléments distincts rendent visible une erreur d’ordre.
Une vérification de propriétés peut-elle remplacer les exemples de résultats attendus ?
Utilisez les deux lorsqu’ils vérifient des affirmations différentes. Un vecteur peut être non négatif et de somme unitaire sans constituer la projection voulue. De petits résultats établis indépendamment aident à vérifier la transformation, tandis que les propriétés couvrent des aspects plus larges du contrat de sortie.
SimplexDune · Mis à jour 2026-10-25