0
0
NumPydata~10 mins

Matrix multiplication with @ operator in NumPy - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Matrix multiplication with @ operator
Create Matrix A
Create Matrix B
Apply @ operator: A @ B
Multiply rows of A by columns of B
Sum products for each element
Form Result Matrix
Output Result Matrix
This flow shows how two matrices are created and multiplied using the @ operator, by multiplying rows of the first matrix with columns of the second and summing the products to form the result.
Execution Sample
NumPy
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = A @ B
print(C)
This code multiplies two 2x2 matrices A and B using the @ operator and prints the resulting matrix C.
Execution Table
StepOperationDetailsIntermediate ResultExplanation
1Create AA = [[1, 2], [3, 4]][[1, 2], [3, 4]]Matrix A is created with 2 rows and 2 columns
2Create BB = [[5, 6], [7, 8]][[5, 6], [7, 8]]Matrix B is created with 2 rows and 2 columns
3Multiply A row 1 by B col 11*5 + 2*719First element of result matrix: sum of products of first row of A and first column of B
4Multiply A row 1 by B col 21*6 + 2*822Second element of first row: sum of products of first row of A and second column of B
5Multiply A row 2 by B col 13*5 + 4*731First element of second row: sum of products of second row of A and first column of B
6Multiply A row 2 by B col 23*6 + 4*838Second element of second row: sum of products of second row of A and second column of B
7Form Result MatrixC = [[19, 22], [31, 38]][[19, 22], [31, 38]]Result matrix C formed from calculated elements
8Print COutput matrix C[[19 22] [31 38]]Final output of matrix multiplication
💡 All elements of result matrix computed; multiplication complete
Variable Tracker
VariableStartAfter Step 3After Step 4After Step 5After Step 6Final
A[[1, 2], [3, 4]][[1, 2], [3, 4]][[1, 2], [3, 4]][[1, 2], [3, 4]][[1, 2], [3, 4]][[1, 2], [3, 4]]
B[[5, 6], [7, 8]][[5, 6], [7, 8]][[5, 6], [7, 8]][[5, 6], [7, 8]][[5, 6], [7, 8]][[5, 6], [7, 8]]
CNone[[19, 0], [0, 0]][[19, 22], [0, 0]][[19, 22], [31, 0]][[19, 22], [31, 38]][[19, 22], [31, 38]]
Key Moments - 3 Insights
Why do we multiply rows of A by columns of B, not rows by rows?
Matrix multiplication requires multiplying each row of the first matrix by each column of the second matrix to get the correct dot product for each element, as shown in steps 3-6 of the execution table.
What happens if the number of columns in A does not match the number of rows in B?
The @ operator will raise an error because matrix multiplication is only defined when the inner dimensions match; this is why both A and B here are 2x2 matrices.
Why is the result matrix size 2x2?
The result matrix has the number of rows of A and the number of columns of B, so since both are 2x2, the result is also 2x2, as shown in step 7.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of C after step 4?
A[[19, 22], [0, 0]]
B[[19, 0], [0, 0]]
C[[0, 0], [0, 0]]
D[[22, 19], [0, 0]]
💡 Hint
Check the 'Intermediate Result' column at step 4 in the execution table.
At which step does the multiplication of the second row of A by the first column of B happen?
AStep 3
BStep 5
CStep 6
DStep 4
💡 Hint
Look at the 'Operation' column in the execution table for the multiplication details.
If matrix B was 3 columns wide instead of 2, how would the result matrix change?
AIt would have 3 rows
BIt would stay 2x2
CIt would have 3 columns
DMultiplication would fail
💡 Hint
Recall that the result matrix has the same number of rows as A and columns as B.
Concept Snapshot
Matrix multiplication with @ operator:
- Use A @ B to multiply matrices A and B
- Multiply rows of A by columns of B
- Sum products to get each element
- Result shape: rows of A x columns of B
- Requires inner dimensions to match
- Efficient and readable in numpy
Full Transcript
This lesson shows how to multiply two matrices using numpy's @ operator. First, two matrices A and B are created. Then, each element of the result matrix is calculated by multiplying rows of A by columns of B and summing the products. The result matrix has the number of rows of A and columns of B. The execution table traces each multiplication step and the formation of the result matrix. Key points include the need for matching inner dimensions and understanding why rows multiply columns. The visual quiz tests understanding of intermediate results and matrix dimensions.