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