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