Có những gì bạn muốn đạt được, và có thực tế, và đôi khi chúng bị xung đột. Trước tiên, bạn kiểm tra xem vấn đề của bạn là một trường hợp đặc biệt có thể được giải quyết nhanh hơn, ví dụ như một ma trận thưa thớt. Sau đó, bạn tìm kiếm các thuật toán nhanh hơn; Sự phân hủy LU sẽ kết thúc nhanh hơn một chút. Sau đó, bạn điều tra những gì Strassen có thể làm cho bạn (không nhiều lắm; nó có thể tiết kiệm 1/2 các thao tác nếu bạn nhân kích thước của vấn đề lên 32).
Và sau đó bạn sử dụng vũ lực. Sử dụng một hệ thống đa bộ xử lý với nhiều luồng. Sử dụng các đơn vị vector có sẵn. Sắp xếp dữ liệu và hoạt động của bạn để thân thiện với bộ đệm. Nghiên cứu cách nhanh nhất để thực hiện tính toán modulo p cho một số p cố định. Và bạn thường có thể lưu các hoạt động bằng cách không thực hiện các thao tác modulo p (kết quả trong phạm vi 0 ≤ kết quả <p) nhưng thoải mái hơn một chút (ví dụ kết quả trong phạm vi -p <result <p).