Méthodes de travail · Multiplication bornée de matrices entières ×
def matrix_product(left, right):
left, right = [tuple(r) for r in left], [tuple(r) for r in right]
widths = []
for matrix in (left, right):
width = len(matrix[0]) if matrix else 0
if len(matrix) > 64 or width > 64 or any(len(r) != width for r in matrix):
raise ValueError("matrix.shape")
if any(type(v) is not int for r in matrix for v in r):
raise ValueError("cell.integer")
widths.append(width)
if widths[0] != len(right):
raise ValueError("matrix.incompatible")
return [[sum(row[k] * right[k][j] for k in range(widths[0]))
for j in range(widths[1])] for row in left]
✳Multipliez des matrices entières rectangulaires de 64 lignes et colonnes au maximum chacune.
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
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.
Projet
Testez entrées vides et cellule unique, en rejetant lignes irrégulières, dimensions incompatibles et cellules booléennes sans modifier les matrices.
def matrix_product(left, right):
left, right = [tuple(r) for r in left], [tuple(r) for r in right]
widths = []
for matrix in (left, right):
width = len(matrix[0]) if matrix else 0
if len(matrix) > 64 or width > 64 or any(len(r) != width for r in matrix):
raise ValueError("matrix.shape")
if any(type(v) is not int for r in matrix for v in r):
raise ValueError("cell.integer")
widths.append(width)
if widths[0] != len(right):
raise ValueError("matrix.incompatible")
return [[sum(row[k] * right[k][j] for k in range(widths[0]))
for j in range(widths[1])] for row in left]
Espace de développement avec IA
Vérifiez la structure autour d’un calcul, autant que sa formule
MatrixCairn fournit un espace de programmation avec IA pour Windows où travailler sur du code acceptant des données numériques structurées. Apportez les fichiers concernés et décrivez les dimensions autorisées, les types de valeurs et le résultat attendu par l’appelant. Demandez au modèle d’examiner ensemble validation et calcul. Il devient plus facile de vérifier si une modification préserve la structure nécessaire à l’application, même lorsque les calculs individuels semblent raisonnables.
Pour une tâche impliquant matrix.py, vous pouvez examiner comment les dimensions incompatibles ou les lignes irrégulières sont rejetées avant la multiplication matricielle. Demandez à l’assistant d’expliquer les hypothèses actuelles et de proposer une correction limitée si nécessaire. Utilisez des exemples explicites d’entrée et de sortie, y compris les structures vides autorisées par le projet. L’objectif est d’améliorer l’implémentation avec des preuves vérifiables, pas de déduire la correction mathématique de la présentation soignée d’une fonction.
Exécutez les vérifications du projet après avoir examiné les modifications et confirmez comment une entrée invalide est signalée au consommateur. Incluez les tailles limites réellement prises en charge plutôt que de vous appuyer uniquement sur un petit exemple réussi. Un modèle sans filtre peut être connecté via un point de terminaison compatible OpenAI ou Anthropic pris en charge lorsqu’il est proposé, avec les identifiants nécessaires. MatrixCairn laisse les outils, la capacité de contexte et les restrictions du modèle dépendre de ce service configuré ; l’espace logiciel facilite la discussion tandis que vous vérifiez le calcul.
Questions sur les entrées structurées pour MatrixCairn
Que signifie une ligne irrégulière pour cette tâche ?
Définissez si l’application la rejette ou la transforme avant le calcul. Ne laissez pas une règle d’itération accidentelle en décider. Demandez à l’assistant d’examiner où placer cette politique et vérifiez l’erreur observée par l’appelant.
Faut-il tester uniquement les valeurs calculées des cellules ?
Vérifiez aussi les dimensions de sortie et la correspondance entre lignes et colonnes. Quelques valeurs correctes ne prouvent pas que le résultat possède la structure attendue en aval, surtout après une modification du traitement des entrées vides.
Quel effet les limites de taille ont-elles sur une revue ?
Précisez les bornes prises en charge et examinez où elles sont appliquées. Testez les tailles limites acceptées et un dépassement. Les limites d’un exemple ne garantissent pas les performances de votre application et n’autorisent pas à omettre les contrôles à l’exécution.
Et si l’appelant fournit un autre type numérique ?
Décidez si ce type appartient au contrat, puis examinez explicitement sa conversion ou son rejet. Un assouplissement peut affecter ensuite l’arithmétique et la sérialisation ; examinez donc tout le parcours plutôt que d’élargir sans raison les valeurs acceptées.