MMatrixCairn
Środowisko programowania z AI

Ograniczone mnożenie macierzy całkowitych

Pomnóż prostokątne macierze całkowite o najwyżej 64 wierszach i kolumnach każda.

● ● ●MatrixCairn●
Sposoby pracy · Ograniczone mnożenie macierzy całkowitych ×
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]
✳Pomnóż prostokątne macierze całkowite o najwyżej 64 wierszach i kolumnach każda.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
  1. Sprawdź przed zastosowaniem

    Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

  2. Modele

    Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.

  3. Projekt

    Sprawdź pusty zbiór i jedną komórkę, odrzucając nierówne wiersze, niezgodne wymiary i komórki logiczne bez zmiany macierzy.

Sposoby pracy

Ograniczone mnożenie macierzy całkowitych

Sposoby pracy ↗
Sposoby pracy
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]
Środowisko programowania z AI

Sprawdź strukturę wokół obliczenia, nie tylko jego wzór

MatrixCairn zapewnia środowisko programistyczne AI dla Windows do pracy nad kodem przyjmującym strukturalne dane liczbowe. Przedstaw odpowiednie pliki projektu i opisz dozwolone kształty, typy wartości oraz wynik oczekiwany przez kod wywołujący. Poproś model o łączny przegląd walidacji i obliczenia. Ułatwia to ocenę, czy proponowana zmiana zachowuje strukturę potrzebną aplikacji, nawet gdy poszczególne obliczenia wyglądają rozsądnie.

W zadaniu dotyczącym matrix.py możesz zbadać odrzucanie niezgodnych wymiarów lub nierównych wierszy przed mnożeniem macierzy. Poproś asystenta o wyjaśnienie obecnych założeń i zaproponowanie wąsko określonej poprawki, jeśli jest potrzebna. Użyj jawnych przykładów wejścia i wyjścia, w tym pustych kształtów dozwolonych w projekcie. Celem jest ulepszenie implementacji na podstawie dowodów możliwych do przeglądu, a nie wnioskowanie o matematycznej poprawności ze schludnej funkcji.

Uruchom kontrole projektu po przeglądzie zmian i potwierdź, jak nieprawidłowe dane trafiają do odbiorcy. Uwzględnij faktycznie obsługiwane rozmiary graniczne, zamiast polegać tylko na małym udanym przykładzie. Model bez filtrów można podłączyć przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt końcowy Anthropic, jeśli jest oferowany, z danymi uwierzytelniającymi, gdy są wymagane. W MatrixCairn narzędzia, pojemność kontekstu i ograniczenia modelu zależą od skonfigurowanej usługi; środowisko wspiera rozmowę, a Ty weryfikujesz obliczenie.

Pytania o dane strukturalne w MatrixCairn

Co w tym zadaniu oznacza nierówny wiersz?

Określ, czy aplikacja odrzuca go, czy przekształca przed obliczeniem. Nie pozwól, aby rozstrzygała przypadkowa reguła iteracji. Poproś asystenta o sprawdzenie miejsca tej polityki i zweryfikuj błąd widziany przez kod wywołujący.

Czy testować tylko obliczone wartości komórek?

Sprawdź też wymiary wyjścia i odpowiedniość wierszy oraz kolumn. Kilka poprawnych wartości nie dowodzi, że wynik ma kształt oczekiwany przez dalszy kod, szczególnie po zmianach obsługi pustego wejścia.

Jak limity rozmiaru wpływają na przegląd?

Podaj obsługiwane granice i sprawdź miejsce ich egzekwowania. Przetestuj akceptowane rozmiary graniczne oraz przypadek nadmiernego rozmiaru. Limity w przykładzie nie są gwarancją wydajności aplikacji ani pozwoleniem na pominięcie kontroli podczas wykonania.

Co jeśli kod wywołujący poda inny typ liczbowy?

Zdecyduj, czy typ należy do kontraktu, a następnie jawnie sprawdź konwersję lub odrzucenie. Bardziej liberalna zmiana może później wpłynąć na arytmetykę i serializację, więc przejrzyj całą ścieżkę, zamiast bez powodu rozszerzać akceptowane wartości.

Pobierz dla Windows ↗

MatrixCairn · Zaktualizowano 2026-10-25