Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Decompose a matrix into a comprehensive set of smaller matrices
ResourceFunction["BlockSubmatrices"][data,{m,n}] returns a List of associations that decompose data into a complete covering set of submatrices whose elements are partitioned into non-overlapping m×n blocks. |
| "BlockData" | elements of the block submatrix |
| "Offset" | location of the submatrix within initial data |
| "MatrixDimensions" | dimensions of initial data |
| "SubmatrixDimensions" | flat dimensions of the submatrix |
| "Cyclic" | {True,True} | determines cyclic or terminal boundary conditions for row and columns |
| Method | "MinimalCompletion" | specifies how to achieve a complete cover of all possible m×n blocks |
List all 2×2 blocks of a multiplication table:
| In[1]:= |
| Out[1]= | ![]() |
Check the exact covering property against "Atomize" method:
| In[2]:= | ![]() |
| Out[2]= |
Check completeness and inexactness of the "Lazy" method:
| In[3]:= | ![]() |
| Out[3]= |
Display a partitioning in graphical form:
| In[4]:= | ![]() |
| Out[4]= | ![]() |
Compare with terminal (non-cyclic) boundary conditions:
| In[5]:= | ![]() |
| Out[5]= | ![]() |
It is possible to reconstruct input matrix from any output data set:
| In[6]:= | ![]() |
| In[7]:= | ![]() |
| In[8]:= | ![]() |
| Out[8]= |
This work is licensed under a Creative Commons Attribution 4.0 International License