Join

The Human Analysis Lab looks for people with strong very mathematical and programming skills to work on problems at the intersection of computer vision, machine learning, biometrics and computer graphics. If you think you may be interested, please get in touch with a solution to the following problem.

## Problem Description

Consider a matrix $\mathbf{A}$ of size $\mathbb{R}^{nd\times nd}$, where each non-overlapping $d \times d$ block of the matrix, $\mathbf{D}_{ij}$, is a diagonal matrix. So the matrix consists of $n^2$ such blocks. An example of such a matrix is shown below:

Construct an efficient data structure to represent such matrices and devise algorithms to perform matrix operations, such as matrix multiplications and matrix inverse, on the data structure you designed. Provide a technical write-up of your solution along with associated code implementing your solution.