Skip to content

Commit dda49c5

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent db95498 commit dda49c5

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

divide_and_conquer/strassen_matrix_multiplication.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def actual_strassen(matrix_a: list, matrix_b: list) -> list:
8181
algorithm O(n^3).
8282
- For small matrices, Strassen may be slower due to overhead, so it is
8383
typically beneficial for large n.
84-
84+
8585
"""
8686
if matrix_dimensions(matrix_a) == (2, 2):
8787
return default_matrix_multiplication(matrix_a, matrix_b)
@@ -113,20 +113,20 @@ def actual_strassen(matrix_a: list, matrix_b: list) -> list:
113113

114114
def strassen(matrix1: list, matrix2: list) -> list:
115115
"""
116-
Perform matrix multiplication using Strassen’s algorithm.
116+
Perform matrix multiplication using Strassen’s algorithm.
117117
118-
Examples:
119-
>>> strassen([[2,1,3],[3,4,6],[1,4,2],[7,6,7]], [[4,2,3,4],[2,1,1,1],[8,6,4,2]])
120-
[[34, 23, 19, 15], [68, 46, 37, 28], [28, 18, 15, 12], [96, 62, 55, 48]]
118+
Examples:
119+
>>> strassen([[2,1,3],[3,4,6],[1,4,2],[7,6,7]], [[4,2,3,4],[2,1,1,1],[8,6,4,2]])
120+
[[34, 23, 19, 15], [68, 46, 37, 28], [28, 18, 15, 12], [96, 62, 55, 48]]
121121
122-
>>> strassen([[3,7,5,6,9],[1,5,3,7,8],[1,4,4,5,7]], [[2,4],[5,2],[1,7],[5,5],[7,8]])
123-
[[139, 163], [121, 134], [100, 121]]
122+
>>> strassen([[3,7,5,6,9],[1,5,3,7,8],[1,4,4,5,7]], [[2,4],[5,2],[1,7],[5,5],[7,8]])
123+
[[139, 163], [121, 134], [100, 121]]
124124
125-
Complexity Notes:
126-
- Classical matrix multiplication: O(n^3).
127-
- Strassen’s algorithm: O(n^(log2(7))) ≈ O(n^2.81).
128-
- Strassen reduces the number of multiplications from 8 to 7 per recursion,
129-
trading them for additional additions/subtractions.
125+
Complexity Notes:
126+
- Classical matrix multiplication: O(n^3).
127+
- Strassen’s algorithm: O(n^(log2(7))) ≈ O(n^2.81).
128+
- Strassen reduces the number of multiplications from 8 to 7 per recursion,
129+
trading them for additional additions/subtractions.
130130
"""
131131
if matrix_dimensions(matrix1)[1] != matrix_dimensions(matrix2)[0]:
132132
msg = (

0 commit comments

Comments
 (0)