Block Matrix Partitioning
Run the Block Matrix MicroSim Fullscreen
Edit the Block Matrix MicroSim with the p5.js editor
You can include this MicroSim on your website using the following iframe:
1 | |
Description
A block matrix (or partitioned matrix) views a matrix as an array of smaller matrices called blocks or submatrices. This MicroSim lets you interactively partition an 8×8 matrix and see how the blocks are formed.
Key Features:
- Draggable Partitions: Drag the red (horizontal) and blue (vertical) handles to resize blocks
- Color-Coded Blocks: Each of the four blocks (A, B, C, D) has a distinct color
- Preset Patterns: Choose from 2×2, row, column, or asymmetric partitions
- Dimension Display: See the dimensions of each block update in real-time
Block Matrix Notation
A matrix M partitioned into four blocks is written:
where A, B, C, D are submatrices with compatible dimensions:
- A is (top rows) × (left columns)
- B is (top rows) × (right columns)
- C is (bottom rows) × (left columns)
- D is (bottom rows) × (right columns)
Why Block Matrices?
Parallel Computation
Independent blocks can be processed on different cores or machines.
Structured Algorithms
Many algorithms exploit block structure: - Block LU decomposition - Strassen's matrix multiplication - Hierarchical matrices (H-matrices)
Conceptual Clarity
Complex systems naturally decompose into interacting subsystems that correspond to blocks.
Lesson Plan
Learning Objectives
After using this MicroSim, students will be able to:
- Partition a matrix into blocks of specified dimensions
- Write block matrix notation for a given partition
- Identify valid block decompositions for matrix operations
- Explain how block structure enables efficient computation
Exploration Activity (5 minutes)
- Default Partition: Observe the symmetric 4×4 / 4×4 split
- Drag Partitions: Move handles to create different block sizes
- Try Presets: Compare row partition vs column partition
- Check Dimensions: Verify that block dimensions sum to 8
Discussion Questions
- What happens if you partition a matrix for block multiplication but the inner dimensions don't match?
- When would you choose row partition vs 2×2 blocks?
- How does block structure relate to parallel computing?
References
- Chapter 2: Matrices and Matrix Operations - Block matrices in context
- Matrix Computations - Golub and Van Loan (Chapter 1)